![]() |
Boost-Commit : |
From: dgregor_at_[hidden]
Date: 2008-07-17 16:26:46
Author: dgregor
Date: 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
New Revision: 47515
URL: http://svn.boost.org/trac/boost/changeset/47515
Log:
Merge changes from the release branch
Added:
branches/CMake/release/boost/archive/detail/polymorphic_iarchive_route.hpp
- copied unchanged from r47510, /branches/release/boost/archive/detail/polymorphic_iarchive_route.hpp
branches/CMake/release/boost/archive/detail/polymorphic_oarchive_route.hpp
- copied unchanged from r47510, /branches/release/boost/archive/detail/polymorphic_oarchive_route.hpp
branches/CMake/release/boost/archive/xml_archive_exception.hpp
- copied unchanged from r47510, /branches/release/boost/archive/xml_archive_exception.hpp
branches/CMake/release/boost/config/warning_disable.hpp
- copied unchanged from r47510, /branches/release/boost/config/warning_disable.hpp
branches/CMake/release/boost/detail/lightweight_thread.hpp
- copied unchanged from r47510, /branches/release/boost/detail/lightweight_thread.hpp
branches/CMake/release/boost/detail/sp_convertible.hpp
- copied unchanged from r47510, /branches/release/boost/detail/sp_convertible.hpp
branches/CMake/release/boost/detail/sp_counted_base_spin.hpp
- copied unchanged from r47510, /branches/release/boost/detail/sp_counted_base_spin.hpp
branches/CMake/release/boost/detail/spinlock.hpp
- copied unchanged from r47510, /branches/release/boost/detail/spinlock.hpp
branches/CMake/release/boost/detail/spinlock_gcc_arm.hpp
- copied unchanged from r47510, /branches/release/boost/detail/spinlock_gcc_arm.hpp
branches/CMake/release/boost/detail/spinlock_nt.hpp
- copied unchanged from r47510, /branches/release/boost/detail/spinlock_nt.hpp
branches/CMake/release/boost/detail/spinlock_pool.hpp
- copied unchanged from r47510, /branches/release/boost/detail/spinlock_pool.hpp
branches/CMake/release/boost/detail/spinlock_pt.hpp
- copied unchanged from r47510, /branches/release/boost/detail/spinlock_pt.hpp
branches/CMake/release/boost/detail/spinlock_sync.hpp
- copied unchanged from r47510, /branches/release/boost/detail/spinlock_sync.hpp
branches/CMake/release/boost/detail/spinlock_w32.hpp
- copied unchanged from r47510, /branches/release/boost/detail/spinlock_w32.hpp
branches/CMake/release/boost/detail/yield_k.hpp
- copied unchanged from r47510, /branches/release/boost/detail/yield_k.hpp
branches/CMake/release/boost/make_shared.hpp
- copied unchanged from r47510, /branches/release/boost/make_shared.hpp
branches/CMake/release/boost/math/distributions/detail/generic_mode.hpp
- copied unchanged from r47510, /branches/release/boost/math/distributions/detail/generic_mode.hpp
branches/CMake/release/boost/math/distributions/detail/generic_quantile.hpp
- copied unchanged from r47510, /branches/release/boost/math/distributions/detail/generic_quantile.hpp
branches/CMake/release/boost/math/distributions/non_central_beta.hpp
- copied unchanged from r47510, /branches/release/boost/math/distributions/non_central_beta.hpp
branches/CMake/release/boost/math/distributions/non_central_chi_squared.hpp
- copied unchanged from r47510, /branches/release/boost/math/distributions/non_central_chi_squared.hpp
branches/CMake/release/boost/math/distributions/non_central_f.hpp
- copied unchanged from r47510, /branches/release/boost/math/distributions/non_central_f.hpp
branches/CMake/release/boost/math/distributions/non_central_t.hpp
- copied unchanged from r47510, /branches/release/boost/math/distributions/non_central_t.hpp
branches/CMake/release/boost/math/special_functions/detail/lanczos_sse2.hpp
- copied unchanged from r47510, /branches/release/boost/math/special_functions/detail/lanczos_sse2.hpp
branches/CMake/release/boost/math/special_functions/detail/round_fwd.hpp
- copied unchanged from r47510, /branches/release/boost/math/special_functions/detail/round_fwd.hpp
branches/CMake/release/boost/math/special_functions/expint.hpp
- copied unchanged from r47510, /branches/release/boost/math/special_functions/expint.hpp
branches/CMake/release/boost/math/special_functions/modf.hpp
- copied unchanged from r47510, /branches/release/boost/math/special_functions/modf.hpp
branches/CMake/release/boost/math/special_functions/next.hpp
- copied unchanged from r47510, /branches/release/boost/math/special_functions/next.hpp
branches/CMake/release/boost/math/special_functions/pow.hpp
- copied unchanged from r47510, /branches/release/boost/math/special_functions/pow.hpp
branches/CMake/release/boost/math/special_functions/round.hpp
- copied unchanged from r47510, /branches/release/boost/math/special_functions/round.hpp
branches/CMake/release/boost/math/special_functions/trunc.hpp
- copied unchanged from r47510, /branches/release/boost/math/special_functions/trunc.hpp
branches/CMake/release/boost/math/special_functions/zeta.hpp
- copied unchanged from r47510, /branches/release/boost/math/special_functions/zeta.hpp
branches/CMake/release/boost/math/tr1.hpp
- copied unchanged from r47510, /branches/release/boost/math/tr1.hpp
branches/CMake/release/boost/memory_order.hpp
- copied unchanged from r47510, /branches/release/boost/memory_order.hpp
branches/CMake/release/boost/mpi/detail/binary_buffer_iprimitive.hpp
- copied unchanged from r47510, /branches/release/boost/mpi/detail/binary_buffer_iprimitive.hpp
branches/CMake/release/boost/mpi/detail/binary_buffer_oprimitive.hpp
- copied unchanged from r47510, /branches/release/boost/mpi/detail/binary_buffer_oprimitive.hpp
branches/CMake/release/boost/serialization/assume_abstract.hpp
- copied unchanged from r47510, /branches/release/boost/serialization/assume_abstract.hpp
branches/CMake/release/boost/serialization/factory.hpp
- copied unchanged from r47510, /branches/release/boost/serialization/factory.hpp
branches/CMake/release/boost/serialization/singleton.hpp
- copied unchanged from r47510, /branches/release/boost/serialization/singleton.hpp
branches/CMake/release/boost/serialization/vector_135.hpp
- copied unchanged from r47510, /branches/release/boost/serialization/vector_135.hpp
branches/CMake/release/boost/spirit/home/karma/auxiliary/eol.hpp
- copied unchanged from r47510, /branches/release/boost/spirit/home/karma/auxiliary/eol.hpp
branches/CMake/release/boost/spirit/home/karma/nonterminal/grammar_fwd.hpp
- copied unchanged from r47510, /branches/release/boost/spirit/home/karma/nonterminal/grammar_fwd.hpp
branches/CMake/release/boost/spirit/home/qi/nonterminal/grammar_fwd.hpp
- copied unchanged from r47510, /branches/release/boost/spirit/home/qi/nonterminal/grammar_fwd.hpp
branches/CMake/release/boost/spirit/home/support/detail/lexer/conversion/
- copied from r47510, /branches/release/boost/spirit/home/support/detail/lexer/conversion/
branches/CMake/release/boost/spirit/home/support/detail/lexer/conversion/char_state_machine.hpp
- copied unchanged from r47510, /branches/release/boost/spirit/home/support/detail/lexer/conversion/char_state_machine.hpp
branches/CMake/release/boost/spirit/home/support/detail/lexer/file_input.hpp
- copied unchanged from r47510, /branches/release/boost/spirit/home/support/detail/lexer/file_input.hpp
branches/CMake/release/boost/spirit/home/support/detail/lexer/input.hpp
- copied unchanged from r47510, /branches/release/boost/spirit/home/support/detail/lexer/input.hpp
branches/CMake/release/boost/statechart/detail/reaction_dispatcher.hpp
- copied unchanged from r47510, /branches/release/boost/statechart/detail/reaction_dispatcher.hpp
branches/CMake/release/libs/asio/doc/index.xml
- copied unchanged from r47510, /branches/release/libs/asio/doc/index.xml
branches/CMake/release/libs/asio/doc/overview/
- copied from r47510, /branches/release/libs/asio/doc/overview/
branches/CMake/release/libs/asio/doc/overview.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview.qbk
branches/CMake/release/libs/asio/doc/overview/allocation.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/allocation.qbk
branches/CMake/release/libs/asio/doc/overview/async.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/async.qbk
branches/CMake/release/libs/asio/doc/overview/bsd_sockets.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/bsd_sockets.qbk
branches/CMake/release/libs/asio/doc/overview/buffers.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/buffers.qbk
branches/CMake/release/libs/asio/doc/overview/implementation.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/implementation.qbk
branches/CMake/release/libs/asio/doc/overview/iostreams.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/iostreams.qbk
branches/CMake/release/libs/asio/doc/overview/line_based.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/line_based.qbk
branches/CMake/release/libs/asio/doc/overview/posix.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/posix.qbk
branches/CMake/release/libs/asio/doc/overview/proactor.dot
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/proactor.dot
branches/CMake/release/libs/asio/doc/overview/proactor.png
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/proactor.png
branches/CMake/release/libs/asio/doc/overview/rationale.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/rationale.qbk
branches/CMake/release/libs/asio/doc/overview/reactor.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/reactor.qbk
branches/CMake/release/libs/asio/doc/overview/serial_ports.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/serial_ports.qbk
branches/CMake/release/libs/asio/doc/overview/ssl.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/ssl.qbk
branches/CMake/release/libs/asio/doc/overview/strands.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/strands.qbk
branches/CMake/release/libs/asio/doc/overview/streams.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/streams.qbk
branches/CMake/release/libs/asio/doc/overview/threads.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/threads.qbk
branches/CMake/release/libs/asio/doc/overview/timers.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/timers.qbk
branches/CMake/release/libs/asio/doc/overview/windows.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/overview/windows.qbk
branches/CMake/release/libs/asio/doc/requirements/AsyncRandomAccessReadDevice.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/requirements/AsyncRandomAccessReadDevice.qbk
branches/CMake/release/libs/asio/doc/requirements/AsyncRandomAccessWriteDevice.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/requirements/AsyncRandomAccessWriteDevice.qbk
branches/CMake/release/libs/asio/doc/requirements/GettableSerialPortOption.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/requirements/GettableSerialPortOption.qbk
branches/CMake/release/libs/asio/doc/requirements/RandomAccessHandleService.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/requirements/RandomAccessHandleService.qbk
branches/CMake/release/libs/asio/doc/requirements/RawSocketService.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/requirements/RawSocketService.qbk
branches/CMake/release/libs/asio/doc/requirements/SerialPortService.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/requirements/SerialPortService.qbk
branches/CMake/release/libs/asio/doc/requirements/SettableSerialPortOption.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/requirements/SettableSerialPortOption.qbk
branches/CMake/release/libs/asio/doc/requirements/SyncRandomAccessReadDevice.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/requirements/SyncRandomAccessReadDevice.qbk
branches/CMake/release/libs/asio/doc/requirements/SyncRandomAccessWriteDevice.qbk
- copied unchanged from r47510, /branches/release/libs/asio/doc/requirements/SyncRandomAccessWriteDevice.qbk
branches/CMake/release/libs/asio/example/local/
- copied from r47510, /branches/release/libs/asio/example/local/
branches/CMake/release/libs/asio/example/local/Jamfile
- copied unchanged from r47510, /branches/release/libs/asio/example/local/Jamfile
branches/CMake/release/libs/asio/example/local/Jamfile.v2
- copied unchanged from r47510, /branches/release/libs/asio/example/local/Jamfile.v2
branches/CMake/release/libs/asio/example/local/connect_pair.cpp
- copied unchanged from r47510, /branches/release/libs/asio/example/local/connect_pair.cpp
branches/CMake/release/libs/asio/example/local/stream_client.cpp
- copied unchanged from r47510, /branches/release/libs/asio/example/local/stream_client.cpp
branches/CMake/release/libs/asio/example/local/stream_server.cpp
- copied unchanged from r47510, /branches/release/libs/asio/example/local/stream_server.cpp
branches/CMake/release/libs/config/test/all/
- copied from r47510, /branches/release/libs/config/test/all/
branches/CMake/release/libs/config/test/all/Jamfile.v2
- copied unchanged from r47510, /branches/release/libs/config/test/all/Jamfile.v2
branches/CMake/release/libs/config/test/all/options_v2.jam
- copied unchanged from r47510, /branches/release/libs/config/test/all/options_v2.jam
branches/CMake/release/libs/config/test/boost_no_adl_barrier.ipp
- copied unchanged from r47510, /branches/release/libs/config/test/boost_no_adl_barrier.ipp
branches/CMake/release/libs/config/test/boost_no_part_spec_def_args.ipp
- copied unchanged from r47510, /branches/release/libs/config/test/boost_no_part_spec_def_args.ipp
branches/CMake/release/libs/config/test/boost_no_template_streams.ipp
- copied unchanged from r47510, /branches/release/libs/config/test/boost_no_template_streams.ipp
branches/CMake/release/libs/config/test/no_adl_barrier_fail.cpp
- copied unchanged from r47510, /branches/release/libs/config/test/no_adl_barrier_fail.cpp
branches/CMake/release/libs/config/test/no_adl_barrier_pass.cpp
- copied unchanged from r47510, /branches/release/libs/config/test/no_adl_barrier_pass.cpp
branches/CMake/release/libs/config/test/no_part_spec_def_args_fail.cpp
- copied unchanged from r47510, /branches/release/libs/config/test/no_part_spec_def_args_fail.cpp
branches/CMake/release/libs/config/test/no_part_spec_def_args_pass.cpp
- copied unchanged from r47510, /branches/release/libs/config/test/no_part_spec_def_args_pass.cpp
branches/CMake/release/libs/config/test/no_template_streams_fail.cpp
- copied unchanged from r47510, /branches/release/libs/config/test/no_template_streams_fail.cpp
branches/CMake/release/libs/config/test/no_template_streams_pass.cpp
- copied unchanged from r47510, /branches/release/libs/config/test/no_template_streams_pass.cpp
branches/CMake/release/libs/filesystem/test/msvc/
- copied from r47510, /branches/release/libs/filesystem/test/msvc/
branches/CMake/release/libs/filesystem/test/msvc/boost_filesystem.sln
- copied unchanged from r47510, /branches/release/libs/filesystem/test/msvc/boost_filesystem.sln
branches/CMake/release/libs/filesystem/test/msvc/common.vsprops
- copied unchanged from r47510, /branches/release/libs/filesystem/test/msvc/common.vsprops
branches/CMake/release/libs/filesystem/test/msvc/convenience_test/
- copied from r47510, /branches/release/libs/filesystem/test/msvc/convenience_test/
branches/CMake/release/libs/filesystem/test/msvc/convenience_test/convenience_test.vcproj
- copied unchanged from r47510, /branches/release/libs/filesystem/test/msvc/convenience_test/convenience_test.vcproj
branches/CMake/release/libs/filesystem/test/msvc/filesystem_dll/
- copied from r47510, /branches/release/libs/filesystem/test/msvc/filesystem_dll/
branches/CMake/release/libs/filesystem/test/msvc/filesystem_dll/filesystem_dll.vcproj
- copied unchanged from r47510, /branches/release/libs/filesystem/test/msvc/filesystem_dll/filesystem_dll.vcproj
branches/CMake/release/libs/filesystem/test/msvc/fstream_test/
- copied from r47510, /branches/release/libs/filesystem/test/msvc/fstream_test/
branches/CMake/release/libs/filesystem/test/msvc/fstream_test/fstream_test.vcproj
- copied unchanged from r47510, /branches/release/libs/filesystem/test/msvc/fstream_test/fstream_test.vcproj
branches/CMake/release/libs/filesystem/test/msvc/large_file_support_test/
- copied from r47510, /branches/release/libs/filesystem/test/msvc/large_file_support_test/
branches/CMake/release/libs/filesystem/test/msvc/large_file_support_test/large_file_support_test.vcproj
- copied unchanged from r47510, /branches/release/libs/filesystem/test/msvc/large_file_support_test/large_file_support_test.vcproj
branches/CMake/release/libs/filesystem/test/msvc/mbcopy/
- copied from r47510, /branches/release/libs/filesystem/test/msvc/mbcopy/
branches/CMake/release/libs/filesystem/test/msvc/mbcopy/mbcopy.vcproj
- copied unchanged from r47510, /branches/release/libs/filesystem/test/msvc/mbcopy/mbcopy.vcproj
branches/CMake/release/libs/filesystem/test/msvc/mbpath/
- copied from r47510, /branches/release/libs/filesystem/test/msvc/mbpath/
branches/CMake/release/libs/filesystem/test/msvc/mbpath/mbpath.vcproj
- copied unchanged from r47510, /branches/release/libs/filesystem/test/msvc/mbpath/mbpath.vcproj
branches/CMake/release/libs/filesystem/test/msvc/operations_test/
- copied from r47510, /branches/release/libs/filesystem/test/msvc/operations_test/
branches/CMake/release/libs/filesystem/test/msvc/operations_test/operations_test.vcproj
- copied unchanged from r47510, /branches/release/libs/filesystem/test/msvc/operations_test/operations_test.vcproj
branches/CMake/release/libs/filesystem/test/msvc/path_test/
- copied from r47510, /branches/release/libs/filesystem/test/msvc/path_test/
branches/CMake/release/libs/filesystem/test/msvc/path_test/path_test.vcproj
- copied unchanged from r47510, /branches/release/libs/filesystem/test/msvc/path_test/path_test.vcproj
branches/CMake/release/libs/filesystem/test/msvc/simple_ls/
- copied from r47510, /branches/release/libs/filesystem/test/msvc/simple_ls/
branches/CMake/release/libs/filesystem/test/msvc/simple_ls/simple_ls.vcproj
- copied unchanged from r47510, /branches/release/libs/filesystem/test/msvc/simple_ls/simple_ls.vcproj
branches/CMake/release/libs/filesystem/test/msvc/system_dll/
- copied from r47510, /branches/release/libs/filesystem/test/msvc/system_dll/
branches/CMake/release/libs/filesystem/test/msvc/system_dll/system_dll.vcproj
- copied unchanged from r47510, /branches/release/libs/filesystem/test/msvc/system_dll/system_dll.vcproj
branches/CMake/release/libs/filesystem/test/msvc/wide_test/
- copied from r47510, /branches/release/libs/filesystem/test/msvc/wide_test/
branches/CMake/release/libs/filesystem/test/msvc/wide_test/wide_test.vcproj
- copied unchanged from r47510, /branches/release/libs/filesystem/test/msvc/wide_test/wide_test.vcproj
branches/CMake/release/libs/gil/doc/insert_boost_licence.sh
- copied unchanged from r47510, /branches/release/libs/gil/doc/insert_boost_licence.sh
branches/CMake/release/libs/gil/doc/shorten_file_name.sh
- copied unchanged from r47510, /branches/release/libs/gil/doc/shorten_file_name.sh
branches/CMake/release/libs/math/build/
- copied from r47510, /branches/release/libs/math/build/
branches/CMake/release/libs/math/build/Jamfile.v2
- copied unchanged from r47510, /branches/release/libs/math/build/Jamfile.v2
branches/CMake/release/libs/math/build/has_long_double_support.cpp
- copied unchanged from r47510, /branches/release/libs/math/build/has_long_double_support.cpp
branches/CMake/release/libs/math/doc/sf_and_dist/c99_ref.qbk
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/c99_ref.qbk
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/nc_beta.qbk
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/distributions/nc_beta.qbk
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/nc_chi_squared.qbk
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/distributions/nc_chi_squared.qbk
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/nc_chi_squared_example.qbk
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/distributions/nc_chi_squared_example.qbk
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/nc_f.qbk
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/distributions/nc_f.qbk
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/nc_t.qbk
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/distributions/nc_t.qbk
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_i_1.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_i_1.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_i_1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_i_1.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_i_1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_i_1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_i_2.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_i_2.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_i_2.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_i_2.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_i_2.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_i_2.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_i_3.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_i_3.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_i_3.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_i_3.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_i_3.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_i_3.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_i_4.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_i_4.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_i_4.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_i_4.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_i_4.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_i_4.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_n_1.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_n_1.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_n_1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_n_1.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_n_1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_n_1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_n_2.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_n_2.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_n_2.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_n_2.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_n_2.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_n_2.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_n_3.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_n_3.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_n_3.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_n_3.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_n_3.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_n_3.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_n_4.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_n_4.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_n_4.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_n_4.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_n_4.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_n_4.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_n_5.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_n_5.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_n_5.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_n_5.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/expint_n_5.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/expint_n_5.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/generate.sh
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/generate.sh
branches/CMake/release/libs/math/doc/sf_and_dist/equations/ibeta9.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/ibeta9.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/legendre_1b.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/legendre_1b.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/legendre_1b.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/legendre_1b.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/legendre_1b.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/legendre_1b.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref1.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref1.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref1.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref2.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref2.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref2.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref2.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref2.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref2.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref3.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref3.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref3.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref3.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref3.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref3.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref4.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref4.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref4.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref4.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref4.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_beta_ref4.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref1.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref1.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref1.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref2.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref2.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref2.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref2.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref2.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref2.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref3.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref3.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref3.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref3.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref3.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref3.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref4.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref4.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref4.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref4.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref4.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref4.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref5.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref5.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref5.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref5.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref5.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref5.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref6.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref6.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref6.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref6.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref6.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref6.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_f_ref1.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_f_ref1.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_f_ref1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_f_ref1.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_f_ref1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_f_ref1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_f_ref2.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_f_ref2.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_f_ref2.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_f_ref2.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_f_ref2.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_f_ref2.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_t_ref1.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_t_ref1.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_t_ref1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_t_ref1.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_t_ref1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_t_ref1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_t_ref2.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_t_ref2.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_t_ref2.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_t_ref2.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_t_ref2.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_t_ref2.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_t_ref3.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_t_ref3.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_t_ref3.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_t_ref3.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_t_ref3.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_t_ref3.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_t_ref4.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_t_ref4.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_t_ref4.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_t_ref4.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_t_ref4.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_t_ref4.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_t_ref5.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_t_ref5.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_t_ref5.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_t_ref5.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/nc_t_ref5.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/nc_t_ref5.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/spherical_3.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/spherical_3.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/spherical_3.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/spherical_3.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/spherical_3.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/spherical_3.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/zeta1.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/zeta1.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/zeta1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/zeta1.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/zeta1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/zeta1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/zeta2.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/zeta2.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/zeta2.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/zeta2.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/zeta2.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/zeta2.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/zeta3.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/zeta3.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/zeta3.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/zeta3.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/zeta3.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/zeta3.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/zeta4.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/zeta4.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/zeta4.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/zeta4.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/zeta4.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/zeta4.svg
branches/CMake/release/libs/math/doc/sf_and_dist/equations/zeta5.mml
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/zeta5.mml
branches/CMake/release/libs/math/doc/sf_and_dist/equations/zeta5.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/zeta5.png
branches/CMake/release/libs/math/doc/sf_and_dist/equations/zeta5.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/equations/zeta5.svg
branches/CMake/release/libs/math/doc/sf_and_dist/expint.qbk
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/expint.qbk
branches/CMake/release/libs/math/doc/sf_and_dist/float_next.qbk
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/float_next.qbk
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/acosh.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/acosh.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/acosh.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/acosh.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/asinh.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/asinh.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/asinh.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/asinh.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/atanh.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/atanh.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/atanh.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/atanh.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/bernoulli_cdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/bernoulli_cdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/bernoulli_pdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/bernoulli_pdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/beta.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/beta.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/beta_pdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/beta_pdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/binomial_pdf_1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/binomial_pdf_1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/binomial_pdf_2.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/binomial_pdf_2.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/cauchy_pdf1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/cauchy_pdf1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/cauchy_pdf1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/cauchy_pdf1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/cauchy_pdf2.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/cauchy_pdf2.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/cauchy_pdf2.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/cauchy_pdf2.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/cbrt.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/cbrt.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/cbrt.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/cbrt.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/chi_squared_pdf.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/chi_squared_pdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/chi_squared_pdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/chi_squared_pdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/cyl_bessel_i.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/cyl_bessel_i.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/cyl_bessel_i.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/cyl_bessel_i.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/cyl_bessel_j.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/cyl_bessel_j.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/cyl_bessel_j.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/cyl_bessel_j.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/cyl_bessel_k.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/cyl_bessel_k.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/cyl_bessel_k.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/cyl_bessel_k.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/cyl_neumann.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/cyl_neumann.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/cyl_neumann.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/cyl_neumann.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/digamma.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/digamma.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/dist_graphs.cpp
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/dist_graphs.cpp
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/ellint_1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/ellint_1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/ellint_2.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/ellint_2.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/ellint_3.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/ellint_3.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/ellint_carlson.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/ellint_carlson.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/ellint_carlson.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/ellint_carlson.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/erf.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/erf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/erf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/erf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/erf_inv.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/erf_inv.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/erfc.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/erfc.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/erfc.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/erfc.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/erfc_inv.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/erfc_inv.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/expint2.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/expint2.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/expint2.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/expint2.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/expint_i.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/expint_i.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/expint_i.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/expint_i.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/expm1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/expm1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/expm1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/expm1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/exponential_pdf.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/exponential_pdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/exponential_pdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/exponential_pdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf2.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf2.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf2.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf2.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/fisher_f_pdf.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/fisher_f_pdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/fisher_f_pdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/fisher_f_pdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/gamma1_pdf.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/gamma1_pdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/gamma1_pdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/gamma1_pdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/gamma2_pdf.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/gamma2_pdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/gamma2_pdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/gamma2_pdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/gamma_p.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/gamma_p.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/gamma_q.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/gamma_q.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/generate.sh
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/generate.sh
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/hermite.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/hermite.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/ibeta.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/ibeta.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/laguerre.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/laguerre.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/legendre_p.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/legendre_p.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/legendre_p.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/legendre_p.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/legendre_q.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/legendre_q.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/lgamma.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/lgamma.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/log1p.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/log1p.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/log1p.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/log1p.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/lognormal_pdf1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/lognormal_pdf1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/lognormal_pdf1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/lognormal_pdf1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/lognormal_pdf2.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/lognormal_pdf2.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/lognormal_pdf2.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/lognormal_pdf2.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/nc_beta_pdf.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/nc_beta_pdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/nc_beta_pdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/nc_beta_pdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/nc_f_pdf.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/nc_f_pdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/nc_f_pdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/nc_f_pdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/nc_t_pdf.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/nc_t_pdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/nc_t_pdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/nc_t_pdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/nccs_pdf.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/nccs_pdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/nccs_pdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/nccs_pdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_2.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_2.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_2.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_2.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/normal_pdf.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/normal_pdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/normal_pdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/normal_pdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/pareto_pdf1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/pareto_pdf1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/pareto_pdf1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/pareto_pdf1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/pareto_pdf2.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/pareto_pdf2.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/pareto_pdf2.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/pareto_pdf2.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/poisson_pdf_1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/poisson_pdf_1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/poisson_pdf_1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/poisson_pdf_1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/powm1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/powm1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/powm1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/powm1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/rayleigh_cdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/rayleigh_cdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/rayleigh_pdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/rayleigh_pdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/sf_graphs.cpp
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/sf_graphs.cpp
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/sinc_pi.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/sinc_pi.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/sinc_pi.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/sinc_pi.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/sinhc_pi.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/sinhc_pi.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/sinhc_pi.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/sinhc_pi.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/sph_bessel.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/sph_bessel.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/sph_bessel.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/sph_bessel.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/sph_neumann.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/sph_neumann.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/sph_neumann.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/sph_neumann.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/sqrt1pm1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/sqrt1pm1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/sqrt1pm1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/sqrt1pm1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/students_t_pdf.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/students_t_pdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/students_t_pdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/students_t_pdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/tgamma.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/tgamma.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/tgamma.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/tgamma.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/tgamma_delta_ratio.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/tgamma_delta_ratio.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/tgamma_delta_ratio.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/tgamma_delta_ratio.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/triangular_cdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/triangular_cdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/triangular_pdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/triangular_pdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/uniform_cdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/uniform_cdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/uniform_pdf.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/uniform_pdf.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/weibull_pdf1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/weibull_pdf1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/weibull_pdf1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/weibull_pdf1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/weibull_pdf2.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/weibull_pdf2.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/weibull_pdf2.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/weibull_pdf2.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/zeta1.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/zeta1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/zeta1.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/zeta1.svg
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/zeta2.png
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/zeta2.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/zeta2.svg
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/graphs/zeta2.svg
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_beta_dist.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_beta_dist.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_f_dist.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_f_dist.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_t_dist.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_t_dist.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg/
- copied from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg/
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg/nccs_power_eg.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg/nccs_power_eg.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/compilers_overview.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/compilers_overview.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/tr1.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/tr1.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/
- copied from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_i.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_i.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_n.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_n.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/extern_c/
- copied from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/extern_c/
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/extern_c.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/extern_c.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/extern_c/c99.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/extern_c/c99.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/extern_c/tr1.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/extern_c/tr1.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/extern_c/tr1_ref.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/extern_c/tr1_ref.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/next_float/
- copied from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/next_float/
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/next_float.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/next_float.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/next_float/float_advance.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/next_float/float_advance.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/next_float/float_distance.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/next_float/float_distance.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/next_float/float_next.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/next_float/float_next.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/next_float/float_prior.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/next_float/float_prior.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/next_float/nextafter.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/next_float/nextafter.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/ct_pow.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/ct_pow.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/
- copied from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/modf.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/modf.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/round.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/round.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/trunc.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/trunc.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas/
- copied from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas/
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas.html
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas/zeta.html
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas/zeta.html
branches/CMake/release/libs/math/doc/sf_and_dist/pow.qbk
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/pow.qbk
branches/CMake/release/libs/math/doc/sf_and_dist/rounding_func.qbk
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/rounding_func.qbk
branches/CMake/release/libs/math/doc/sf_and_dist/tr1.qbk
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/tr1.qbk
branches/CMake/release/libs/math/doc/sf_and_dist/tr1_ref.qbk
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/tr1_ref.qbk
branches/CMake/release/libs/math/doc/sf_and_dist/zeta.qbk
- copied unchanged from r47510, /branches/release/libs/math/doc/sf_and_dist/zeta.qbk
branches/CMake/release/libs/math/example/nc_chi_sq_example.cpp
- copied unchanged from r47510, /branches/release/libs/math/example/nc_chi_sq_example.cpp
branches/CMake/release/libs/math/src/
- copied from r47510, /branches/release/libs/math/src/
branches/CMake/release/libs/math/src/tr1/
- copied from r47510, /branches/release/libs/math/src/tr1/
branches/CMake/release/libs/math/src/tr1/acosh.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/acosh.cpp
branches/CMake/release/libs/math/src/tr1/acoshf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/acoshf.cpp
branches/CMake/release/libs/math/src/tr1/acoshl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/acoshl.cpp
branches/CMake/release/libs/math/src/tr1/asinh.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/asinh.cpp
branches/CMake/release/libs/math/src/tr1/asinhf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/asinhf.cpp
branches/CMake/release/libs/math/src/tr1/asinhl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/asinhl.cpp
branches/CMake/release/libs/math/src/tr1/assoc_laguerre.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/assoc_laguerre.cpp
branches/CMake/release/libs/math/src/tr1/assoc_laguerref.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/assoc_laguerref.cpp
branches/CMake/release/libs/math/src/tr1/assoc_laguerrel.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/assoc_laguerrel.cpp
branches/CMake/release/libs/math/src/tr1/assoc_legendre.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/assoc_legendre.cpp
branches/CMake/release/libs/math/src/tr1/assoc_legendref.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/assoc_legendref.cpp
branches/CMake/release/libs/math/src/tr1/assoc_legendrel.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/assoc_legendrel.cpp
branches/CMake/release/libs/math/src/tr1/atanh.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/atanh.cpp
branches/CMake/release/libs/math/src/tr1/atanhf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/atanhf.cpp
branches/CMake/release/libs/math/src/tr1/atanhl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/atanhl.cpp
branches/CMake/release/libs/math/src/tr1/beta.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/beta.cpp
branches/CMake/release/libs/math/src/tr1/betaf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/betaf.cpp
branches/CMake/release/libs/math/src/tr1/betal.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/betal.cpp
branches/CMake/release/libs/math/src/tr1/c_policy.hpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/c_policy.hpp
branches/CMake/release/libs/math/src/tr1/cbrt.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/cbrt.cpp
branches/CMake/release/libs/math/src/tr1/cbrtf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/cbrtf.cpp
branches/CMake/release/libs/math/src/tr1/cbrtl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/cbrtl.cpp
branches/CMake/release/libs/math/src/tr1/comp_ellint_1.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/comp_ellint_1.cpp
branches/CMake/release/libs/math/src/tr1/comp_ellint_1f.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/comp_ellint_1f.cpp
branches/CMake/release/libs/math/src/tr1/comp_ellint_1l.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/comp_ellint_1l.cpp
branches/CMake/release/libs/math/src/tr1/comp_ellint_2.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/comp_ellint_2.cpp
branches/CMake/release/libs/math/src/tr1/comp_ellint_2f.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/comp_ellint_2f.cpp
branches/CMake/release/libs/math/src/tr1/comp_ellint_2l.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/comp_ellint_2l.cpp
branches/CMake/release/libs/math/src/tr1/comp_ellint_3.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/comp_ellint_3.cpp
branches/CMake/release/libs/math/src/tr1/comp_ellint_3f.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/comp_ellint_3f.cpp
branches/CMake/release/libs/math/src/tr1/comp_ellint_3l.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/comp_ellint_3l.cpp
branches/CMake/release/libs/math/src/tr1/copysign.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/copysign.cpp
branches/CMake/release/libs/math/src/tr1/copysignf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/copysignf.cpp
branches/CMake/release/libs/math/src/tr1/copysignl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/copysignl.cpp
branches/CMake/release/libs/math/src/tr1/cyl_bessel_i.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/cyl_bessel_i.cpp
branches/CMake/release/libs/math/src/tr1/cyl_bessel_if.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/cyl_bessel_if.cpp
branches/CMake/release/libs/math/src/tr1/cyl_bessel_il.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/cyl_bessel_il.cpp
branches/CMake/release/libs/math/src/tr1/cyl_bessel_j.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/cyl_bessel_j.cpp
branches/CMake/release/libs/math/src/tr1/cyl_bessel_jf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/cyl_bessel_jf.cpp
branches/CMake/release/libs/math/src/tr1/cyl_bessel_jl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/cyl_bessel_jl.cpp
branches/CMake/release/libs/math/src/tr1/cyl_bessel_k.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/cyl_bessel_k.cpp
branches/CMake/release/libs/math/src/tr1/cyl_bessel_kf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/cyl_bessel_kf.cpp
branches/CMake/release/libs/math/src/tr1/cyl_bessel_kl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/cyl_bessel_kl.cpp
branches/CMake/release/libs/math/src/tr1/cyl_neumann.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/cyl_neumann.cpp
branches/CMake/release/libs/math/src/tr1/cyl_neumannf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/cyl_neumannf.cpp
branches/CMake/release/libs/math/src/tr1/cyl_neumannl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/cyl_neumannl.cpp
branches/CMake/release/libs/math/src/tr1/ellint_1.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/ellint_1.cpp
branches/CMake/release/libs/math/src/tr1/ellint_1f.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/ellint_1f.cpp
branches/CMake/release/libs/math/src/tr1/ellint_1l.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/ellint_1l.cpp
branches/CMake/release/libs/math/src/tr1/ellint_2.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/ellint_2.cpp
branches/CMake/release/libs/math/src/tr1/ellint_2f.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/ellint_2f.cpp
branches/CMake/release/libs/math/src/tr1/ellint_2l.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/ellint_2l.cpp
branches/CMake/release/libs/math/src/tr1/ellint_3.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/ellint_3.cpp
branches/CMake/release/libs/math/src/tr1/ellint_3f.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/ellint_3f.cpp
branches/CMake/release/libs/math/src/tr1/ellint_3l.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/ellint_3l.cpp
branches/CMake/release/libs/math/src/tr1/erf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/erf.cpp
branches/CMake/release/libs/math/src/tr1/erfc.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/erfc.cpp
branches/CMake/release/libs/math/src/tr1/erfcf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/erfcf.cpp
branches/CMake/release/libs/math/src/tr1/erfcl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/erfcl.cpp
branches/CMake/release/libs/math/src/tr1/erff.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/erff.cpp
branches/CMake/release/libs/math/src/tr1/erfl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/erfl.cpp
branches/CMake/release/libs/math/src/tr1/expint.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/expint.cpp
branches/CMake/release/libs/math/src/tr1/expintf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/expintf.cpp
branches/CMake/release/libs/math/src/tr1/expintl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/expintl.cpp
branches/CMake/release/libs/math/src/tr1/expm1.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/expm1.cpp
branches/CMake/release/libs/math/src/tr1/expm1f.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/expm1f.cpp
branches/CMake/release/libs/math/src/tr1/expm1l.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/expm1l.cpp
branches/CMake/release/libs/math/src/tr1/fmax.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/fmax.cpp
branches/CMake/release/libs/math/src/tr1/fmaxf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/fmaxf.cpp
branches/CMake/release/libs/math/src/tr1/fmaxl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/fmaxl.cpp
branches/CMake/release/libs/math/src/tr1/fmin.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/fmin.cpp
branches/CMake/release/libs/math/src/tr1/fminf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/fminf.cpp
branches/CMake/release/libs/math/src/tr1/fminl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/fminl.cpp
branches/CMake/release/libs/math/src/tr1/fpclassify.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/fpclassify.cpp
branches/CMake/release/libs/math/src/tr1/fpclassifyf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/fpclassifyf.cpp
branches/CMake/release/libs/math/src/tr1/fpclassifyl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/fpclassifyl.cpp
branches/CMake/release/libs/math/src/tr1/hermite.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/hermite.cpp
branches/CMake/release/libs/math/src/tr1/hermitef.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/hermitef.cpp
branches/CMake/release/libs/math/src/tr1/hermitel.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/hermitel.cpp
branches/CMake/release/libs/math/src/tr1/hypot.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/hypot.cpp
branches/CMake/release/libs/math/src/tr1/hypotf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/hypotf.cpp
branches/CMake/release/libs/math/src/tr1/hypotl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/hypotl.cpp
branches/CMake/release/libs/math/src/tr1/laguerre.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/laguerre.cpp
branches/CMake/release/libs/math/src/tr1/laguerref.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/laguerref.cpp
branches/CMake/release/libs/math/src/tr1/laguerrel.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/laguerrel.cpp
branches/CMake/release/libs/math/src/tr1/legendre.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/legendre.cpp
branches/CMake/release/libs/math/src/tr1/legendref.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/legendref.cpp
branches/CMake/release/libs/math/src/tr1/legendrel.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/legendrel.cpp
branches/CMake/release/libs/math/src/tr1/lgamma.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/lgamma.cpp
branches/CMake/release/libs/math/src/tr1/lgammaf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/lgammaf.cpp
branches/CMake/release/libs/math/src/tr1/lgammal.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/lgammal.cpp
branches/CMake/release/libs/math/src/tr1/llround.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/llround.cpp
branches/CMake/release/libs/math/src/tr1/llroundf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/llroundf.cpp
branches/CMake/release/libs/math/src/tr1/llroundl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/llroundl.cpp
branches/CMake/release/libs/math/src/tr1/log1p.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/log1p.cpp
branches/CMake/release/libs/math/src/tr1/log1pf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/log1pf.cpp
branches/CMake/release/libs/math/src/tr1/log1pl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/log1pl.cpp
branches/CMake/release/libs/math/src/tr1/lround.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/lround.cpp
branches/CMake/release/libs/math/src/tr1/lroundf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/lroundf.cpp
branches/CMake/release/libs/math/src/tr1/lroundl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/lroundl.cpp
branches/CMake/release/libs/math/src/tr1/nextafter.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/nextafter.cpp
branches/CMake/release/libs/math/src/tr1/nextafterf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/nextafterf.cpp
branches/CMake/release/libs/math/src/tr1/nextafterl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/nextafterl.cpp
branches/CMake/release/libs/math/src/tr1/nexttoward.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/nexttoward.cpp
branches/CMake/release/libs/math/src/tr1/nexttowardf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/nexttowardf.cpp
branches/CMake/release/libs/math/src/tr1/nexttowardl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/nexttowardl.cpp
branches/CMake/release/libs/math/src/tr1/riemann_zeta.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/riemann_zeta.cpp
branches/CMake/release/libs/math/src/tr1/riemann_zetaf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/riemann_zetaf.cpp
branches/CMake/release/libs/math/src/tr1/riemann_zetal.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/riemann_zetal.cpp
branches/CMake/release/libs/math/src/tr1/round.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/round.cpp
branches/CMake/release/libs/math/src/tr1/roundf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/roundf.cpp
branches/CMake/release/libs/math/src/tr1/roundl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/roundl.cpp
branches/CMake/release/libs/math/src/tr1/sph_bessel.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/sph_bessel.cpp
branches/CMake/release/libs/math/src/tr1/sph_besself.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/sph_besself.cpp
branches/CMake/release/libs/math/src/tr1/sph_bessell.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/sph_bessell.cpp
branches/CMake/release/libs/math/src/tr1/sph_legendre.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/sph_legendre.cpp
branches/CMake/release/libs/math/src/tr1/sph_legendref.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/sph_legendref.cpp
branches/CMake/release/libs/math/src/tr1/sph_legendrel.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/sph_legendrel.cpp
branches/CMake/release/libs/math/src/tr1/sph_neumann.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/sph_neumann.cpp
branches/CMake/release/libs/math/src/tr1/sph_neumannf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/sph_neumannf.cpp
branches/CMake/release/libs/math/src/tr1/sph_neumannl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/sph_neumannl.cpp
branches/CMake/release/libs/math/src/tr1/tgamma.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/tgamma.cpp
branches/CMake/release/libs/math/src/tr1/tgammaf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/tgammaf.cpp
branches/CMake/release/libs/math/src/tr1/tgammal.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/tgammal.cpp
branches/CMake/release/libs/math/src/tr1/trunc.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/trunc.cpp
branches/CMake/release/libs/math/src/tr1/truncf.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/truncf.cpp
branches/CMake/release/libs/math/src/tr1/truncl.cpp
- copied unchanged from r47510, /branches/release/libs/math/src/tr1/truncl.cpp
branches/CMake/release/libs/math/test/compile_test/dist_nc_beta_incl_test.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/compile_test/dist_nc_beta_incl_test.cpp
branches/CMake/release/libs/math/test/compile_test/dist_nc_chi_squ_incl_test.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/compile_test/dist_nc_chi_squ_incl_test.cpp
branches/CMake/release/libs/math/test/compile_test/dist_nc_f_incl_test.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/compile_test/dist_nc_f_incl_test.cpp
branches/CMake/release/libs/math/test/compile_test/dist_nc_t_incl_test.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/compile_test/dist_nc_t_incl_test.cpp
branches/CMake/release/libs/math/test/compile_test/sf_expint_incl_test.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/compile_test/sf_expint_incl_test.cpp
branches/CMake/release/libs/math/test/compile_test/sf_modf_incl_test.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/compile_test/sf_modf_incl_test.cpp
branches/CMake/release/libs/math/test/compile_test/sf_next_incl_test.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/compile_test/sf_next_incl_test.cpp
branches/CMake/release/libs/math/test/compile_test/sf_round_incl_test.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/compile_test/sf_round_incl_test.cpp
branches/CMake/release/libs/math/test/compile_test/sf_trunc_incl_test.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/compile_test/sf_trunc_incl_test.cpp
branches/CMake/release/libs/math/test/compile_test/sf_zeta_incl_test.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/compile_test/sf_zeta_incl_test.cpp
branches/CMake/release/libs/math/test/compile_test/tr1_incl_test.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/compile_test/tr1_incl_test.cpp
branches/CMake/release/libs/math/test/expint_1_data.ipp
- copied unchanged from r47510, /branches/release/libs/math/test/expint_1_data.ipp
branches/CMake/release/libs/math/test/expint_data.ipp
- copied unchanged from r47510, /branches/release/libs/math/test/expint_data.ipp
branches/CMake/release/libs/math/test/expint_small_data.ipp
- copied unchanged from r47510, /branches/release/libs/math/test/expint_small_data.ipp
branches/CMake/release/libs/math/test/expinti_data.ipp
- copied unchanged from r47510, /branches/release/libs/math/test/expinti_data.ipp
branches/CMake/release/libs/math/test/expinti_data_double.ipp
- copied unchanged from r47510, /branches/release/libs/math/test/expinti_data_double.ipp
branches/CMake/release/libs/math/test/expinti_data_long.ipp
- copied unchanged from r47510, /branches/release/libs/math/test/expinti_data_long.ipp
branches/CMake/release/libs/math/test/ncbeta.ipp
- copied unchanged from r47510, /branches/release/libs/math/test/ncbeta.ipp
branches/CMake/release/libs/math/test/ncbeta_big.ipp
- copied unchanged from r47510, /branches/release/libs/math/test/ncbeta_big.ipp
branches/CMake/release/libs/math/test/nccs.ipp
- copied unchanged from r47510, /branches/release/libs/math/test/nccs.ipp
branches/CMake/release/libs/math/test/nccs_big.ipp
- copied unchanged from r47510, /branches/release/libs/math/test/nccs_big.ipp
branches/CMake/release/libs/math/test/nct.ipp
- copied unchanged from r47510, /branches/release/libs/math/test/nct.ipp
branches/CMake/release/libs/math/test/pow_test.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/pow_test.cpp
branches/CMake/release/libs/math/test/test_expint.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/test_expint.cpp
branches/CMake/release/libs/math/test/test_expint_hooks.hpp
- copied unchanged from r47510, /branches/release/libs/math/test/test_expint_hooks.hpp
branches/CMake/release/libs/math/test/test_nc_beta.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/test_nc_beta.cpp
branches/CMake/release/libs/math/test/test_nc_chi_squared.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/test_nc_chi_squared.cpp
branches/CMake/release/libs/math/test/test_nc_f.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/test_nc_f.cpp
branches/CMake/release/libs/math/test/test_nc_t.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/test_nc_t.cpp
branches/CMake/release/libs/math/test/test_ncbeta_hooks.hpp
- copied unchanged from r47510, /branches/release/libs/math/test/test_ncbeta_hooks.hpp
branches/CMake/release/libs/math/test/test_nccs_hooks.hpp
- copied unchanged from r47510, /branches/release/libs/math/test/test_nccs_hooks.hpp
branches/CMake/release/libs/math/test/test_next.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/test_next.cpp
branches/CMake/release/libs/math/test/test_round.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/test_round.cpp
branches/CMake/release/libs/math/test/test_tr1.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/test_tr1.cpp
branches/CMake/release/libs/math/test/test_zeta.cpp
- copied unchanged from r47510, /branches/release/libs/math/test/test_zeta.cpp
branches/CMake/release/libs/math/test/test_zeta_hooks.hpp
- copied unchanged from r47510, /branches/release/libs/math/test/test_zeta_hooks.hpp
branches/CMake/release/libs/math/test/zeta_1_below_data.ipp
- copied unchanged from r47510, /branches/release/libs/math/test/zeta_1_below_data.ipp
branches/CMake/release/libs/math/test/zeta_1_up_data.ipp
- copied unchanged from r47510, /branches/release/libs/math/test/zeta_1_up_data.ipp
branches/CMake/release/libs/math/test/zeta_data.ipp
- copied unchanged from r47510, /branches/release/libs/math/test/zeta_data.ipp
branches/CMake/release/libs/math/test/zeta_neg_data.ipp
- copied unchanged from r47510, /branches/release/libs/math/test/zeta_neg_data.ipp
branches/CMake/release/libs/math/tools/expint_data.cpp
- copied unchanged from r47510, /branches/release/libs/math/tools/expint_data.cpp
branches/CMake/release/libs/math/tools/expint_i_data.cpp
- copied unchanged from r47510, /branches/release/libs/math/tools/expint_i_data.cpp
branches/CMake/release/libs/math/tools/zeta_data.cpp
- copied unchanged from r47510, /branches/release/libs/math/tools/zeta_data.cpp
branches/CMake/release/libs/mpi/src/python/py_nonblocking.cpp
- copied unchanged from r47510, /branches/release/libs/mpi/src/python/py_nonblocking.cpp
branches/CMake/release/libs/mpi/src/python/request_with_value.hpp
- copied unchanged from r47510, /branches/release/libs/mpi/src/python/request_with_value.hpp
branches/CMake/release/libs/mpi/test/python/nonblocking_test.py
- copied unchanged from r47510, /branches/release/libs/mpi/test/python/nonblocking_test.py
branches/CMake/release/libs/ptr_container/doc/comp_ptr_inserter.sh
- copied unchanged from r47510, /branches/release/libs/ptr_container/doc/comp_ptr_inserter.sh
branches/CMake/release/libs/ptr_container/doc/ptr_inserter.html
- copied unchanged from r47510, /branches/release/libs/ptr_container/doc/ptr_inserter.html
branches/CMake/release/libs/ptr_container/doc/ptr_inserter.rst
- copied unchanged from r47510, /branches/release/libs/ptr_container/doc/ptr_inserter.rst
branches/CMake/release/libs/range/doc/upgrading.html
- copied unchanged from r47510, /branches/release/libs/range/doc/upgrading.html
branches/CMake/release/libs/regex/doc/gcc-performance.html
- copied unchanged from r47510, /branches/release/libs/regex/doc/gcc-performance.html
branches/CMake/release/libs/regex/doc/vc71-performance.html
- copied unchanged from r47510, /branches/release/libs/regex/doc/vc71-performance.html
branches/CMake/release/libs/serialization/doc/new_case_studies.html
- copied unchanged from r47510, /branches/release/libs/serialization/doc/new_case_studies.html
branches/CMake/release/libs/serialization/doc/performance_status.html
- copied unchanged from r47510, /branches/release/libs/serialization/doc/performance_status.html
branches/CMake/release/libs/serialization/doc/profile1.txt
- copied unchanged from r47510, /branches/release/libs/serialization/doc/profile1.txt
branches/CMake/release/libs/serialization/doc/profile2.txt
- copied unchanged from r47510, /branches/release/libs/serialization/doc/profile2.txt
branches/CMake/release/libs/serialization/doc/profile3.txt
- copied unchanged from r47510, /branches/release/libs/serialization/doc/profile3.txt
branches/CMake/release/libs/serialization/doc/singleton.html
- copied unchanged from r47510, /branches/release/libs/serialization/doc/singleton.html
branches/CMake/release/libs/serialization/doc/todo.html
- copied unchanged from r47510, /branches/release/libs/serialization/doc/todo.html
branches/CMake/release/libs/serialization/example/Jamfile.v2
- copied unchanged from r47510, /branches/release/libs/serialization/example/Jamfile.v2
branches/CMake/release/libs/serialization/example/demo_dll.cpp
- copied unchanged from r47510, /branches/release/libs/serialization/example/demo_dll.cpp
branches/CMake/release/libs/serialization/example/demo_dll_a.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/example/demo_dll_a.hpp
branches/CMake/release/libs/serialization/example/demo_dll_a.ipp
- copied unchanged from r47510, /branches/release/libs/serialization/example/demo_dll_a.ipp
branches/CMake/release/libs/serialization/example/demo_dll_b.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/example/demo_dll_b.hpp
branches/CMake/release/libs/serialization/example/demo_dll_b.ipp
- copied unchanged from r47510, /branches/release/libs/serialization/example/demo_dll_b.ipp
branches/CMake/release/libs/serialization/example/demo_xml.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/example/demo_xml.hpp
branches/CMake/release/libs/serialization/example/polymorphic_portable_binary_iarchive.cpp
- copied unchanged from r47510, /branches/release/libs/serialization/example/polymorphic_portable_binary_iarchive.cpp
branches/CMake/release/libs/serialization/example/polymorphic_portable_binary_iarchive.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/example/polymorphic_portable_binary_iarchive.hpp
branches/CMake/release/libs/serialization/example/polymorphic_portable_binary_oarchive.cpp
- copied unchanged from r47510, /branches/release/libs/serialization/example/polymorphic_portable_binary_oarchive.cpp
branches/CMake/release/libs/serialization/example/polymorphic_portable_binary_oarchive.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/example/polymorphic_portable_binary_oarchive.hpp
branches/CMake/release/libs/serialization/example/portable_binary_archive.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/example/portable_binary_archive.hpp
branches/CMake/release/libs/serialization/example/portable_binary_iarchive.cpp
- copied unchanged from r47510, /branches/release/libs/serialization/example/portable_binary_iarchive.cpp
branches/CMake/release/libs/serialization/example/portable_binary_oarchive.cpp
- copied unchanged from r47510, /branches/release/libs/serialization/example/portable_binary_oarchive.cpp
branches/CMake/release/libs/serialization/performance/
- copied from r47510, /branches/release/libs/serialization/performance/
branches/CMake/release/libs/serialization/performance/Jamfile.v2
- copied unchanged from r47510, /branches/release/libs/serialization/performance/Jamfile.v2
branches/CMake/release/libs/serialization/performance/binary_archive.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/binary_archive.hpp
branches/CMake/release/libs/serialization/performance/binary_warchive.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/binary_warchive.hpp
branches/CMake/release/libs/serialization/performance/peformance_array.cpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/peformance_array.cpp
branches/CMake/release/libs/serialization/performance/performance_binary.cpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/performance_binary.cpp
branches/CMake/release/libs/serialization/performance/performance_codecvt_null.cpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/performance_codecvt_null.cpp
branches/CMake/release/libs/serialization/performance/performance_iterators.cpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/performance_iterators.cpp
branches/CMake/release/libs/serialization/performance/performance_iterators_base64.cpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/performance_iterators_base64.cpp
branches/CMake/release/libs/serialization/performance/performance_no_rtti.cpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/performance_no_rtti.cpp
branches/CMake/release/libs/serialization/performance/performance_polymorphic.cpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/performance_polymorphic.cpp
branches/CMake/release/libs/serialization/performance/performance_simple_class.cpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/performance_simple_class.cpp
branches/CMake/release/libs/serialization/performance/performance_utf8_codecvt.cpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/performance_utf8_codecvt.cpp
branches/CMake/release/libs/serialization/performance/performance_vector.cpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/performance_vector.cpp
branches/CMake/release/libs/serialization/performance/polymorphic_array_binary_archive.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/polymorphic_array_binary_archive.hpp
branches/CMake/release/libs/serialization/performance/polymorphic_binary_archive.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/polymorphic_binary_archive.hpp
branches/CMake/release/libs/serialization/performance/polymorphic_text_archive.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/polymorphic_text_archive.hpp
branches/CMake/release/libs/serialization/performance/polymorphic_text_warchive.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/polymorphic_text_warchive.hpp
branches/CMake/release/libs/serialization/performance/polymorphic_xml_archive.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/polymorphic_xml_archive.hpp
branches/CMake/release/libs/serialization/performance/polymorphic_xml_warchive.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/polymorphic_xml_warchive.hpp
branches/CMake/release/libs/serialization/performance/portable_binary_archive.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/portable_binary_archive.hpp
branches/CMake/release/libs/serialization/performance/profile.sh
- copied unchanged from r47510, /branches/release/libs/serialization/performance/profile.sh
branches/CMake/release/libs/serialization/performance/text_archive.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/text_archive.hpp
branches/CMake/release/libs/serialization/performance/text_warchive.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/text_warchive.hpp
branches/CMake/release/libs/serialization/performance/xml_archive.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/xml_archive.hpp
branches/CMake/release/libs/serialization/performance/xml_warchive.hpp
- copied unchanged from r47510, /branches/release/libs/serialization/performance/xml_warchive.hpp
branches/CMake/release/libs/smart_ptr/test/allocate_shared_test.cpp
- copied unchanged from r47510, /branches/release/libs/smart_ptr/test/allocate_shared_test.cpp
branches/CMake/release/libs/smart_ptr/test/esft_regtest.cpp
- copied unchanged from r47510, /branches/release/libs/smart_ptr/test/esft_regtest.cpp
branches/CMake/release/libs/smart_ptr/test/ip_convertible_test.cpp
- copied unchanged from r47510, /branches/release/libs/smart_ptr/test/ip_convertible_test.cpp
branches/CMake/release/libs/smart_ptr/test/make_shared_test.cpp
- copied unchanged from r47510, /branches/release/libs/smart_ptr/test/make_shared_test.cpp
branches/CMake/release/libs/smart_ptr/test/scoped_array_eq_fail.cpp
- copied unchanged from r47510, /branches/release/libs/smart_ptr/test/scoped_array_eq_fail.cpp
branches/CMake/release/libs/smart_ptr/test/scoped_ptr_eq_fail.cpp
- copied unchanged from r47510, /branches/release/libs/smart_ptr/test/scoped_ptr_eq_fail.cpp
branches/CMake/release/libs/smart_ptr/test/sp_atomic_mt2_test.cpp
- copied unchanged from r47510, /branches/release/libs/smart_ptr/test/sp_atomic_mt2_test.cpp
branches/CMake/release/libs/smart_ptr/test/sp_atomic_mt_test.cpp
- copied unchanged from r47510, /branches/release/libs/smart_ptr/test/sp_atomic_mt_test.cpp
branches/CMake/release/libs/smart_ptr/test/sp_atomic_test.cpp
- copied unchanged from r47510, /branches/release/libs/smart_ptr/test/sp_atomic_test.cpp
branches/CMake/release/libs/smart_ptr/test/sp_convertible_test.cpp
- copied unchanged from r47510, /branches/release/libs/smart_ptr/test/sp_convertible_test.cpp
branches/CMake/release/libs/smart_ptr/test/spinlock_pool_test.cpp
- copied unchanged from r47510, /branches/release/libs/smart_ptr/test/spinlock_pool_test.cpp
branches/CMake/release/libs/smart_ptr/test/spinlock_test.cpp
- copied unchanged from r47510, /branches/release/libs/smart_ptr/test/spinlock_test.cpp
branches/CMake/release/libs/smart_ptr/test/spinlock_try_test.cpp
- copied unchanged from r47510, /branches/release/libs/smart_ptr/test/spinlock_try_test.cpp
branches/CMake/release/libs/smart_ptr/test/wp_convertible_test.cpp
- copied unchanged from r47510, /branches/release/libs/smart_ptr/test/wp_convertible_test.cpp
branches/CMake/release/libs/smart_ptr/test/yield_k_test.cpp
- copied unchanged from r47510, /branches/release/libs/smart_ptr/test/yield_k_test.cpp
branches/CMake/release/libs/spirit/doc/html/images/alert.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/alert.png
branches/CMake/release/libs/spirit/doc/html/images/callouts/
- copied from r47510, /branches/release/libs/spirit/doc/html/images/callouts/
branches/CMake/release/libs/spirit/doc/html/images/callouts/1.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/callouts/1.png
branches/CMake/release/libs/spirit/doc/html/images/callouts/10.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/callouts/10.png
branches/CMake/release/libs/spirit/doc/html/images/callouts/11.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/callouts/11.png
branches/CMake/release/libs/spirit/doc/html/images/callouts/12.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/callouts/12.png
branches/CMake/release/libs/spirit/doc/html/images/callouts/13.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/callouts/13.png
branches/CMake/release/libs/spirit/doc/html/images/callouts/14.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/callouts/14.png
branches/CMake/release/libs/spirit/doc/html/images/callouts/15.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/callouts/15.png
branches/CMake/release/libs/spirit/doc/html/images/callouts/2.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/callouts/2.png
branches/CMake/release/libs/spirit/doc/html/images/callouts/3.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/callouts/3.png
branches/CMake/release/libs/spirit/doc/html/images/callouts/4.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/callouts/4.png
branches/CMake/release/libs/spirit/doc/html/images/callouts/5.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/callouts/5.png
branches/CMake/release/libs/spirit/doc/html/images/callouts/6.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/callouts/6.png
branches/CMake/release/libs/spirit/doc/html/images/callouts/7.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/callouts/7.png
branches/CMake/release/libs/spirit/doc/html/images/callouts/8.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/callouts/8.png
branches/CMake/release/libs/spirit/doc/html/images/callouts/9.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/callouts/9.png
branches/CMake/release/libs/spirit/doc/html/images/callouts/Thumbs.db
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/callouts/Thumbs.db
branches/CMake/release/libs/spirit/doc/html/images/caution.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/caution.png
branches/CMake/release/libs/spirit/doc/html/images/important.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/important.png
branches/CMake/release/libs/spirit/doc/html/images/lexerflow.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/lexerflow.png
branches/CMake/release/libs/spirit/doc/html/images/note.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/note.png
branches/CMake/release/libs/spirit/doc/html/images/tip.png
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/images/tip.png
branches/CMake/release/libs/spirit/doc/html/index.html
- copied unchanged from r47510, /branches/release/libs/spirit/doc/html/index.html
branches/CMake/release/libs/spirit/doc/qi_and_karma/actions.qbk
- copied unchanged from r47510, /branches/release/libs/spirit/doc/qi_and_karma/actions.qbk
branches/CMake/release/libs/spirit/doc/qi_and_karma/complex.qbk
- copied unchanged from r47510, /branches/release/libs/spirit/doc/qi_and_karma/complex.qbk
branches/CMake/release/libs/spirit/doc/qi_and_karma/employee.qbk
- copied unchanged from r47510, /branches/release/libs/spirit/doc/qi_and_karma/employee.qbk
branches/CMake/release/libs/spirit/doc/qi_and_karma/mini_xml.qbk
- copied unchanged from r47510, /branches/release/libs/spirit/doc/qi_and_karma/mini_xml.qbk
branches/CMake/release/libs/spirit/doc/qi_and_karma/num_list2.qbk
- copied unchanged from r47510, /branches/release/libs/spirit/doc/qi_and_karma/num_list2.qbk
branches/CMake/release/libs/spirit/doc/qi_and_karma/num_list3.qbk
- copied unchanged from r47510, /branches/release/libs/spirit/doc/qi_and_karma/num_list3.qbk
branches/CMake/release/libs/spirit/doc/qi_and_karma/num_list4.qbk
- copied unchanged from r47510, /branches/release/libs/spirit/doc/qi_and_karma/num_list4.qbk
branches/CMake/release/libs/spirit/doc/qi_and_karma/roman.qbk
- copied unchanged from r47510, /branches/release/libs/spirit/doc/qi_and_karma/roman.qbk
branches/CMake/release/libs/spirit/doc/qi_and_karma/sum_tutorial.qbk
- copied unchanged from r47510, /branches/release/libs/spirit/doc/qi_and_karma/sum_tutorial.qbk
branches/CMake/release/libs/spirit/doc/qi_and_karma/tutorial_intro.qbk
- copied unchanged from r47510, /branches/release/libs/spirit/doc/qi_and_karma/tutorial_intro.qbk
branches/CMake/release/libs/spirit/doc/qi_and_karma/warming_up.qbk
- copied unchanged from r47510, /branches/release/libs/spirit/doc/qi_and_karma/warming_up.qbk
branches/CMake/release/libs/spirit/example/qi/mini_xml3.cpp
- copied unchanged from r47510, /branches/release/libs/spirit/example/qi/mini_xml3.cpp
branches/CMake/release/libs/spirit/example/qi/mini_xml_samples/4.toyxml
- copied unchanged from r47510, /branches/release/libs/spirit/example/qi/mini_xml_samples/4.toyxml
branches/CMake/release/libs/spirit/example/qi/num_list1.cpp
- copied unchanged from r47510, /branches/release/libs/spirit/example/qi/num_list1.cpp
branches/CMake/release/libs/spirit/example/qi/num_list4.cpp
- copied unchanged from r47510, /branches/release/libs/spirit/example/qi/num_list4.cpp
branches/CMake/release/libs/statechart/example/PingPong/Player.cpp
- copied unchanged from r47510, /branches/release/libs/statechart/example/PingPong/Player.cpp
branches/CMake/release/libs/statechart/example/PingPong/Player.hpp
- copied unchanged from r47510, /branches/release/libs/statechart/example/PingPong/Player.hpp
branches/CMake/release/libs/statechart/example/PingPong/Waiting.hpp
- copied unchanged from r47510, /branches/release/libs/statechart/example/PingPong/Waiting.hpp
branches/CMake/release/libs/tr1/test/cyclic_depend/
- copied from r47510, /branches/release/libs/tr1/test/cyclic_depend/
branches/CMake/release/libs/tr1/test/cyclic_depend/config.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/config.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/function.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/function.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/function0.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/function0.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/function1.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/function1.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/function2.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/function2.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/function3.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/function3.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/function4.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/function4.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/function5.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/function5.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/function6.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/function6.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/function7.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/function7.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/function8.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/function8.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/function9.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/function9.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/hash.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/hash.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/intrusive_ptr.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/intrusive_ptr.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/make_tuple.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/make_tuple.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/program_options.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/program_options.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/regex.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/regex.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/shared_count.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/shared_count.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/shared_ptr.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/shared_ptr.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/tuple.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/tuple.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/tuple_fwd.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/tuple_fwd.cpp
branches/CMake/release/libs/tr1/test/cyclic_depend/tuple_tie.cpp
- copied unchanged from r47510, /branches/release/libs/tr1/test/cyclic_depend/tuple_tie.cpp
branches/CMake/release/tools/build/v2/contrib/
- copied from r47510, /branches/release/tools/build/v2/contrib/
branches/CMake/release/tools/build/v2/contrib/boost.jam
- copied unchanged from r47510, /branches/release/tools/build/v2/contrib/boost.jam
branches/CMake/release/tools/build/v2/contrib/tntnet.jam
- copied unchanged from r47510, /branches/release/tools/build/v2/contrib/tntnet.jam
branches/CMake/release/tools/build/v2/test/file_name_handling.py
- copied unchanged from r47510, /branches/release/tools/build/v2/test/file_name_handling.py
branches/CMake/release/tools/build/v2/test/qt4/
- copied from r47510, /branches/release/tools/build/v2/test/qt4/
branches/CMake/release/tools/build/v2/test/qt4.py
- copied unchanged from r47510, /branches/release/tools/build/v2/test/qt4.py
branches/CMake/release/tools/build/v2/test/qt4/Jamroot
- copied unchanged from r47510, /branches/release/tools/build/v2/test/qt4/Jamroot
branches/CMake/release/tools/build/v2/test/qt4/phonon.cpp
- copied unchanged from r47510, /branches/release/tools/build/v2/test/qt4/phonon.cpp
branches/CMake/release/tools/build/v2/test/qt4/qt3support.cpp
- copied unchanged from r47510, /branches/release/tools/build/v2/test/qt4/qt3support.cpp
branches/CMake/release/tools/build/v2/test/qt4/qtassistant.cpp
- copied unchanged from r47510, /branches/release/tools/build/v2/test/qt4/qtassistant.cpp
branches/CMake/release/tools/build/v2/test/qt4/qtcore.cpp
- copied unchanged from r47510, /branches/release/tools/build/v2/test/qt4/qtcore.cpp
branches/CMake/release/tools/build/v2/test/qt4/qtcorefail.cpp
- copied unchanged from r47510, /branches/release/tools/build/v2/test/qt4/qtcorefail.cpp
branches/CMake/release/tools/build/v2/test/qt4/qtgui.cpp
- copied unchanged from r47510, /branches/release/tools/build/v2/test/qt4/qtgui.cpp
branches/CMake/release/tools/build/v2/test/qt4/qthelp.cpp
- copied unchanged from r47510, /branches/release/tools/build/v2/test/qt4/qthelp.cpp
branches/CMake/release/tools/build/v2/test/qt4/qtnetwork.cpp
- copied unchanged from r47510, /branches/release/tools/build/v2/test/qt4/qtnetwork.cpp
branches/CMake/release/tools/build/v2/test/qt4/qtscript.cpp
- copied unchanged from r47510, /branches/release/tools/build/v2/test/qt4/qtscript.cpp
branches/CMake/release/tools/build/v2/test/qt4/qtsql.cpp
- copied unchanged from r47510, /branches/release/tools/build/v2/test/qt4/qtsql.cpp
branches/CMake/release/tools/build/v2/test/qt4/qtsvg.cpp
- copied unchanged from r47510, /branches/release/tools/build/v2/test/qt4/qtsvg.cpp
branches/CMake/release/tools/build/v2/test/qt4/qttest.cpp
- copied unchanged from r47510, /branches/release/tools/build/v2/test/qt4/qttest.cpp
branches/CMake/release/tools/build/v2/test/qt4/qtwebkit.cpp
- copied unchanged from r47510, /branches/release/tools/build/v2/test/qt4/qtwebkit.cpp
branches/CMake/release/tools/build/v2/test/qt4/qtxml.cpp
- copied unchanged from r47510, /branches/release/tools/build/v2/test/qt4/qtxml.cpp
branches/CMake/release/tools/build/v2/test/qt4/qtxmlpatterns.cpp
- copied unchanged from r47510, /branches/release/tools/build/v2/test/qt4/qtxmlpatterns.cpp
branches/CMake/release/tools/build/v2/test/sort_rule.py
- copied unchanged from r47510, /branches/release/tools/build/v2/test/sort_rule.py
branches/CMake/release/tools/build/v2/tools/types/objc.jam
- copied unchanged from r47510, /branches/release/tools/build/v2/tools/types/objc.jam
branches/CMake/release/tools/inspect/ascii_check.cpp
- copied unchanged from r47510, /branches/release/tools/inspect/ascii_check.cpp
branches/CMake/release/tools/inspect/ascii_check.hpp
- copied unchanged from r47510, /branches/release/tools/inspect/ascii_check.hpp
branches/CMake/release/tools/inspect/build/msvc/
- copied from r47510, /branches/release/tools/inspect/build/msvc/
branches/CMake/release/tools/inspect/build/msvc/boost_inspect.sln
- copied unchanged from r47510, /branches/release/tools/inspect/build/msvc/boost_inspect.sln
branches/CMake/release/tools/inspect/build/msvc/boost_inspect.vcproj
- copied unchanged from r47510, /branches/release/tools/inspect/build/msvc/boost_inspect.vcproj
branches/CMake/release/tools/inspect/build/msvc/readme.txt
- copied unchanged from r47510, /branches/release/tools/inspect/build/msvc/readme.txt
branches/CMake/release/tools/inspect/path_name_check.cpp
- copied unchanged from r47510, /branches/release/tools/inspect/path_name_check.cpp
branches/CMake/release/tools/inspect/path_name_check.hpp
- copied unchanged from r47510, /branches/release/tools/inspect/path_name_check.hpp
branches/CMake/release/tools/jam/test/builtin_normalize_path.jam
- copied unchanged from r47510, /branches/release/tools/jam/test/builtin_normalize_path.jam
Removed:
branches/CMake/release/boost/spirit/home/support/detail/lexer/char_state_machine.hpp
branches/CMake/release/boost/spirit/home/support/detail/lexer/tokeniser.hpp
branches/CMake/release/libs/asio/doc/design/
branches/CMake/release/libs/asio/doc/design.qbk
branches/CMake/release/libs/config/test/options.jam
branches/CMake/release/libs/config/test/options_v2.jam
branches/CMake/release/libs/exception/doc/exception_what.html
branches/CMake/release/libs/filesystem/src/exception.cpp
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/bessel_i.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/bessel_jn.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/bessel_jv.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/bessel_k.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/bessel_yv.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/beta-small.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/beta_dist.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/cauchy1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/cauchy2.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/chi_square.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/ellint_c.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/erf1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/erf2.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/exponential_dist.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/extreme_val_dist.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/extreme_val_dist2.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/fisher_f.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/gamma.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/gamma_dist1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/gamma_dist2.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/legendre_p1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/lgamma-errors.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/lognormal1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/lognormal2.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/neg_binomial_pdf1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/neg_binomial_pdf2.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/normal.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/poisson.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/re_exp_on_c.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/sph_bessel_j.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/sph_bessel_y.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/students_t.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/weibull.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/weibull2.png
branches/CMake/release/libs/spirit/doc/qi_and_karma/tutorials.qbk
branches/CMake/release/libs/spirit/example/qi/num_list.cpp
branches/CMake/release/tools/inspect/long_name_check.cpp
branches/CMake/release/tools/inspect/long_name_check.hpp
Properties modified:
branches/CMake/release/ (props changed)
branches/CMake/release/boost/tr1/tr1/algorithm (props changed)
branches/CMake/release/boost/tr1/tr1/array (props changed)
branches/CMake/release/boost/tr1/tr1/bitset (props changed)
branches/CMake/release/boost/tr1/tr1/complex (props changed)
branches/CMake/release/boost/tr1/tr1/deque (props changed)
branches/CMake/release/boost/tr1/tr1/exception (props changed)
branches/CMake/release/boost/tr1/tr1/fstream (props changed)
branches/CMake/release/boost/tr1/tr1/functional (props changed)
branches/CMake/release/boost/tr1/tr1/iomanip (props changed)
branches/CMake/release/boost/tr1/tr1/ios (props changed)
branches/CMake/release/boost/tr1/tr1/iostream (props changed)
branches/CMake/release/boost/tr1/tr1/istream (props changed)
branches/CMake/release/boost/tr1/tr1/iterator (props changed)
branches/CMake/release/boost/tr1/tr1/limits (props changed)
branches/CMake/release/boost/tr1/tr1/list (props changed)
branches/CMake/release/boost/tr1/tr1/locale (props changed)
branches/CMake/release/boost/tr1/tr1/map (props changed)
branches/CMake/release/boost/tr1/tr1/memory (props changed)
branches/CMake/release/boost/tr1/tr1/new (props changed)
branches/CMake/release/boost/tr1/tr1/numeric (props changed)
branches/CMake/release/boost/tr1/tr1/ostream (props changed)
branches/CMake/release/boost/tr1/tr1/queue (props changed)
branches/CMake/release/boost/tr1/tr1/random (props changed)
branches/CMake/release/boost/tr1/tr1/regex (props changed)
branches/CMake/release/boost/tr1/tr1/set (props changed)
branches/CMake/release/boost/tr1/tr1/sstream (props changed)
branches/CMake/release/boost/tr1/tr1/stack (props changed)
branches/CMake/release/boost/tr1/tr1/stdexcept (props changed)
branches/CMake/release/boost/tr1/tr1/streambuf (props changed)
branches/CMake/release/boost/tr1/tr1/string (props changed)
branches/CMake/release/boost/tr1/tr1/strstream (props changed)
branches/CMake/release/boost/tr1/tr1/tuple (props changed)
branches/CMake/release/boost/tr1/tr1/type_traits (props changed)
branches/CMake/release/boost/tr1/tr1/typeinfo (props changed)
branches/CMake/release/boost/tr1/tr1/utility (props changed)
branches/CMake/release/boost/tr1/tr1/valarray (props changed)
branches/CMake/release/boost/tr1/tr1/vector (props changed)
branches/CMake/release/libs/config/doc/html/HTML.manifest (contents, props changed)
branches/CMake/release/libs/config/tools/configure.in (props changed)
branches/CMake/release/libs/program_options/doc/alternatives (props changed)
branches/CMake/release/libs/program_options/doc/glossary.dox (props changed)
branches/CMake/release/libs/program_options/doc/program_options.dox (props changed)
branches/CMake/release/libs/program_options/doc/program_options.ent (props changed)
branches/CMake/release/libs/program_options/doc/questions (props changed)
branches/CMake/release/libs/program_options/doc/questions.dox (props changed)
branches/CMake/release/libs/program_options/doc/rationale (props changed)
branches/CMake/release/libs/program_options/doc/rationale.dox (props changed)
branches/CMake/release/libs/program_options/doc/recipes.dox (props changed)
branches/CMake/release/libs/program_options/doc/requirements-Rozental (props changed)
branches/CMake/release/libs/program_options/example/multiple_sources.cfg (props changed)
branches/CMake/release/libs/program_options/example/response_file.rsp (props changed)
branches/CMake/release/libs/python/example/Jamroot (props changed)
branches/CMake/release/libs/python/example/quickstart/Jamroot (props changed)
branches/CMake/release/libs/python/example/tutorial/Jamroot (props changed)
branches/CMake/release/libs/python/pyste/NEWS (props changed)
branches/CMake/release/libs/python/pyste/tests/abstract_test.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/add_test.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/basic.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/code_test.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/enums.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/header_test.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/inherit.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/inherit2.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/inherit3.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/inherit4.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/nested.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/opaque.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/operators.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/smart_ptr.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/templates.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/vars.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/virtual.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/virtual2.pyste (props changed)
branches/CMake/release/libs/python/pyste/tests/wrappertest.pyste (props changed)
branches/CMake/release/libs/serialization/vc7ide/BoostSerializationLibrary.sln (props changed)
branches/CMake/release/libs/serialization/vc7ide/Library.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/LibraryW.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/Manual.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/demo.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/demo_auto_ptr.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/demo_exception.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/demo_fast_archive.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/demo_pimpl.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/demo_polymorphic.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/demo_portable_archive.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/demo_shared_ptr.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/demo_xml.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/demo_xml_load.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/demo_xml_save.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_array.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_binary.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_class_info_load.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_class_info_save.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_codecvt_null.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_const.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_const_fail.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_const_pass.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_contained_class.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_cyclic_ptrs.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_delete_pointer.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_deque.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_derived.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_derived_class.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_derived_class_ptr.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_diamond.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_exported.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_inclusion.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_iterators.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_iterators_base64.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_list.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_list_ptrs.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_map.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_mi.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_mult_archive_types.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_multiple_ptrs.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_no_rtti.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_non_default_ctor.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_non_default_ctor2.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_non_intrusive.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_not_serializable.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_null_ptr.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_nvp.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_object.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_optional.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_polymorphic.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_primitive.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_private_ctor.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_recursion.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_recusion.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_registered.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_reset_object_addr.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_set.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_shared_ptr.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_shared_ptr_132.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_simple_class.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_simple_class_ptr.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_smart_cast.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_split.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_static_warning.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_tracking.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_traits_fail.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_traits_pass.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_unregistered.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_utf8_codecvt.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_variant.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_vector.vcproj (props changed)
branches/CMake/release/libs/serialization/vc7ide/test_void_cast.vcproj (props changed)
branches/CMake/release/libs/spirit/doc/html/ (props changed)
branches/CMake/release/libs/spirit/doc/html/images/ (props changed)
branches/CMake/release/libs/spirit/phoenix/doc/html/ (props changed)
branches/CMake/release/libs/statechart/example/PingPong/PingPong.vcproj (contents, props changed)
branches/CMake/release/tools/boostbook/doc/reference.dtdxml (props changed)
branches/CMake/release/tools/boostbook/setup_boostbook.sh (props changed)
branches/CMake/release/tools/boostbook/xsl/caramel/LICENSE (props changed)
branches/CMake/release/tools/build/v2/debian/boost-build.docs (props changed)
branches/CMake/release/tools/build/v2/debian/boost-build.examples (props changed)
branches/CMake/release/tools/build/v2/debian/changelog (props changed)
branches/CMake/release/tools/build/v2/debian/conffiles (props changed)
branches/CMake/release/tools/build/v2/debian/control (props changed)
branches/CMake/release/tools/build/v2/debian/copyright (props changed)
branches/CMake/release/tools/build/v2/debian/excludes (props changed)
branches/CMake/release/tools/build/v2/debian/rules (props changed)
branches/CMake/release/tools/build/v2/example/customization/class.verbatim (props changed)
branches/CMake/release/tools/build/v2/example/customization/t1.verbatim (props changed)
branches/CMake/release/tools/build/v2/example/customization/t2.verbatim (props changed)
branches/CMake/release/tools/build/v2/example/customization/usage.verbatim (props changed)
branches/CMake/release/tools/build/v2/example/generate/Jamroot (props changed)
branches/CMake/release/tools/build/v2/example/generator/Jamroot (props changed)
branches/CMake/release/tools/build/v2/example/generator/foo.gci (props changed)
branches/CMake/release/tools/build/v2/example/gettext/russian.po (props changed)
branches/CMake/release/tools/build/v2/example/hello/Jamroot (props changed)
branches/CMake/release/tools/build/v2/example/libraries/Jamroot (props changed)
branches/CMake/release/tools/build/v2/example/make/Jamroot (props changed)
branches/CMake/release/tools/build/v2/example/make/main_cpp.pro (props changed)
branches/CMake/release/tools/build/v2/example/pch/Jamroot (props changed)
branches/CMake/release/tools/build/v2/example/python_modules/Jamroot (props changed)
branches/CMake/release/tools/build/v2/example/qt/qt3/hello/Jamroot (props changed)
branches/CMake/release/tools/build/v2/example/qt/qt3/moccable-cpp/Jamroot (props changed)
branches/CMake/release/tools/build/v2/example/qt/qt3/uic/Jamroot (props changed)
branches/CMake/release/tools/build/v2/example/qt/qt3/uic/hello_world_widget.ui (props changed)
branches/CMake/release/tools/build/v2/example/qt/qt4/hello/Jamroot (props changed)
branches/CMake/release/tools/build/v2/example/qt/qt4/moccable-cpp/Jamroot (props changed)
branches/CMake/release/tools/build/v2/example/qt/qt4/uic/Jamroot (props changed)
branches/CMake/release/tools/build/v2/example/qt/qt4/uic/hello_world_widget.ui (props changed)
branches/CMake/release/tools/build/v2/test/boostbook/Jamroot (props changed)
branches/CMake/release/tools/build/v2/test/dependency-test/x.foo (props changed)
branches/CMake/release/tools/build/v2/test/dependency-test/y.foo (props changed)
branches/CMake/release/tools/build/v2/test/direct-request-test/Jamfile2 (props changed)
branches/CMake/release/tools/build/v2/test/generators-test/b.cxx (props changed)
branches/CMake/release/tools/build/v2/test/generators-test/c.tui (props changed)
branches/CMake/release/tools/build/v2/test/generators-test/d.wd (props changed)
branches/CMake/release/tools/build/v2/test/generators-test/x.l (props changed)
branches/CMake/release/tools/build/v2/test/generators-test/y.x_pro (props changed)
branches/CMake/release/tools/build/v2/test/prebuilt/ext/Jamfile2 (props changed)
branches/CMake/release/tools/build/v2/test/prebuilt/ext/Jamfile3 (props changed)
branches/CMake/release/tools/build/v2/test/project-test4/Jamfile3 (props changed)
branches/CMake/release/tools/build/v2/test/project-test4/Jamfile4 (props changed)
branches/CMake/release/tools/build/v2/test/project-test4/Jamfile5 (props changed)
branches/CMake/release/tools/build/v2/test/project-test4/lib/Jamfile1 (props changed)
branches/CMake/release/tools/build/v2/test/project-test4/lib/Jamfile2 (props changed)
branches/CMake/release/tools/build/v2/test/project-test4/lib/Jamfile3 (props changed)
branches/CMake/release/tools/build/v2/test/project-test4/lib2/Jamfile2 (props changed)
branches/CMake/release/tools/build/v2/test/subdir1/file-to-bind (props changed)
branches/CMake/release/tools/build/v2/test/unused/b.x (props changed)
branches/CMake/release/tools/jam/src/ (props changed)
branches/CMake/release/tools/jam/src/Jambase (contents, props changed)
branches/CMake/release/tools/jam/src/boehm_gc/config.sub (props changed)
branches/CMake/release/tools/jam/src/boost-jam.spec (contents, props changed)
branches/CMake/release/tools/jam/src/build_vms.com (props changed)
branches/CMake/release/tools/jam/src/debian/changelog (props changed)
branches/CMake/release/tools/jam/src/debian/control (props changed)
branches/CMake/release/tools/jam/src/debian/copyright (props changed)
branches/CMake/release/tools/jam/src/debian/jam.man.sgml (props changed)
branches/CMake/release/tools/jam/src/debian/rules (props changed)
branches/CMake/release/tools/jam/src/jamgram.y (props changed)
branches/CMake/release/tools/jam/src/jamgram.yy (props changed)
Binary files modified:
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/bernoulli_cdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/bernoulli_pdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/beta.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/beta_pdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/binomial_pdf_1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/binomial_pdf_2.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/digamma.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/ellint_1.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/ellint_2.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/ellint_3.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/erf_inv.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/erfc_inv.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/gamma_p.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/gamma_q.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/hermite.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/ibeta.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/laguerre.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/legendre_q.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/lgamma.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/rayleigh_cdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/rayleigh_pdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/triangular_cdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/triangular_pdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/uniform_cdf.png
branches/CMake/release/libs/math/doc/sf_and_dist/graphs/uniform_pdf.png
branches/CMake/release/libs/spirit/doc/html/images/spiritkarmaflow.png
branches/CMake/release/libs/spirit/doc/html/images/spiritstructure.png
branches/CMake/release/libs/statechart/doc/reference.pdf
Text files modified:
branches/CMake/release/boost/any.hpp | 2
branches/CMake/release/boost/archive/basic_binary_iprimitive.hpp | 8
branches/CMake/release/boost/archive/basic_binary_oprimitive.hpp | 4
branches/CMake/release/boost/archive/detail/oserializer.hpp | 10
branches/CMake/release/boost/archive/impl/xml_wiarchive_impl.ipp | 2
branches/CMake/release/boost/archive/impl/xml_woarchive_impl.ipp | 7
branches/CMake/release/boost/archive/shared_ptr_helper.hpp | 12
branches/CMake/release/boost/asio/detail/socket_types.hpp | 5
branches/CMake/release/boost/asio/ssl/detail/openssl_init.hpp | 7
branches/CMake/release/boost/asio/version.hpp | 2
branches/CMake/release/boost/config/abi_prefix.hpp | 2
branches/CMake/release/boost/config/abi_suffix.hpp | 5
branches/CMake/release/boost/config/compiler/intel.hpp | 6
branches/CMake/release/boost/config/compiler/pgi.hpp | 8
branches/CMake/release/boost/config/compiler/sunpro_cc.hpp | 3
branches/CMake/release/boost/config/compiler/vacpp.hpp | 4
branches/CMake/release/boost/config/compiler/visualc.hpp | 7
branches/CMake/release/boost/config/platform/hpux.hpp | 3
branches/CMake/release/boost/config/platform/macos.hpp | 8
branches/CMake/release/boost/config/platform/solaris.hpp | 7
branches/CMake/release/boost/config/stdlib/libstdcpp3.hpp | 9
branches/CMake/release/boost/config/stdlib/stlport.hpp | 2
branches/CMake/release/boost/config/suffix.hpp | 11
branches/CMake/release/boost/detail/interlocked.hpp | 2
branches/CMake/release/boost/detail/lwm_win32_cs.hpp | 16
branches/CMake/release/boost/detail/shared_count.hpp | 55
branches/CMake/release/boost/detail/sp_counted_base.hpp | 31
branches/CMake/release/boost/exception/detail/object_hex_dump.hpp | 1
branches/CMake/release/boost/exception/enable_current_exception.hpp | 2
branches/CMake/release/boost/exception/enable_error_info.hpp | 1
branches/CMake/release/boost/exception/info.hpp | 2
branches/CMake/release/boost/exception/info_tuple.hpp | 3
branches/CMake/release/boost/exception/to_string.hpp | 2
branches/CMake/release/boost/exception/to_string_stub.hpp | 4
branches/CMake/release/boost/exception_ptr.hpp | 14
branches/CMake/release/boost/filesystem/convenience.hpp | 21
branches/CMake/release/boost/filesystem/operations.hpp | 71
branches/CMake/release/boost/filesystem/path.hpp | 128
branches/CMake/release/boost/function/detail/prologue.hpp | 3
branches/CMake/release/boost/function/function_base.hpp | 212
branches/CMake/release/boost/function/function_template.hpp | 550 +-
branches/CMake/release/boost/fusion/adapted/array/detail/category_of_impl.hpp | 2
branches/CMake/release/boost/fusion/adapted/array/tag_of.hpp | 2
branches/CMake/release/boost/fusion/adapted/boost_tuple/tag_of.hpp | 4
branches/CMake/release/boost/fusion/adapted/std_pair.hpp | 4
branches/CMake/release/boost/fusion/adapted/std_pair/detail/category_of_impl.hpp | 2
branches/CMake/release/boost/fusion/adapted/std_pair/std_pair_iterator.hpp | 2
branches/CMake/release/boost/fusion/adapted/std_pair/tag_of.hpp | 2
branches/CMake/release/boost/fusion/adapted/struct/adapt_assoc_struct.hpp | 2
branches/CMake/release/boost/fusion/adapted/struct/adapt_struct.hpp | 2
branches/CMake/release/boost/fusion/adapted/struct/detail/category_of_impl.hpp | 2
branches/CMake/release/boost/fusion/adapted/struct/struct_iterator.hpp | 2
branches/CMake/release/boost/fusion/algorithm/transformation/transform.hpp | 2
branches/CMake/release/boost/fusion/algorithm/transformation/zip.hpp | 2
branches/CMake/release/boost/fusion/container/generation/deque_tie.hpp | 2
branches/CMake/release/boost/fusion/container/generation/list_tie.hpp | 2
branches/CMake/release/boost/fusion/container/generation/make_deque.hpp | 2
branches/CMake/release/boost/fusion/container/generation/make_list.hpp | 2
branches/CMake/release/boost/fusion/container/generation/make_map.hpp | 2
branches/CMake/release/boost/fusion/container/generation/make_set.hpp | 2
branches/CMake/release/boost/fusion/container/generation/make_vector.hpp | 2
branches/CMake/release/boost/fusion/container/generation/map_tie.hpp | 2
branches/CMake/release/boost/fusion/container/generation/vector_tie.hpp | 2
branches/CMake/release/boost/fusion/container/list/detail/end_impl.hpp | 2
branches/CMake/release/boost/fusion/functional/invocation/invoke.hpp | 2
branches/CMake/release/boost/fusion/functional/invocation/invoke_function_object.hpp | 2
branches/CMake/release/boost/fusion/functional/invocation/invoke_procedure.hpp | 2
branches/CMake/release/boost/fusion/support/tag_of.hpp | 2
branches/CMake/release/boost/fusion/view/transform_view/transform_view.hpp | 2
branches/CMake/release/boost/gil/algorithm.hpp | 4
branches/CMake/release/boost/gil/bit_aligned_pixel_reference.hpp | 10
branches/CMake/release/boost/gil/channel.hpp | 16
branches/CMake/release/boost/gil/color_base.hpp | 10
branches/CMake/release/boost/gil/device_n.hpp | 14
branches/CMake/release/boost/gil/extension/io/png_io_private.hpp | 4
branches/CMake/release/boost/gil/gil_concept.hpp | 4
branches/CMake/release/boost/gil/planar_pixel_reference.hpp | 8
branches/CMake/release/boost/graph/detail/read_graphviz_spirit.hpp | 5
branches/CMake/release/boost/intrusive_ptr.hpp | 35
branches/CMake/release/boost/iterator/detail/config_def.hpp | 4
branches/CMake/release/boost/math/bindings/rr.hpp | 20
branches/CMake/release/boost/math/common_factor_rt.hpp | 4
branches/CMake/release/boost/math/concepts/real_concept.hpp | 237
branches/CMake/release/boost/math/concepts/std_real_concept.hpp | 194
branches/CMake/release/boost/math/distributions.hpp | 11
branches/CMake/release/boost/math/distributions/chi_squared.hpp | 20
branches/CMake/release/boost/math/distributions/detail/common_error_handling.hpp | 54
branches/CMake/release/boost/math/distributions/exponential.hpp | 4
branches/CMake/release/boost/math/distributions/fwd.hpp | 16
branches/CMake/release/boost/math/distributions/gamma.hpp | 3
branches/CMake/release/boost/math/distributions/normal.hpp | 2
branches/CMake/release/boost/math/distributions/poisson.hpp | 3
branches/CMake/release/boost/math/distributions/students_t.hpp | 2
branches/CMake/release/boost/math/distributions/triangular.hpp | 32
branches/CMake/release/boost/math/distributions/uniform.hpp | 16
branches/CMake/release/boost/math/distributions/weibull.hpp | 9
branches/CMake/release/boost/math/policies/error_handling.hpp | 126
branches/CMake/release/boost/math/policies/policy.hpp | 26
branches/CMake/release/boost/math/special_functions.hpp | 7
branches/CMake/release/boost/math/special_functions/acosh.hpp | 4
branches/CMake/release/boost/math/special_functions/asinh.hpp | 5
branches/CMake/release/boost/math/special_functions/atanh.hpp | 5
branches/CMake/release/boost/math/special_functions/bessel.hpp | 21
branches/CMake/release/boost/math/special_functions/beta.hpp | 12
branches/CMake/release/boost/math/special_functions/binomial.hpp | 5
branches/CMake/release/boost/math/special_functions/cbrt.hpp | 5
branches/CMake/release/boost/math/special_functions/cos_pi.hpp | 22
branches/CMake/release/boost/math/special_functions/detail/bessel_i0.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/bessel_i1.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/bessel_ik.hpp | 8
branches/CMake/release/boost/math/special_functions/detail/bessel_j0.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/bessel_j1.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/bessel_jn.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/bessel_jy.hpp | 7
branches/CMake/release/boost/math/special_functions/detail/bessel_jy_asym.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/bessel_k0.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/bessel_k1.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/bessel_kn.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/bessel_y0.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/bessel_y1.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/bessel_yn.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/erf_inv.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/gamma_inva.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/ibeta_inv_ab.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/ibeta_inverse.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/igamma_inverse.hpp | 7
branches/CMake/release/boost/math/special_functions/detail/igamma_large.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/lgamma_small.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/simple_complex.hpp | 5
branches/CMake/release/boost/math/special_functions/detail/t_distribution_inv.hpp | 17
branches/CMake/release/boost/math/special_functions/detail/unchecked_factorial.hpp | 5
branches/CMake/release/boost/math/special_functions/digamma.hpp | 5
branches/CMake/release/boost/math/special_functions/ellint_1.hpp | 5
branches/CMake/release/boost/math/special_functions/ellint_2.hpp | 5
branches/CMake/release/boost/math/special_functions/ellint_3.hpp | 10
branches/CMake/release/boost/math/special_functions/ellint_rc.hpp | 5
branches/CMake/release/boost/math/special_functions/ellint_rd.hpp | 5
branches/CMake/release/boost/math/special_functions/ellint_rf.hpp | 5
branches/CMake/release/boost/math/special_functions/ellint_rj.hpp | 5
branches/CMake/release/boost/math/special_functions/erf.hpp | 976 ++-
branches/CMake/release/boost/math/special_functions/expm1.hpp | 5
branches/CMake/release/boost/math/special_functions/factorials.hpp | 7
branches/CMake/release/boost/math/special_functions/fpclassify.hpp | 31
branches/CMake/release/boost/math/special_functions/gamma.hpp | 56
branches/CMake/release/boost/math/special_functions/hermite.hpp | 5
branches/CMake/release/boost/math/special_functions/hypot.hpp | 5
branches/CMake/release/boost/math/special_functions/laguerre.hpp | 5
branches/CMake/release/boost/math/special_functions/lanczos.hpp | 9
branches/CMake/release/boost/math/special_functions/legendre.hpp | 5
branches/CMake/release/boost/math/special_functions/log1p.hpp | 197
branches/CMake/release/boost/math/special_functions/math_fwd.hpp | 146
branches/CMake/release/boost/math/special_functions/powm1.hpp | 5
branches/CMake/release/boost/math/special_functions/sign.hpp | 5
branches/CMake/release/boost/math/special_functions/sin_pi.hpp | 24
branches/CMake/release/boost/math/special_functions/sinc.hpp | 5
branches/CMake/release/boost/math/special_functions/sinhc.hpp | 5
branches/CMake/release/boost/math/special_functions/spherical_harmonic.hpp | 5
branches/CMake/release/boost/math/special_functions/sqrt1pm1.hpp | 5
branches/CMake/release/boost/math/tools/config.hpp | 21
branches/CMake/release/boost/math/tools/fraction.hpp | 5
branches/CMake/release/boost/math/tools/minima.hpp | 5
branches/CMake/release/boost/math/tools/polynomial.hpp | 89
branches/CMake/release/boost/math/tools/precision.hpp | 5
branches/CMake/release/boost/math/tools/promotion.hpp | 5
branches/CMake/release/boost/math/tools/rational.hpp | 5
branches/CMake/release/boost/math/tools/real_cast.hpp | 5
branches/CMake/release/boost/math/tools/remez.hpp | 5
branches/CMake/release/boost/math/tools/roots.hpp | 6
branches/CMake/release/boost/math/tools/series.hpp | 5
branches/CMake/release/boost/math/tools/solve.hpp | 5
branches/CMake/release/boost/math/tools/stats.hpp | 5
branches/CMake/release/boost/math/tools/test.hpp | 5
branches/CMake/release/boost/math/tools/test_data.hpp | 6
branches/CMake/release/boost/math/tools/toms748_solve.hpp | 11
branches/CMake/release/boost/math/tools/traits.hpp | 5
branches/CMake/release/boost/math/tools/user.hpp | 5
branches/CMake/release/boost/math/tools/workaround.hpp | 5
branches/CMake/release/boost/parameter/aux_/cast.hpp | 2
branches/CMake/release/boost/parameter/aux_/default.hpp | 14
branches/CMake/release/boost/parameter/aux_/python/invoker.hpp | 1
branches/CMake/release/boost/parameter/aux_/set.hpp | 2
branches/CMake/release/boost/parameter/aux_/tagged_argument.hpp | 1
branches/CMake/release/boost/parameter/macros.hpp | 1
branches/CMake/release/boost/parameter/preprocessor.hpp | 3
branches/CMake/release/boost/pointer_cast.hpp | 2
branches/CMake/release/boost/pointer_to_other.hpp | 2
branches/CMake/release/boost/program_options/detail/utf8_codecvt_facet.hpp | 2
branches/CMake/release/boost/progress.hpp | 2
branches/CMake/release/boost/python/iterator.hpp | 10
branches/CMake/release/boost/python/object_attributes.hpp | 48
branches/CMake/release/boost/python/object_core.hpp | 6
branches/CMake/release/boost/python/suite/indexing/container_utils.hpp | 13
branches/CMake/release/boost/python/type_id.hpp | 1
branches/CMake/release/boost/python/with_custodian_and_ward.hpp | 3
branches/CMake/release/boost/random/detail/signed_unsigned_tools.hpp | 77
branches/CMake/release/boost/random/uniform_int.hpp | 5
branches/CMake/release/boost/random/uniform_real.hpp | 2
branches/CMake/release/boost/random/uniform_smallint.hpp | 4
branches/CMake/release/boost/regex/concepts.hpp | 6
branches/CMake/release/boost/regex/pending/object_cache.hpp | 2
branches/CMake/release/boost/regex/pending/unicode_iterator.hpp | 1
branches/CMake/release/boost/regex/v4/basic_regex_creator.hpp | 13
branches/CMake/release/boost/regex/v4/cpp_regex_traits.hpp | 5
branches/CMake/release/boost/regex/v4/instances.hpp | 19
branches/CMake/release/boost/regex/v4/perl_matcher_common.hpp | 4
branches/CMake/release/boost/regex/v4/perl_matcher_non_recursive.hpp | 9
branches/CMake/release/boost/scoped_array.hpp | 3
branches/CMake/release/boost/scoped_ptr.hpp | 3
branches/CMake/release/boost/serialization/export.hpp | 12
branches/CMake/release/boost/shared_ptr.hpp | 152
branches/CMake/release/boost/spirit/actor.hpp | 4
branches/CMake/release/boost/spirit/actor/assign_actor.hpp | 4
branches/CMake/release/boost/spirit/actor/assign_key_actor.hpp | 4
branches/CMake/release/boost/spirit/actor/clear_actor.hpp | 4
branches/CMake/release/boost/spirit/actor/decrement_actor.hpp | 4
branches/CMake/release/boost/spirit/actor/erase_actor.hpp | 4
branches/CMake/release/boost/spirit/actor/increment_actor.hpp | 4
branches/CMake/release/boost/spirit/actor/insert_at_actor.hpp | 4
branches/CMake/release/boost/spirit/actor/insert_key_actor.hpp | 4
branches/CMake/release/boost/spirit/actor/push_back_actor.hpp | 4
branches/CMake/release/boost/spirit/actor/push_front_actor.hpp | 4
branches/CMake/release/boost/spirit/actor/ref_actor.hpp | 4
branches/CMake/release/boost/spirit/actor/ref_const_ref_actor.hpp | 4
branches/CMake/release/boost/spirit/actor/ref_const_ref_const_ref_a.hpp | 4
branches/CMake/release/boost/spirit/actor/ref_const_ref_value_actor.hpp | 4
branches/CMake/release/boost/spirit/actor/ref_value_actor.hpp | 4
branches/CMake/release/boost/spirit/actor/swap_actor.hpp | 4
branches/CMake/release/boost/spirit/actor/typeof.hpp | 4
branches/CMake/release/boost/spirit/attribute.hpp | 4
branches/CMake/release/boost/spirit/attribute/closure.hpp | 4
branches/CMake/release/boost/spirit/attribute/closure_context.hpp | 4
branches/CMake/release/boost/spirit/attribute/closure_fwd.hpp | 4
branches/CMake/release/boost/spirit/attribute/parametric.hpp | 4
branches/CMake/release/boost/spirit/attribute/typeof.hpp | 4
branches/CMake/release/boost/spirit/core.hpp | 4
branches/CMake/release/boost/spirit/core/assert.hpp | 4
branches/CMake/release/boost/spirit/core/composite/actions.hpp | 4
branches/CMake/release/boost/spirit/core/composite/alternative.hpp | 4
branches/CMake/release/boost/spirit/core/composite/composite.hpp | 4
branches/CMake/release/boost/spirit/core/composite/difference.hpp | 4
branches/CMake/release/boost/spirit/core/composite/directives.hpp | 4
branches/CMake/release/boost/spirit/core/composite/epsilon.hpp | 4
branches/CMake/release/boost/spirit/core/composite/exclusive_or.hpp | 4
branches/CMake/release/boost/spirit/core/composite/intersection.hpp | 4
branches/CMake/release/boost/spirit/core/composite/kleene_star.hpp | 4
branches/CMake/release/boost/spirit/core/composite/list.hpp | 4
branches/CMake/release/boost/spirit/core/composite/no_actions.hpp | 4
branches/CMake/release/boost/spirit/core/composite/operators.hpp | 4
branches/CMake/release/boost/spirit/core/composite/optional.hpp | 4
branches/CMake/release/boost/spirit/core/composite/positive.hpp | 4
branches/CMake/release/boost/spirit/core/composite/sequence.hpp | 4
branches/CMake/release/boost/spirit/core/composite/sequential_and.hpp | 4
branches/CMake/release/boost/spirit/core/composite/sequential_or.hpp | 4
branches/CMake/release/boost/spirit/core/config.hpp | 4
branches/CMake/release/boost/spirit/core/match.hpp | 4
branches/CMake/release/boost/spirit/core/nil.hpp | 4
branches/CMake/release/boost/spirit/core/non_terminal/grammar.hpp | 4
branches/CMake/release/boost/spirit/core/non_terminal/parser_context.hpp | 4
branches/CMake/release/boost/spirit/core/non_terminal/parser_id.hpp | 4
branches/CMake/release/boost/spirit/core/non_terminal/rule.hpp | 4
branches/CMake/release/boost/spirit/core/non_terminal/subrule.hpp | 4
branches/CMake/release/boost/spirit/core/non_terminal/subrule_fwd.hpp | 4
branches/CMake/release/boost/spirit/core/parser.hpp | 4
branches/CMake/release/boost/spirit/core/primitives/numerics.hpp | 4
branches/CMake/release/boost/spirit/core/primitives/numerics_fwd.hpp | 4
branches/CMake/release/boost/spirit/core/primitives/primitives.hpp | 4
branches/CMake/release/boost/spirit/core/safe_bool.hpp | 4
branches/CMake/release/boost/spirit/core/scanner/scanner.hpp | 4
branches/CMake/release/boost/spirit/core/scanner/scanner_fwd.hpp | 4
branches/CMake/release/boost/spirit/core/scanner/skipper.hpp | 4
branches/CMake/release/boost/spirit/core/scanner/skipper_fwd.hpp | 4
branches/CMake/release/boost/spirit/core/typeof.hpp | 4
branches/CMake/release/boost/spirit/debug.hpp | 4
branches/CMake/release/boost/spirit/debug/debug_node.hpp | 4
branches/CMake/release/boost/spirit/debug/minimal.hpp | 4
branches/CMake/release/boost/spirit/debug/parser_names.hpp | 4
branches/CMake/release/boost/spirit/debug/typeof.hpp | 4
branches/CMake/release/boost/spirit/dynamic.hpp | 4
branches/CMake/release/boost/spirit/dynamic/for.hpp | 4
branches/CMake/release/boost/spirit/dynamic/if.hpp | 4
branches/CMake/release/boost/spirit/dynamic/lazy.hpp | 4
branches/CMake/release/boost/spirit/dynamic/rule_alias.hpp | 4
branches/CMake/release/boost/spirit/dynamic/select.hpp | 4
branches/CMake/release/boost/spirit/dynamic/stored_rule.hpp | 4
branches/CMake/release/boost/spirit/dynamic/stored_rule_fwd.hpp | 4
branches/CMake/release/boost/spirit/dynamic/switch.hpp | 4
branches/CMake/release/boost/spirit/dynamic/typeof.hpp | 4
branches/CMake/release/boost/spirit/dynamic/while.hpp | 4
branches/CMake/release/boost/spirit/error_handling.hpp | 4
branches/CMake/release/boost/spirit/error_handling/exceptions.hpp | 4
branches/CMake/release/boost/spirit/error_handling/exceptions_fwd.hpp | 4
branches/CMake/release/boost/spirit/error_handling/typeof.hpp | 4
branches/CMake/release/boost/spirit/home/classic/core/non_terminal/impl/static.hpp | 38
branches/CMake/release/boost/spirit/home/classic/tree/impl/tree_to_xml.ipp | 151
branches/CMake/release/boost/spirit/home/karma/action/action.hpp | 11
branches/CMake/release/boost/spirit/home/karma/auxiliary.hpp | 1
branches/CMake/release/boost/spirit/home/karma/auxiliary/eps.hpp | 28
branches/CMake/release/boost/spirit/home/karma/auxiliary/functor_director.hpp | 4
branches/CMake/release/boost/spirit/home/karma/auxiliary/lazy.hpp | 4
branches/CMake/release/boost/spirit/home/karma/auxiliary/meta_grammar.hpp | 3
branches/CMake/release/boost/spirit/home/karma/auxiliary/none.hpp | 4
branches/CMake/release/boost/spirit/home/karma/binary/binary.hpp | 8
branches/CMake/release/boost/spirit/home/karma/binary/padding.hpp | 6
branches/CMake/release/boost/spirit/home/karma/char/char.hpp | 138
branches/CMake/release/boost/spirit/home/karma/char/space.hpp | 52
branches/CMake/release/boost/spirit/home/karma/directive/center_alignment.hpp | 116
branches/CMake/release/boost/spirit/home/karma/directive/delimit.hpp | 60
branches/CMake/release/boost/spirit/home/karma/directive/left_alignment.hpp | 116
branches/CMake/release/boost/spirit/home/karma/directive/right_alignment.hpp | 116
branches/CMake/release/boost/spirit/home/karma/directive/verbatim.hpp | 6
branches/CMake/release/boost/spirit/home/karma/nonterminal/grammar.hpp | 94
branches/CMake/release/boost/spirit/home/karma/nonterminal/nonterminal_director.hpp | 8
branches/CMake/release/boost/spirit/home/karma/nonterminal/rule.hpp | 6
branches/CMake/release/boost/spirit/home/karma/numeric/int.hpp | 74
branches/CMake/release/boost/spirit/home/karma/numeric/real.hpp | 80
branches/CMake/release/boost/spirit/home/karma/numeric/uint.hpp | 62
branches/CMake/release/boost/spirit/home/karma/operator/alternative.hpp | 6
branches/CMake/release/boost/spirit/home/karma/operator/detail/alternative.hpp | 19
branches/CMake/release/boost/spirit/home/karma/operator/kleene.hpp | 6
branches/CMake/release/boost/spirit/home/karma/operator/list.hpp | 8
branches/CMake/release/boost/spirit/home/karma/operator/optional.hpp | 6
branches/CMake/release/boost/spirit/home/karma/operator/plus.hpp | 6
branches/CMake/release/boost/spirit/home/karma/operator/sequence.hpp | 6
branches/CMake/release/boost/spirit/home/karma/stream/stream.hpp | 114
branches/CMake/release/boost/spirit/home/karma/string/lit.hpp | 114
branches/CMake/release/boost/spirit/home/karma/what.hpp | 2
branches/CMake/release/boost/spirit/home/lex/lexer/lexertl/iterator_tokenizer.hpp | 9
branches/CMake/release/boost/spirit/home/lex/lexer/lexertl/lexertl_functor.hpp | 2
branches/CMake/release/boost/spirit/home/lex/lexer/lexertl/lexertl_generate_static.hpp | 2
branches/CMake/release/boost/spirit/home/lex/lexer/lexertl/lexertl_lexer.hpp | 5
branches/CMake/release/boost/spirit/home/lex/lexer/terminal_director.hpp | 4
branches/CMake/release/boost/spirit/home/lex/qi/state/state_switcher.hpp | 10
branches/CMake/release/boost/spirit/home/lex/qi/utility/plain_token.hpp | 4
branches/CMake/release/boost/spirit/home/lex/tokenize_and_parse.hpp | 62
branches/CMake/release/boost/spirit/home/qi/action/action.hpp | 6
branches/CMake/release/boost/spirit/home/qi/auxiliary/eps.hpp | 8
branches/CMake/release/boost/spirit/home/qi/auxiliary/functor_director.hpp | 4
branches/CMake/release/boost/spirit/home/qi/auxiliary/lazy.hpp | 6
branches/CMake/release/boost/spirit/home/qi/auxiliary/none.hpp | 4
branches/CMake/release/boost/spirit/home/qi/auxiliary/primitives.hpp | 34
branches/CMake/release/boost/spirit/home/qi/binary/binary.hpp | 8
branches/CMake/release/boost/spirit/home/qi/char/char.hpp | 37
branches/CMake/release/boost/spirit/home/qi/char/char_class.hpp | 4
branches/CMake/release/boost/spirit/home/qi/char/char_parser.hpp | 6
branches/CMake/release/boost/spirit/home/qi/detail/expect_function.hpp | 4
branches/CMake/release/boost/spirit/home/qi/directive/lexeme.hpp | 6
branches/CMake/release/boost/spirit/home/qi/directive/omit.hpp | 6
branches/CMake/release/boost/spirit/home/qi/directive/raw.hpp | 6
branches/CMake/release/boost/spirit/home/qi/nonterminal/grammar.hpp | 175
branches/CMake/release/boost/spirit/home/qi/nonterminal/nonterminal_director.hpp | 4
branches/CMake/release/boost/spirit/home/qi/nonterminal/rule.hpp | 15
branches/CMake/release/boost/spirit/home/qi/numeric/int.hpp | 4
branches/CMake/release/boost/spirit/home/qi/numeric/real.hpp | 4
branches/CMake/release/boost/spirit/home/qi/numeric/uint.hpp | 4
branches/CMake/release/boost/spirit/home/qi/operator/alternative.hpp | 6
branches/CMake/release/boost/spirit/home/qi/operator/and_predicate.hpp | 6
branches/CMake/release/boost/spirit/home/qi/operator/difference.hpp | 8
branches/CMake/release/boost/spirit/home/qi/operator/kleene.hpp | 6
branches/CMake/release/boost/spirit/home/qi/operator/list.hpp | 8
branches/CMake/release/boost/spirit/home/qi/operator/not_predicate.hpp | 6
branches/CMake/release/boost/spirit/home/qi/operator/optional.hpp | 6
branches/CMake/release/boost/spirit/home/qi/operator/permutation.hpp | 6
branches/CMake/release/boost/spirit/home/qi/operator/plus.hpp | 6
branches/CMake/release/boost/spirit/home/qi/operator/sequence_base.hpp | 6
branches/CMake/release/boost/spirit/home/qi/operator/sequential_or.hpp | 6
branches/CMake/release/boost/spirit/home/qi/stream/stream.hpp | 4
branches/CMake/release/boost/spirit/home/qi/string/lit.hpp | 18
branches/CMake/release/boost/spirit/home/qi/string/symbols.hpp | 4
branches/CMake/release/boost/spirit/home/qi/what.hpp | 2
branches/CMake/release/boost/spirit/home/support/detail/action_dispatch.hpp | 27
branches/CMake/release/boost/spirit/home/support/detail/hold_any.hpp | 2
branches/CMake/release/boost/spirit/home/support/detail/lexer/char_traits.hpp | 58
branches/CMake/release/boost/spirit/home/support/detail/lexer/consts.hpp | 10
branches/CMake/release/boost/spirit/home/support/detail/lexer/containers/ptr_list.hpp | 4
branches/CMake/release/boost/spirit/home/support/detail/lexer/containers/ptr_vector.hpp | 23
branches/CMake/release/boost/spirit/home/support/detail/lexer/debug.hpp | 69
branches/CMake/release/boost/spirit/home/support/detail/lexer/generate_cpp.hpp | 11
branches/CMake/release/boost/spirit/home/support/detail/lexer/generator.hpp | 109
branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/parser.hpp | 81
branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/num_token.hpp | 73
branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser.hpp | 57
branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_helper.hpp | 44
branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_state.hpp | 4
branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/end_node.hpp | 4
branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/iteration_node.hpp | 20
branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/leaf_node.hpp | 28
branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/node.hpp | 26
branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/selection_node.hpp | 6
branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/sequence_node.hpp | 4
branches/CMake/release/boost/spirit/home/support/detail/lexer/partition/charset.hpp | 4
branches/CMake/release/boost/spirit/home/support/detail/lexer/partition/equivset.hpp | 30
branches/CMake/release/boost/spirit/home/support/detail/lexer/rules.hpp | 24
branches/CMake/release/boost/spirit/home/support/detail/lexer/runtime_error.hpp | 2
branches/CMake/release/boost/spirit/home/support/detail/lexer/serialise.hpp | 6
branches/CMake/release/boost/spirit/home/support/detail/lexer/size_t.hpp | 2
branches/CMake/release/boost/spirit/home/support/detail/lexer/state_machine.hpp | 343 +
branches/CMake/release/boost/spirit/home/support/detail/lexer/string_token.hpp | 8
branches/CMake/release/boost/spirit/home/support/detail/what_function.hpp | 8
branches/CMake/release/boost/spirit/iterator.hpp | 4
branches/CMake/release/boost/spirit/iterator/file_iterator.hpp | 4
branches/CMake/release/boost/spirit/iterator/file_iterator_fwd.hpp | 4
branches/CMake/release/boost/spirit/iterator/fixed_size_queue.hpp | 4
branches/CMake/release/boost/spirit/iterator/multi_pass.hpp | 4
branches/CMake/release/boost/spirit/iterator/multi_pass_fwd.hpp | 4
branches/CMake/release/boost/spirit/iterator/position_iterator.hpp | 4
branches/CMake/release/boost/spirit/iterator/position_iterator_fwd.hpp | 4
branches/CMake/release/boost/spirit/iterator/typeof.hpp | 4
branches/CMake/release/boost/spirit/meta.hpp | 4
branches/CMake/release/boost/spirit/meta/as_parser.hpp | 4
branches/CMake/release/boost/spirit/meta/fundamental.hpp | 4
branches/CMake/release/boost/spirit/meta/parser_traits.hpp | 4
branches/CMake/release/boost/spirit/meta/refactoring.hpp | 4
branches/CMake/release/boost/spirit/meta/traverse.hpp | 4
branches/CMake/release/boost/spirit/phoenix.hpp | 4
branches/CMake/release/boost/spirit/phoenix/actor.hpp | 4
branches/CMake/release/boost/spirit/phoenix/binders.hpp | 4
branches/CMake/release/boost/spirit/phoenix/casts.hpp | 4
branches/CMake/release/boost/spirit/phoenix/closures.hpp | 4
branches/CMake/release/boost/spirit/phoenix/composite.hpp | 4
branches/CMake/release/boost/spirit/phoenix/functions.hpp | 4
branches/CMake/release/boost/spirit/phoenix/new.hpp | 4
branches/CMake/release/boost/spirit/phoenix/operators.hpp | 4
branches/CMake/release/boost/spirit/phoenix/primitives.hpp | 4
branches/CMake/release/boost/spirit/phoenix/special_ops.hpp | 4
branches/CMake/release/boost/spirit/phoenix/statements.hpp | 4
branches/CMake/release/boost/spirit/phoenix/tuple_helpers.hpp | 4
branches/CMake/release/boost/spirit/phoenix/tuples.hpp | 4
branches/CMake/release/boost/spirit/symbols.hpp | 4
branches/CMake/release/boost/spirit/symbols/symbols.hpp | 4
branches/CMake/release/boost/spirit/symbols/symbols_fwd.hpp | 4
branches/CMake/release/boost/spirit/symbols/typeof.hpp | 4
branches/CMake/release/boost/spirit/tree/ast.hpp | 4
branches/CMake/release/boost/spirit/tree/ast_fwd.hpp | 4
branches/CMake/release/boost/spirit/tree/common.hpp | 4
branches/CMake/release/boost/spirit/tree/common_fwd.hpp | 4
branches/CMake/release/boost/spirit/tree/parse_tree.hpp | 4
branches/CMake/release/boost/spirit/tree/parse_tree_fwd.hpp | 4
branches/CMake/release/boost/spirit/tree/parse_tree_utils.hpp | 4
branches/CMake/release/boost/spirit/tree/tree_to_xml.hpp | 4
branches/CMake/release/boost/spirit/tree/typeof.hpp | 4
branches/CMake/release/boost/spirit/utility.hpp | 4
branches/CMake/release/boost/spirit/utility/chset.hpp | 4
branches/CMake/release/boost/spirit/utility/chset_operators.hpp | 4
branches/CMake/release/boost/spirit/utility/confix.hpp | 4
branches/CMake/release/boost/spirit/utility/confix_fwd.hpp | 4
branches/CMake/release/boost/spirit/utility/distinct.hpp | 4
branches/CMake/release/boost/spirit/utility/distinct_fwd.hpp | 4
branches/CMake/release/boost/spirit/utility/escape_char.hpp | 4
branches/CMake/release/boost/spirit/utility/escape_char_fwd.hpp | 4
branches/CMake/release/boost/spirit/utility/flush_multi_pass.hpp | 4
branches/CMake/release/boost/spirit/utility/functor_parser.hpp | 4
branches/CMake/release/boost/spirit/utility/grammar_def.hpp | 4
branches/CMake/release/boost/spirit/utility/grammar_def_fwd.hpp | 4
branches/CMake/release/boost/spirit/utility/lists.hpp | 4
branches/CMake/release/boost/spirit/utility/lists_fwd.hpp | 4
branches/CMake/release/boost/spirit/utility/loops.hpp | 4
branches/CMake/release/boost/spirit/utility/regex.hpp | 4
branches/CMake/release/boost/spirit/utility/rule_parser.hpp | 4
branches/CMake/release/boost/spirit/utility/scoped_lock.hpp | 4
branches/CMake/release/boost/spirit/utility/typeof.hpp | 4
branches/CMake/release/boost/spirit/version.hpp | 4
branches/CMake/release/boost/statechart/detail/counted_base.hpp | 2
branches/CMake/release/boost/statechart/detail/rtti_policy.hpp | 11
branches/CMake/release/boost/statechart/detail/state_base.hpp | 11
branches/CMake/release/boost/statechart/event.hpp | 2
branches/CMake/release/boost/statechart/event_processor.hpp | 5
branches/CMake/release/boost/statechart/fifo_worker.hpp | 16
branches/CMake/release/boost/statechart/in_state_reaction.hpp | 52
branches/CMake/release/boost/statechart/processor_container.hpp | 75
branches/CMake/release/boost/statechart/simple_state.hpp | 5
branches/CMake/release/boost/statechart/state_machine.hpp | 33
branches/CMake/release/boost/statechart/transition.hpp | 102
branches/CMake/release/boost/static_assert.hpp | 18
branches/CMake/release/boost/system/error_code.hpp | 38
branches/CMake/release/boost/system/system_error.hpp | 14
branches/CMake/release/boost/thread/detail/platform.hpp | 6
branches/CMake/release/boost/thread/detail/thread.hpp | 4
branches/CMake/release/boost/thread/locks.hpp | 135
branches/CMake/release/boost/thread/pthread/condition_variable.hpp | 11
branches/CMake/release/boost/thread/pthread/condition_variable_fwd.hpp | 10
branches/CMake/release/boost/thread/pthread/mutex.hpp | 5
branches/CMake/release/boost/thread/tss.hpp | 1
branches/CMake/release/boost/thread/win32/basic_timed_mutex.hpp | 6
branches/CMake/release/boost/thread/win32/mutex.hpp | 2
branches/CMake/release/boost/thread/win32/shared_mutex.hpp | 209
branches/CMake/release/boost/thread/win32/thread_primitives.hpp | 23
branches/CMake/release/boost/tr1/detail/config.hpp | 4
branches/CMake/release/boost/type_traits/alignment_of.hpp | 19
branches/CMake/release/boost/type_traits/conversion_traits.hpp | 2
branches/CMake/release/boost/type_traits/intrinsics.hpp | 52
branches/CMake/release/boost/type_traits/is_abstract.hpp | 11
branches/CMake/release/boost/type_traits/is_base_and_derived.hpp | 12
branches/CMake/release/boost/type_traits/is_class.hpp | 11
branches/CMake/release/boost/type_traits/is_convertible.hpp | 14
branches/CMake/release/boost/type_traits/is_enum.hpp | 11
branches/CMake/release/boost/type_traits/is_polymorphic.hpp | 12
branches/CMake/release/boost/type_traits/make_signed.hpp | 4
branches/CMake/release/boost/type_traits/make_unsigned.hpp | 4
branches/CMake/release/boost/type_traits/type_with_alignment.hpp | 105
branches/CMake/release/boost/units/absolute.hpp | 1
branches/CMake/release/boost/units/conversion.hpp | 4
branches/CMake/release/boost/units/derived_dimension.hpp | 74
branches/CMake/release/boost/units/detail/absolute_impl.hpp | 16
branches/CMake/release/boost/units/detail/conversion_impl.hpp | 182
branches/CMake/release/boost/units/detail/dimension_impl.hpp | 209
branches/CMake/release/boost/units/detail/heterogeneous_conversion.hpp | 104
branches/CMake/release/boost/units/detail/linear_algebra.hpp | 1069 ++--
branches/CMake/release/boost/units/detail/push_front_if.hpp | 7
branches/CMake/release/boost/units/detail/push_front_or_add.hpp | 13
branches/CMake/release/boost/units/detail/sort.hpp | 127
branches/CMake/release/boost/units/detail/unscale.hpp | 8
branches/CMake/release/boost/units/dimension.hpp | 14
branches/CMake/release/boost/units/heterogeneous_system.hpp | 28
branches/CMake/release/boost/units/io.hpp | 32
branches/CMake/release/boost/units/lambda.hpp | 2
branches/CMake/release/boost/units/make_system.hpp | 20
branches/CMake/release/boost/units/quantity.hpp | 90
branches/CMake/release/boost/units/unit.hpp | 36
branches/CMake/release/boost/wave/cpplexer/cpp_lex_token.hpp | 3
branches/CMake/release/boost/wave/grammars/cpp_expression_grammar.hpp | 14
branches/CMake/release/boost/weak_ptr.hpp | 48
branches/CMake/release/libs/any/test.hpp | 11
branches/CMake/release/libs/asio/doc/Jamfile.v2 | 8
branches/CMake/release/libs/asio/doc/asio.qbk | 21
branches/CMake/release/libs/asio/doc/examples.qbk | 27
branches/CMake/release/libs/asio/doc/reference.qbk | 9
branches/CMake/release/libs/asio/doc/reference.xsl | 9
branches/CMake/release/libs/asio/doc/using.qbk | 7
branches/CMake/release/libs/assign/doc/index.html | 32
branches/CMake/release/libs/config/doc/guidelines.qbk | 48
branches/CMake/release/libs/config/doc/html/HTML.manifest | 10
branches/CMake/release/libs/config/doc/html/boost_config/acknowledgements.html | 4
branches/CMake/release/libs/config/doc/html/boost_config/boost_macro_reference.html | 285 +
branches/CMake/release/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html | 128
branches/CMake/release/libs/config/doc/html/boost_config/rationale.html | 4
branches/CMake/release/libs/config/doc/html/index.html | 25
branches/CMake/release/libs/config/doc/macro_reference.qbk | 88
branches/CMake/release/libs/config/test/Jamfile.v2 | 385 -
branches/CMake/release/libs/config/test/boost_has_pthreads.ipp | 37
branches/CMake/release/libs/config/test/boost_has_tr1_function.ipp | 2
branches/CMake/release/libs/config/test/boost_has_tr1_result_of.ipp | 2
branches/CMake/release/libs/config/test/boost_no_bcb_partial_spec.ipp | 2
branches/CMake/release/libs/config/test/boost_no_mem_tem_pnts.ipp | 2
branches/CMake/release/libs/config/test/boost_no_sfinae.ipp | 2
branches/CMake/release/libs/config/test/config_info.cpp | 16
branches/CMake/release/libs/config/test/config_test.cpp | 32
branches/CMake/release/libs/config/test/has_tr1_array_fail.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_array_pass.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_bind_fail.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_bind_pass.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_complex_over_fail.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_complex_over_pass.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_complex_trig_fail.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_complex_trig_pass.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_function_fail.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_function_pass.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_hash_fail.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_hash_pass.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_mem_fn_fail.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_mem_fn_pass.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_random_fail.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_random_pass.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_ref_wrap_fail.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_ref_wrap_pass.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_regex_fail.cpp | 16
branches/CMake/release/libs/config/test/has_tr1_regex_pass.cpp | 18
branches/CMake/release/libs/config/test/has_tr1_result_of_fail.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_result_of_pass.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_shared_ptr_fail.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_shared_ptr_pass.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_tuple_fail.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_tuple_pass.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_type_traits_fail.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_type_traits_pass.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_unordered_map_fail.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_unordered_map_pass.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_unordered_set_fail.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_unordered_set_pass.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_utility_fail.cpp | 8
branches/CMake/release/libs/config/test/has_tr1_utility_pass.cpp | 8
branches/CMake/release/libs/config/tools/generate.cpp | 55
branches/CMake/release/libs/dynamic_bitset/dynamic_bitset.html | 30
branches/CMake/release/libs/exception/doc/BOOST_ERROR_INFO.html | 9
branches/CMake/release/libs/exception/doc/boost-exception.html | 128
branches/CMake/release/libs/exception/doc/boost_exception_diagnostic_information_hpp.html | 8
branches/CMake/release/libs/exception/doc/copy_exception.html | 8
branches/CMake/release/libs/exception/doc/current_exception.html | 10
branches/CMake/release/libs/exception/doc/diagnostic_information.html | 10
branches/CMake/release/libs/exception/doc/enable_current_exception.html | 15
branches/CMake/release/libs/exception/doc/enable_error_info.html | 15
branches/CMake/release/libs/exception/doc/error_info.html | 15
branches/CMake/release/libs/exception/doc/exception.html | 35
branches/CMake/release/libs/exception/doc/exception_cloning_hpp.html | 7
branches/CMake/release/libs/exception/doc/exception_constructors.html | 7
branches/CMake/release/libs/exception/doc/exception_destructor.html | 7
branches/CMake/release/libs/exception/doc/exception_diagnostic_information.html | 19
branches/CMake/release/libs/exception/doc/exception_enable_error_info_hpp.html | 7
branches/CMake/release/libs/exception/doc/exception_enable_exception_cloning_hpp.html | 7
branches/CMake/release/libs/exception/doc/exception_error_info_group_hpp.html | 7
branches/CMake/release/libs/exception/doc/exception_error_info_hpp.html | 8
branches/CMake/release/libs/exception/doc/exception_error_info_value_hpp.html | 11
branches/CMake/release/libs/exception/doc/exception_exception_hpp.html | 7
branches/CMake/release/libs/exception/doc/exception_hpp.html | 17
branches/CMake/release/libs/exception/doc/exception_ptr.html | 9
branches/CMake/release/libs/exception/doc/get_error_info.html | 15
branches/CMake/release/libs/exception/doc/name_idx.html | 14
branches/CMake/release/libs/exception/doc/operator_shl_exception.html | 13
branches/CMake/release/libs/exception/doc/operator_shl_tuple.html | 7
branches/CMake/release/libs/exception/doc/reno.css | 2
branches/CMake/release/libs/exception/doc/rethrow_exception.html | 7
branches/CMake/release/libs/exception/doc/source/boost-exception.reno | 8663 ++++++++++++++++++---------------------
branches/CMake/release/libs/exception/doc/throw_exception.html | 11
branches/CMake/release/libs/exception/doc/throw_exception_hpp.html | 7
branches/CMake/release/libs/exception/doc/tutorial_diagnostic_information.html | 11
branches/CMake/release/libs/exception/doc/tutorial_enable_error_info.html | 11
branches/CMake/release/libs/exception/doc/tutorial_exception_ptr.html | 20
branches/CMake/release/libs/exception/doc/tutorial_transporting_data.html | 22
branches/CMake/release/libs/exception/doc/unknown_exception.html | 7
branches/CMake/release/libs/exception/example/Jamfile | 2
branches/CMake/release/libs/exception/test/diagnostic_information_test.cpp | 4
branches/CMake/release/libs/filesystem/doc/index.htm | 4
branches/CMake/release/libs/filesystem/doc/reference.html | 237
branches/CMake/release/libs/filesystem/example/mbcopy.cpp | 4
branches/CMake/release/libs/filesystem/example/mbpath.cpp | 4
branches/CMake/release/libs/filesystem/example/simple_ls.cpp | 10
branches/CMake/release/libs/filesystem/src/operations.cpp | 131
branches/CMake/release/libs/filesystem/src/path.cpp | 2
branches/CMake/release/libs/filesystem/src/utf8_codecvt_facet.hpp | 2
branches/CMake/release/libs/filesystem/test/convenience_test.cpp | 7
branches/CMake/release/libs/filesystem/test/equivalent.cpp | 2
branches/CMake/release/libs/filesystem/test/fstream_test.cpp | 9
branches/CMake/release/libs/filesystem/test/lpath.hpp | 1
branches/CMake/release/libs/filesystem/test/operations_test.cpp | 182
branches/CMake/release/libs/filesystem/test/path_test.cpp | 280
branches/CMake/release/libs/filesystem/test/wide_test.cpp | 10
branches/CMake/release/libs/function/doc/history.xml | 16
branches/CMake/release/libs/function/doc/misc.xml | 6
branches/CMake/release/libs/function/doc/reference.xml | 118
branches/CMake/release/libs/function/test/allocator_test.cpp | 61
branches/CMake/release/libs/gil/doc/index.html | 2
branches/CMake/release/libs/gil/example/interleaved_ref.hpp | 4
branches/CMake/release/libs/gil/test/Makefile | 34
branches/CMake/release/libs/gil/test/image.cpp | 1
branches/CMake/release/libs/gil/test/main.cpp | 26
branches/CMake/release/libs/gil/test/pixel.cpp | 2
branches/CMake/release/libs/intrusive/test/itestvalue.hpp | 9
branches/CMake/release/libs/math/doc/complex/complex-tr1.qbk | 2
branches/CMake/release/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex.html | 8
branches/CMake/release/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/acos.html | 22
branches/CMake/release/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/acosh.html | 22
branches/CMake/release/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/asin.html | 22
branches/CMake/release/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/asinh.html | 22
branches/CMake/release/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/atan.html | 22
branches/CMake/release/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/atanh.html | 22
branches/CMake/release/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/history.html | 8
branches/CMake/release/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/implementation.html | 8
branches/CMake/release/libs/math/doc/complex/html/index.html | 10
branches/CMake/release/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm.html | 8
branches/CMake/release/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/compile_time.html | 18
branches/CMake/release/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/credits.html | 8
branches/CMake/release/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/demo.html | 8
branches/CMake/release/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/gcd_function_object.html | 11
branches/CMake/release/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/header.html | 8
branches/CMake/release/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/history.html | 8
branches/CMake/release/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/introduction.html | 8
branches/CMake/release/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/lcm_function_object.html | 11
branches/CMake/release/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/rationale.html | 8
branches/CMake/release/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/run_time.html | 11
branches/CMake/release/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/synopsis.html | 11
branches/CMake/release/libs/math/doc/gcd/html/index.html | 10
branches/CMake/release/libs/math/doc/gcd/math-gcd.qbk | 2
branches/CMake/release/libs/math/doc/html/index.html | 22
branches/CMake/release/libs/math/doc/math.qbk | 12
branches/CMake/release/libs/math/doc/octonion/html/boost_octonions/octonions.html | 8
branches/CMake/release/libs/math/doc/octonion/html/boost_octonions/octonions/acknowledgements.html | 8
branches/CMake/release/libs/math/doc/octonion/html/boost_octonions/octonions/header_file.html | 8
branches/CMake/release/libs/math/doc/octonion/html/boost_octonions/octonions/history.html | 8
branches/CMake/release/libs/math/doc/octonion/html/boost_octonions/octonions/non_mem.html | 77
branches/CMake/release/libs/math/doc/octonion/html/boost_octonions/octonions/oct_create.html | 11
branches/CMake/release/libs/math/doc/octonion/html/boost_octonions/octonions/octonion_member_functions.html | 83
branches/CMake/release/libs/math/doc/octonion/html/boost_octonions/octonions/octonion_member_typedefs.html | 20
branches/CMake/release/libs/math/doc/octonion/html/boost_octonions/octonions/octonion_specializations.html | 347
branches/CMake/release/libs/math/doc/octonion/html/boost_octonions/octonions/octonion_value_operations.html | 50
branches/CMake/release/libs/math/doc/octonion/html/boost_octonions/octonions/octonions_transcendentals.html | 64
branches/CMake/release/libs/math/doc/octonion/html/boost_octonions/octonions/overview.html | 8
branches/CMake/release/libs/math/doc/octonion/html/boost_octonions/octonions/synopsis.html | 161
branches/CMake/release/libs/math/doc/octonion/html/boost_octonions/octonions/template_class_octonion.html | 93
branches/CMake/release/libs/math/doc/octonion/html/boost_octonions/octonions/test_program.html | 8
branches/CMake/release/libs/math/doc/octonion/html/boost_octonions/octonions/to_do.html | 8
branches/CMake/release/libs/math/doc/octonion/html/index.html | 10
branches/CMake/release/libs/math/doc/octonion/math-octonion.qbk | 2
branches/CMake/release/libs/math/doc/quaternion/html/boost_quaternions/quaternions.html | 8
branches/CMake/release/libs/math/doc/quaternion/html/boost_quaternions/quaternions/acknowledgements.html | 8
branches/CMake/release/libs/math/doc/quaternion/html/boost_quaternions/quaternions/create.html | 11
branches/CMake/release/libs/math/doc/quaternion/html/boost_quaternions/quaternions/exp.html | 8
branches/CMake/release/libs/math/doc/quaternion/html/boost_quaternions/quaternions/header_file.html | 8
branches/CMake/release/libs/math/doc/quaternion/html/boost_quaternions/quaternions/history.html | 8
branches/CMake/release/libs/math/doc/quaternion/html/boost_quaternions/quaternions/mem_fun.html | 88
branches/CMake/release/libs/math/doc/quaternion/html/boost_quaternions/quaternions/mem_typedef.html | 20
branches/CMake/release/libs/math/doc/quaternion/html/boost_quaternions/quaternions/non_mem.html | 81
branches/CMake/release/libs/math/doc/quaternion/html/boost_quaternions/quaternions/overview.html | 8
branches/CMake/release/libs/math/doc/quaternion/html/boost_quaternions/quaternions/quat.html | 67
branches/CMake/release/libs/math/doc/quaternion/html/boost_quaternions/quaternions/spec.html | 197
branches/CMake/release/libs/math/doc/quaternion/html/boost_quaternions/quaternions/synopsis.html | 141
branches/CMake/release/libs/math/doc/quaternion/html/boost_quaternions/quaternions/test_program.html | 8
branches/CMake/release/libs/math/doc/quaternion/html/boost_quaternions/quaternions/to_do.html | 8
branches/CMake/release/libs/math/doc/quaternion/html/boost_quaternions/quaternions/trans.html | 64
branches/CMake/release/libs/math/doc/quaternion/html/boost_quaternions/quaternions/value_op.html | 47
branches/CMake/release/libs/math/doc/quaternion/html/index.html | 10
branches/CMake/release/libs/math/doc/quaternion/math-quaternion.qbk | 2
branches/CMake/release/libs/math/doc/sf_and_dist/Jamfile.v2 | 2
branches/CMake/release/libs/math/doc/sf_and_dist/bessel_ik.qbk | 4
branches/CMake/release/libs/math/doc/sf_and_dist/bessel_jy.qbk | 4
branches/CMake/release/libs/math/doc/sf_and_dist/bessel_spherical.qbk | 4
branches/CMake/release/libs/math/doc/sf_and_dist/beta.qbk | 2
branches/CMake/release/libs/math/doc/sf_and_dist/common_overviews.qbk | 5
branches/CMake/release/libs/math/doc/sf_and_dist/concepts.qbk | 14
branches/CMake/release/libs/math/doc/sf_and_dist/credits.qbk | 19
branches/CMake/release/libs/math/doc/sf_and_dist/digamma.qbk | 2
branches/CMake/release/libs/math/doc/sf_and_dist/dist_reference.qbk | 4
branches/CMake/release/libs/math/doc/sf_and_dist/dist_tutorial.qbk | 24
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/bernoulli.qbk | 4
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/beta.qbk | 2
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/binomial.qbk | 4
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/cauchy.qbk | 4
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/chi_squared.qbk | 7
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/exponential.qbk | 9
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/extreme_value.qbk | 9
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/fisher.qbk | 2
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/gamma.qbk | 4
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/lognormal.qbk | 4
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/negative_binomial.qbk | 4
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/normal.qbk | 2
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/pareto.qbk | 11
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/poisson.qbk | 2
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/rayleigh.qbk | 4
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/students_t.qbk | 2
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/triangular.qbk | 4
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/uniform.qbk | 4
branches/CMake/release/libs/math/doc/sf_and_dist/distributions/weibull.qbk | 9
branches/CMake/release/libs/math/doc/sf_and_dist/ellint_carlson.qbk | 2
branches/CMake/release/libs/math/doc/sf_and_dist/ellint_legendre.qbk | 8
branches/CMake/release/libs/math/doc/sf_and_dist/erf.qbk | 33
branches/CMake/release/libs/math/doc/sf_and_dist/erf_inv.qbk | 4
branches/CMake/release/libs/math/doc/sf_and_dist/error_handling.qbk | 77
branches/CMake/release/libs/math/doc/sf_and_dist/fpclassify.qbk | 31
branches/CMake/release/libs/math/doc/sf_and_dist/gamma_ratios.qbk | 2
branches/CMake/release/libs/math/doc/sf_and_dist/hermite.qbk | 2
branches/CMake/release/libs/math/doc/sf_and_dist/html/index.html | 74
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/implementation.html | 53
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/lanczos.html | 22
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/refs.html | 22
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/relative_error.html | 10
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/remez.html | 24
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist.html | 20
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref.html | 16
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dist_algorithms.html | 14
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists.html | 16
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/bernoulli_dist.html | 22
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/beta_dist.html | 30
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/binomial_dist.html | 38
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/cauchy_dist.html | 22
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/chi_squared_dist.html | 28
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/exp_dist.html | 30
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/extreme_dist.html | 26
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/f_dist.html | 20
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/gamma_dist.html | 20
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/lognormal_dist.html | 20
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html | 42
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/normal_dist.html | 24
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/pareto.html | 32
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/poisson_dist.html | 18
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/rayleigh.html | 24
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/students_t_dist.html | 20
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/triangular_dist.html | 22
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/uniform_dist.html | 22
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/weibull.html | 28
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/nmp.html | 62
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/future.html | 16
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut.html | 12
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/dist_params.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview.html | 57
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/variates.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg.html | 12
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binom_conf.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binom_size_eg.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binomial_coinflip_example.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binomial_quiz_example.html | 12
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_intervals.html | 10
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_size.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_test.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/dist_construct_eg.html | 10
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/error_eg.html | 14
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/f_eg.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html | 10
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg/find_mean_and_sd_eg.html | 14
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg/find_scale_eg.html | 10
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nag_library.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/neg_binom_conf.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/normal_example.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/normal_example/normal_misc.html | 28
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/paired_st.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_intervals.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_size.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_test.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/two_sample_students_t.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview.html | 9
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/contact.html | 14
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/directories.html | 12
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/error_handling.html | 276 +
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/history1.html | 70
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/intro.html | 14
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/namespaces.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/navigation.html | 10
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/perf_over.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/pol_overview.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/result_type.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/threads.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/perf.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comp_compilers.html | 10
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comparisons.html | 38
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/perf/getting_best.html | 10
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/perf/interp.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_over.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_test_app.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/perf/tuning.html | 12
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_overview.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/assert_undefined.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/discrete_quant_ref.html | 20
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/error_handling_policies.html | 121
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/internal_promotion.html | 10
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/iteration_pol.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/namespace_pol.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/pol_ref_ref.html | 39
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/policy_defaults.html | 57
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/precision_pol.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/ad_hoc_dist_policies.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/ad_hoc_sf_policies.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/changing_policy_defaults.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/namespace_policies.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/policy_tut_defaults.html | 16
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/policy_usage.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/understand_dis_quant.html | 10
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/user_def_err_pol.html | 10
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/what_is_a_policy.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special.html | 54
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel.html | 26
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel_over.html | 14
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/mbessel.html | 26
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/sph_bessel.html | 22
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_1.html | 22
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_2.html | 24
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_3.html | 28
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_carlson.html | 22
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_intro.html | 20
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_binomial.html | 14
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_double_factorial.html | 14
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_factorial.html | 18
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_falling_factorial.html | 14
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_rising_factorial.html | 14
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/fpclass.html | 58
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/acosh.html | 11
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/asinh.html | 11
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/atanh.html | 17
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/inv_hyper_over.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers.html | 16
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/cbrt.html | 18
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/expm1.html | 18
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/hypot.html | 16
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/log1p.html | 18
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/powm1.html | 18
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/sqrt1pm1.html | 18
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/beta_derivative.html | 16
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/beta_function.html | 22
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/ibeta_function.html | 28
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/ibeta_inv_function.html | 18
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_function.html | 67
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_inv.html | 22
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/digamma.html | 20
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/gamma_derivatives.html | 16
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/gamma_ratios.html | 23
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/igamma.html | 32
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/igamma_inv.html | 18
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/lgamma.html | 20
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/tgamma.html | 20
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/hermite.html | 22
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/laguerre.html | 24
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/legendre.html | 28
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/sph_harm.html | 20
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc.html | 14
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc/sinc_overview.html | 20
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc/sinc_pi.html | 11
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc/sinhc_pi.html | 11
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/status.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/status/compilers.html | 19
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/status/credits.html | 22
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/status/history1.html | 64
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/status/issues.html | 1195 +++++
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit.html | 14
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/cf.html | 16
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/minima.html | 14
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/rational.html | 14
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots.html | 20
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots2.html | 14
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/series_evaluation.html | 14
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/error_test.html | 14
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/minimax.html | 35
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/polynomials.html | 12
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/test_data.html | 24
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals_overview.html | 8
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt.html | 12
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/archetypes.html | 10
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/concepts.html | 88
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/dist_concept.html | 10
branches/CMake/release/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/use_ntl.html | 12
branches/CMake/release/libs/math/doc/sf_and_dist/ibeta.qbk | 2
branches/CMake/release/libs/math/doc/sf_and_dist/igamma.qbk | 4
branches/CMake/release/libs/math/doc/sf_and_dist/implementation.qbk | 13
branches/CMake/release/libs/math/doc/sf_and_dist/inv_hyper.qbk | 6
branches/CMake/release/libs/math/doc/sf_and_dist/issues.qbk | 52
branches/CMake/release/libs/math/doc/sf_and_dist/laguerre.qbk | 2
branches/CMake/release/libs/math/doc/sf_and_dist/legendre.qbk | 4
branches/CMake/release/libs/math/doc/sf_and_dist/lgamma.qbk | 2
branches/CMake/release/libs/math/doc/sf_and_dist/math.qbk | 75
branches/CMake/release/libs/math/doc/sf_and_dist/minimax.qbk | 12
branches/CMake/release/libs/math/doc/sf_and_dist/policy.qbk | 86
branches/CMake/release/libs/math/doc/sf_and_dist/policy_tutorial.qbk | 2
branches/CMake/release/libs/math/doc/sf_and_dist/powers.qbk | 22
branches/CMake/release/libs/math/doc/sf_and_dist/references.qbk | 6
branches/CMake/release/libs/math/doc/sf_and_dist/roadmap.qbk | 18
branches/CMake/release/libs/math/doc/sf_and_dist/sinc.qbk | 11
branches/CMake/release/libs/math/doc/sf_and_dist/test_data.qbk | 2
branches/CMake/release/libs/math/doc/sf_and_dist/tgamma.qbk | 2
branches/CMake/release/libs/math/example/policy_eg_8.cpp | 2
branches/CMake/release/libs/math/minimax/f.cpp | 109
branches/CMake/release/libs/math/minimax/main.cpp | 158
branches/CMake/release/libs/math/performance/distributions.cpp | 196
branches/CMake/release/libs/math/performance/main.cpp | 7
branches/CMake/release/libs/math/performance/performance_measure.hpp | 13
branches/CMake/release/libs/math/test/Jamfile.v2 | 125
branches/CMake/release/libs/math/test/common_factor_test.cpp | 6
branches/CMake/release/libs/math/test/compile_test/distribution_concept_check.cpp | 1
branches/CMake/release/libs/math/test/compile_test/instantiate.hpp | 128
branches/CMake/release/libs/math/test/compile_test/test_compile_result.hpp | 4
branches/CMake/release/libs/math/test/functor.hpp | 12
branches/CMake/release/libs/math/test/handle_test_result.hpp | 5
branches/CMake/release/libs/math/test/test_bernoulli.cpp | 6
branches/CMake/release/libs/math/test/test_bessel_i.cpp | 3
branches/CMake/release/libs/math/test/test_bessel_j.cpp | 2
branches/CMake/release/libs/math/test/test_bessel_k.cpp | 2
branches/CMake/release/libs/math/test/test_bessel_y.cpp | 2
branches/CMake/release/libs/math/test/test_beta_dist.cpp | 6
branches/CMake/release/libs/math/test/test_beta_hooks.hpp | 41
branches/CMake/release/libs/math/test/test_binomial.cpp | 6
branches/CMake/release/libs/math/test/test_binomial_coeff.cpp | 5
branches/CMake/release/libs/math/test/test_classify.cpp | 2
branches/CMake/release/libs/math/test/test_error_handling.cpp | 61
branches/CMake/release/libs/math/test/test_find_location.cpp | 2
branches/CMake/release/libs/math/test/test_find_scale.cpp | 2
branches/CMake/release/libs/math/test/test_gamma_dist.cpp | 2
branches/CMake/release/libs/math/test/test_igamma_inv.cpp | 4
branches/CMake/release/libs/math/test/test_igamma_inva.cpp | 1
branches/CMake/release/libs/math/test/test_negative_binomial.cpp | 6
branches/CMake/release/libs/math/test/test_poisson.cpp | 2
branches/CMake/release/libs/math/test/test_policy.cpp | 42
branches/CMake/release/libs/math/test/test_policy_2.cpp | 25
branches/CMake/release/libs/math/test/test_rational_instances/test_rational_double4.cpp | 2
branches/CMake/release/libs/math/test/test_rational_instances/test_rational_float4.cpp | 2
branches/CMake/release/libs/math/test/test_rational_instances/test_rational_ldouble4.cpp | 2
branches/CMake/release/libs/math/test/test_rational_instances/test_rational_real_concept4.cpp | 2
branches/CMake/release/libs/math/test/test_rationals.cpp | 2
branches/CMake/release/libs/math/test/test_students_t.cpp | 2
branches/CMake/release/libs/math/vc71_fix/instantiate_all.cpp | 4
branches/CMake/release/libs/multi_index/doc/compiler_specifics.html | 14
branches/CMake/release/libs/parameter/doc/html/index.html | 419 -
branches/CMake/release/libs/parameter/doc/html/python.html | 146
branches/CMake/release/libs/parameter/doc/html/reference.html | 412
branches/CMake/release/libs/parameter/doc/index.rst | 5
branches/CMake/release/libs/parameter/doc/reference.rst | 8
branches/CMake/release/libs/program_options/doc/overview.xml | 16
branches/CMake/release/libs/program_options/example/first.cpp | 13
branches/CMake/release/libs/ptr_container/doc/examples.html | 5
branches/CMake/release/libs/ptr_container/doc/examples.rst | 3
branches/CMake/release/libs/ptr_container/doc/guidelines.html | 2
branches/CMake/release/libs/ptr_container/doc/guidelines.rst | 2
branches/CMake/release/libs/ptr_container/doc/headers.html | 7
branches/CMake/release/libs/ptr_container/doc/headers.rst | 2
branches/CMake/release/libs/ptr_container/doc/ptr_container.html | 37
branches/CMake/release/libs/ptr_container/doc/ptr_container.rst | 47
branches/CMake/release/libs/ptr_container/doc/ptr_sequence_adapter.html | 4
branches/CMake/release/libs/ptr_container/doc/ptr_sequence_adapter.rst | 5
branches/CMake/release/libs/ptr_container/doc/reference.html | 23
branches/CMake/release/libs/ptr_container/doc/reference.rst | 25
branches/CMake/release/libs/python/doc/projects.html | 27
branches/CMake/release/libs/python/doc/v2/Dereferenceable.html | 2
branches/CMake/release/libs/python/doc/v2/Extractor.html | 2
branches/CMake/release/libs/python/doc/v2/HolderGenerator.html | 2
branches/CMake/release/libs/python/doc/v2/object.html | 143
branches/CMake/release/libs/python/src/errors.cpp | 4
branches/CMake/release/libs/python/test/args.cpp | 2
branches/CMake/release/libs/python/test/module_tail.cpp | 1
branches/CMake/release/libs/python/test/numpy.cpp | 29
branches/CMake/release/libs/python/test/object.cpp | 55
branches/CMake/release/libs/python/test/object.py | 39
branches/CMake/release/libs/python/test/pickle3.cpp | 2
branches/CMake/release/libs/python/test/slice.cpp | 2
branches/CMake/release/libs/python/test/vector_indexing_suite.py | 13
branches/CMake/release/libs/range/index.html | 2
branches/CMake/release/libs/regex/doc/html/boost_regex/background_information.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/background_information/acknowledgements.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/background_information/examples.html | 16
branches/CMake/release/libs/regex/doc/html/boost_regex/background_information/faq.html | 8
branches/CMake/release/libs/regex/doc/html/boost_regex/background_information/futher.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/background_information/headers.html | 6
branches/CMake/release/libs/regex/doc/html/boost_regex/background_information/history.html | 24
branches/CMake/release/libs/regex/doc/html/boost_regex/background_information/locale.html | 40
branches/CMake/release/libs/regex/doc/html/boost_regex/background_information/performance.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/background_information/redist.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/background_information/standards.html | 24
branches/CMake/release/libs/regex/doc/html/boost_regex/background_information/thread_safety.html | 22
branches/CMake/release/libs/regex/doc/html/boost_regex/captures.html | 30
branches/CMake/release/libs/regex/doc/html/boost_regex/configuration.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/configuration/algorithm.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/configuration/compiler.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/configuration/linkage.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/configuration/locale.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/configuration/tuning.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/format.html | 10
branches/CMake/release/libs/regex/doc/html/boost_regex/format/boost_format_syntax.html | 20
branches/CMake/release/libs/regex/doc/html/boost_regex/format/perl_format.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/format/sed_format.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/install.html | 36
branches/CMake/release/libs/regex/doc/html/boost_regex/introduction_and_overview.html | 48
branches/CMake/release/libs/regex/doc/html/boost_regex/partial_matches.html | 22
branches/CMake/release/libs/regex/doc/html/boost_regex/ref.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/bad_expression.html | 27
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/basic_regex.html | 374
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/concepts.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/concepts/charT_concept.html | 6
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/concepts/iterator_concepts.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/concepts/traits_concept.html | 18
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/deprecated_interfaces.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html | 58
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html | 25
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html | 32
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html | 24
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/error_type.html | 15
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/match_flag_type.html | 27
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/match_results.html | 166
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/non_std_strings.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/intro.html | 9
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html | 36
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html | 40
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html | 31
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html | 64
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html | 7
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html | 32
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html | 7
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html | 7
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/posix.html | 29
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/regex_iterator.html | 99
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/regex_match.html | 47
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/regex_replace.html | 61
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/regex_search.html | 41
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/regex_token_iterator.html | 120
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/regex_traits.html | 13
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/sub_match.html | 368 -
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/syntax_option_type.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html | 18
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html | 16
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html | 19
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html | 10
branches/CMake/release/libs/regex/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html | 11
branches/CMake/release/libs/regex/doc/html/boost_regex/syntax.html | 10
branches/CMake/release/libs/regex/doc/html/boost_regex/syntax/basic_extended.html | 185
branches/CMake/release/libs/regex/doc/html/boost_regex/syntax/basic_syntax.html | 124
branches/CMake/release/libs/regex/doc/html/boost_regex/syntax/character_classes.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/syntax/character_classes/std_char_clases.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/syntax/collating_names.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/syntax/collating_names/digraphs.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/syntax/collating_names/named_unicode.html | 6
branches/CMake/release/libs/regex/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/syntax/leftmost_longest_rule.html | 4
branches/CMake/release/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html | 242
branches/CMake/release/libs/regex/doc/html/boost_regex/unicode.html | 16
branches/CMake/release/libs/regex/doc/html/index.html | 6
branches/CMake/release/libs/regex/doc/syntax_perl.qbk | 2
branches/CMake/release/libs/regex/example/snippets/icu_example.cpp | 2
branches/CMake/release/libs/regex/src/posix_api.cpp | 16
branches/CMake/release/libs/regex/src/usinstances.cpp | 5
branches/CMake/release/libs/regex/src/wc_regex_traits.cpp | 35
branches/CMake/release/libs/regex/src/wide_posix_api.cpp | 16
branches/CMake/release/libs/regex/test/regress/test_escapes.cpp | 3
branches/CMake/release/libs/serialization/build/Jamfile.v2 | 4
branches/CMake/release/libs/serialization/test/Jamfile.v2 | 4
branches/CMake/release/libs/serialization/util/test.jam | 2
branches/CMake/release/libs/smart_ptr/intrusive_ptr.html | 6
branches/CMake/release/libs/smart_ptr/shared_ptr.htm | 11
branches/CMake/release/libs/smart_ptr/test/Jamfile.v2 | 15
branches/CMake/release/libs/smart_ptr/test/pointer_cast_test.cpp | 2
branches/CMake/release/libs/smart_ptr/test/shared_from_this_test.cpp | 3
branches/CMake/release/libs/smart_ptr/test/shared_ptr_mt_test.cpp | 139
branches/CMake/release/libs/smart_ptr/test/shared_ptr_test.cpp | 12
branches/CMake/release/libs/smart_ptr/test/smart_ptr_test.cpp | 4
branches/CMake/release/libs/smart_ptr/test/sp_unary_addr_test.cpp | 5
branches/CMake/release/libs/smart_ptr/test/weak_ptr_mt_test.cpp | 132
branches/CMake/release/libs/spirit/doc/Jamfile | 9
branches/CMake/release/libs/spirit/doc/introduction.qbk | 155
branches/CMake/release/libs/spirit/doc/lex.qbk | 12
branches/CMake/release/libs/spirit/doc/lex/introduction.qbk | 21
branches/CMake/release/libs/spirit/doc/lex/lexer_attributes.qbk | 2
branches/CMake/release/libs/spirit/doc/lex/lexer_primitives.qbk | 3
branches/CMake/release/libs/spirit/doc/lex/lexer_quickstart1.qbk | 2
branches/CMake/release/libs/spirit/doc/lex/lexer_quickstart2.qbk | 2
branches/CMake/release/libs/spirit/doc/lex/lexer_quickstart3.qbk | 2
branches/CMake/release/libs/spirit/doc/lex/lexer_semantic_actions.qbk | 2
branches/CMake/release/libs/spirit/doc/lex/lexer_states.qbk | 2
branches/CMake/release/libs/spirit/doc/lex/lexer_static_model.qbk | 2
branches/CMake/release/libs/spirit/doc/lex/lexer_tutorials.qbk | 2
branches/CMake/release/libs/spirit/doc/lex/parsing_using_a_lexer.qbk | 2
branches/CMake/release/libs/spirit/doc/lex/token_definition.qbk | 2
branches/CMake/release/libs/spirit/doc/lex/tokenizing.qbk | 2
branches/CMake/release/libs/spirit/doc/lex/tokens_values.qbk | 2
branches/CMake/release/libs/spirit/doc/qi_and_karma.qbk | 15
branches/CMake/release/libs/spirit/doc/qi_and_karma/error_handling.qbk | 113
branches/CMake/release/libs/spirit/doc/spirit2.qbk | 63
branches/CMake/release/libs/spirit/doc/what_s_new.qbk | 42
branches/CMake/release/libs/spirit/example/karma/actions.cpp | 2
branches/CMake/release/libs/spirit/example/karma/calc2_ast_dump.cpp | 16
branches/CMake/release/libs/spirit/example/karma/calc2_ast_rpn.cpp | 14
branches/CMake/release/libs/spirit/example/karma/calc2_ast_vm.cpp | 16
branches/CMake/release/libs/spirit/example/karma/mini_xml_karma.cpp | 14
branches/CMake/release/libs/spirit/example/lex/example1.cpp | 6
branches/CMake/release/libs/spirit/example/lex/example2.cpp | 14
branches/CMake/release/libs/spirit/example/lex/example3.cpp | 16
branches/CMake/release/libs/spirit/example/lex/example4.cpp | 6
branches/CMake/release/libs/spirit/example/lex/example5.cpp | 8
branches/CMake/release/libs/spirit/example/lex/example6.cpp | 6
branches/CMake/release/libs/spirit/example/lex/print_numbers.cpp | 10
branches/CMake/release/libs/spirit/example/lex/static_lexer/word_count_static.cpp | 13
branches/CMake/release/libs/spirit/example/lex/strip_comments.cpp | 12
branches/CMake/release/libs/spirit/example/lex/word_count.cpp | 13
branches/CMake/release/libs/spirit/example/qi/Jamfile | 15
branches/CMake/release/libs/spirit/example/qi/actions.cpp | 52
branches/CMake/release/libs/spirit/example/qi/calc1.cpp | 7
branches/CMake/release/libs/spirit/example/qi/calc2.cpp | 7
branches/CMake/release/libs/spirit/example/qi/calc2_ast.cpp | 7
branches/CMake/release/libs/spirit/example/qi/calc3.cpp | 7
branches/CMake/release/libs/spirit/example/qi/calc3_lexer.cpp | 10
branches/CMake/release/libs/spirit/example/qi/calc4.cpp | 6
branches/CMake/release/libs/spirit/example/qi/calc5.cpp | 9
branches/CMake/release/libs/spirit/example/qi/calc6/calc6.cpp | 7
branches/CMake/release/libs/spirit/example/qi/calc6/calc6.hpp | 7
branches/CMake/release/libs/spirit/example/qi/calc6/calc6b.hpp | 3
branches/CMake/release/libs/spirit/example/qi/calc6/calc6c.hpp | 6
branches/CMake/release/libs/spirit/example/qi/calc7/calc7.cpp | 8
branches/CMake/release/libs/spirit/example/qi/calc7/calc7.hpp | 7
branches/CMake/release/libs/spirit/example/qi/calc7/calc7b.hpp | 3
branches/CMake/release/libs/spirit/example/qi/calc7/calc7c.hpp | 6
branches/CMake/release/libs/spirit/example/qi/complex_number.cpp | 2
branches/CMake/release/libs/spirit/example/qi/employee.cpp | 13
branches/CMake/release/libs/spirit/example/qi/mini_c/mini_c.cpp | 12
branches/CMake/release/libs/spirit/example/qi/mini_c/mini_c.hpp | 22
branches/CMake/release/libs/spirit/example/qi/mini_c/mini_cb.hpp | 3
branches/CMake/release/libs/spirit/example/qi/mini_c/mini_cc.hpp | 6
branches/CMake/release/libs/spirit/example/qi/mini_c/mini_cd.hpp | 14
branches/CMake/release/libs/spirit/example/qi/mini_xml1.cpp | 16
branches/CMake/release/libs/spirit/example/qi/mini_xml2.cpp | 15
branches/CMake/release/libs/spirit/example/qi/num_list2.cpp | 5
branches/CMake/release/libs/spirit/example/qi/num_list3.cpp | 6
branches/CMake/release/libs/spirit/example/qi/roman.cpp | 46
branches/CMake/release/libs/spirit/example/qi/sum.cpp | 8
branches/CMake/release/libs/spirit/test/karma/actions.cpp | 2
branches/CMake/release/libs/spirit/test/karma/char.cpp | 4
branches/CMake/release/libs/spirit/test/karma/grammar.cpp | 7
branches/CMake/release/libs/spirit/test/karma/grammar_fail.cpp | 2
branches/CMake/release/libs/spirit/test/karma/real_numerics.cpp | 11
branches/CMake/release/libs/spirit/test/karma/test.hpp | 8
branches/CMake/release/libs/spirit/test/qi/grammar.cpp | 59
branches/CMake/release/libs/spirit/test/qi/grammar_fail.cpp | 7
branches/CMake/release/libs/spirit/test/qi/range_run.cpp | 4
branches/CMake/release/libs/statechart/Statechart.sln | 635 +-
branches/CMake/release/libs/statechart/doc/acknowledgments.html | 22
branches/CMake/release/libs/statechart/doc/configuration.html | 27
branches/CMake/release/libs/statechart/doc/faq.html | 49
branches/CMake/release/libs/statechart/doc/future_and_history.html | 35
branches/CMake/release/libs/statechart/doc/index.html | 2
branches/CMake/release/libs/statechart/doc/reference.html | 599 +-
branches/CMake/release/libs/statechart/example/BitMachine/BitMachine.vcproj | 512 +
branches/CMake/release/libs/statechart/example/Camera/Camera.vcproj | 574 +-
branches/CMake/release/libs/statechart/example/Handcrafted/Handcrafted.vcproj | 345
branches/CMake/release/libs/statechart/example/Jamfile.v2 | 6
branches/CMake/release/libs/statechart/example/Keyboard/Keyboard.vcproj | 485 +
branches/CMake/release/libs/statechart/example/Performance/Performance.cpp | 29
branches/CMake/release/libs/statechart/example/Performance/Performance.vcproj | 486 +
branches/CMake/release/libs/statechart/example/PingPong/PingPong.cpp | 161
branches/CMake/release/libs/statechart/example/PingPong/PingPong.vcproj | 262
branches/CMake/release/libs/statechart/example/StopWatch/StopWatch.vcproj | 480 +
branches/CMake/release/libs/statechart/test/CustomReactionTest.vcproj | 340
branches/CMake/release/libs/statechart/test/DeferralTest.vcproj | 340
branches/CMake/release/libs/statechart/test/FifoSchedulerTest.cpp | 11
branches/CMake/release/libs/statechart/test/FifoSchedulerTest.vcproj | 340
branches/CMake/release/libs/statechart/test/HistoryTest.vcproj | 340
branches/CMake/release/libs/statechart/test/InStateReactionTest.cpp | 39
branches/CMake/release/libs/statechart/test/InStateReactionTest.vcproj | 340
branches/CMake/release/libs/statechart/test/InconsistentHistoryTest1.vcproj | 336
branches/CMake/release/libs/statechart/test/InconsistentHistoryTest2.vcproj | 336
branches/CMake/release/libs/statechart/test/InconsistentHistoryTest3.vcproj | 336
branches/CMake/release/libs/statechart/test/InconsistentHistoryTest4.vcproj | 336
branches/CMake/release/libs/statechart/test/InconsistentHistoryTest5.vcproj | 336
branches/CMake/release/libs/statechart/test/InconsistentHistoryTest6.vcproj | 336
branches/CMake/release/libs/statechart/test/InconsistentHistoryTest7.vcproj | 336
branches/CMake/release/libs/statechart/test/InconsistentHistoryTest8.vcproj | 336
branches/CMake/release/libs/statechart/test/InvalidChartTest1.vcproj | 336
branches/CMake/release/libs/statechart/test/InvalidChartTest2.vcproj | 336
branches/CMake/release/libs/statechart/test/InvalidChartTest3.vcproj | 336
branches/CMake/release/libs/statechart/test/InvalidResultAssignTest.vcproj | 336
branches/CMake/release/libs/statechart/test/InvalidResultCopyTest.vcproj | 340
branches/CMake/release/libs/statechart/test/InvalidResultDefCtorTest.vcproj | 336
branches/CMake/release/libs/statechart/test/InvalidTransitionTest1.vcproj | 336
branches/CMake/release/libs/statechart/test/InvalidTransitionTest2.vcproj | 336
branches/CMake/release/libs/statechart/test/Jamfile.v2 | 2
branches/CMake/release/libs/statechart/test/StateCastTest.vcproj | 340
branches/CMake/release/libs/statechart/test/StateIterationTest.vcproj | 340
branches/CMake/release/libs/statechart/test/TerminationTest.vcproj | 340
branches/CMake/release/libs/statechart/test/TransitionTest.vcproj | 365 +
branches/CMake/release/libs/statechart/test/TuTest.cpp | 2
branches/CMake/release/libs/statechart/test/TuTest.hpp | 11
branches/CMake/release/libs/statechart/test/TuTest.vcproj | 365 +
branches/CMake/release/libs/statechart/test/TypeInfoTest.vcproj | 340
branches/CMake/release/libs/statechart/test/UnconsumedResultTest.vcproj | 340
branches/CMake/release/libs/statechart/test/UnsuppDeepHistoryTest.vcproj | 336
branches/CMake/release/libs/static_assert/doc/static_assert.qbk | 2
branches/CMake/release/libs/system/doc/index.html | 16
branches/CMake/release/libs/system/doc/reference.html | 58
branches/CMake/release/libs/system/src/error_code.cpp | 31
branches/CMake/release/libs/system/test/Jamfile.v2 | 17
branches/CMake/release/libs/system/test/error_code_test.cpp | 9
branches/CMake/release/libs/system/test/header_only_test.cpp | 9
branches/CMake/release/libs/system/test/system_error_test.cpp | 68
branches/CMake/release/libs/tr1/doc/tr1.qbk | 3
branches/CMake/release/libs/tr1/test/Jamfile.v2 | 13
branches/CMake/release/libs/type_traits/doc/function_traits.qbk | 12
branches/CMake/release/libs/type_traits/doc/has_virtual_destructor.qbk | 2
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/background.html | 124
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/category.html | 8
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/category/alignment.html | 19
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/category/function.html | 17
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/category/transform.html | 57
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/category/value_traits.html | 16
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/category/value_traits/primary.html | 60
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/category/value_traits/properties.html | 59
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/category/value_traits/relate.html | 17
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/credits.html | 10
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/examples.html | 8
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/examples/copy.html | 19
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/examples/destruct.html | 17
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/examples/fill.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/examples/iter.html | 23
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/examples/to_double.html | 11
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/intrinsics.html | 128
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/intro.html | 12
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/mpl.html | 14
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference.html | 8
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/add_const.html | 15
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/add_cv.html | 15
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/add_pointer.html | 15
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/add_reference.html | 15
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/add_volatile.html | 15
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/aligned_storage.html | 11
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/alignment_of.html | 17
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/decay.html | 13
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/extent.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/floating_point_promotion.html | 13
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/function_traits.html | 29
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/has_no_throw_def_cons.html | 10
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_assign.html | 17
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_constructor.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_copy.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_cp_cons.html | 10
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_assign.html | 23
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_constructor.html | 25
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_copy.html | 25
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_cp_cons.html | 10
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_def_cons.html | 10
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_destructor.html | 23
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/has_virtual_destructor.html | 23
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/integral_constant.html | 11
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/integral_promotion.html | 13
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_abstract.html | 23
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_arithmetic.html | 25
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_array.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_base_of.html | 23
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_class.html | 27
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_complex.html | 13
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_compound.html | 23
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_const.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_convertible.html | 26
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_empty.html | 23
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_enum.html | 23
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_floating_point.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_function.html | 32
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_fundamental.html | 27
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_integral.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_member_function_pointer.html | 25
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_member_object_pointer.html | 25
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_member_pointer.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_object.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_pod.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_pointer.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_polymorphic.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_reference.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_same.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_scalar.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_signed.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_stateless.html | 24
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_union.html | 25
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_unsigned.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_void.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/is_volatile.html | 21
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/make_signed.html | 13
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/make_unsigned.html | 13
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/promote.html | 17
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/rank.html | 19
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_all_extents.html | 15
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_const.html | 15
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_cv.html | 15
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_extent.html | 15
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_pointer.html | 15
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_reference.html | 15
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/remove_volatile.html | 15
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/reference/type_with_alignment.html | 11
branches/CMake/release/libs/type_traits/doc/html/boost_typetraits/user_defined.html | 23
branches/CMake/release/libs/type_traits/doc/html/index.html | 10
branches/CMake/release/libs/type_traits/doc/intrinsics.qbk | 12
branches/CMake/release/libs/type_traits/test/alignment_of_test.cpp | 35
branches/CMake/release/libs/type_traits/test/check_integral_constant.hpp | 8
branches/CMake/release/libs/type_traits/test/has_virtual_destructor_test.cpp | 1
branches/CMake/release/libs/type_traits/test/is_convertible_test.cpp | 6
branches/CMake/release/libs/type_traits/test/make_signed_test.cpp | 16
branches/CMake/release/libs/type_traits/test/make_unsigned_test.cpp | 16
branches/CMake/release/libs/type_traits/test/type_with_alignment_test.cpp | 260
branches/CMake/release/libs/unordered/doc/rationale.qbk | 37
branches/CMake/release/libs/unordered/doc/ref.xml | 8
branches/CMake/release/status/explicit-failures-markup.xml | 21
branches/CMake/release/tools/boostbook/doc/documenting.xml | 2
branches/CMake/release/tools/build/v2/build-system.jam | 63
branches/CMake/release/tools/build/v2/build/alias.jam | 33
branches/CMake/release/tools/build/v2/build/feature.jam | 52
branches/CMake/release/tools/build/v2/build/generators.jam | 231
branches/CMake/release/tools/build/v2/build/modifiers.jam | 78
branches/CMake/release/tools/build/v2/build/project.jam | 98
branches/CMake/release/tools/build/v2/build/property-set.jam | 42
branches/CMake/release/tools/build/v2/build/property.jam | 65
branches/CMake/release/tools/build/v2/build/scanner.jam | 1
branches/CMake/release/tools/build/v2/build/targets.jam | 268
branches/CMake/release/tools/build/v2/build/toolset.jam | 10
branches/CMake/release/tools/build/v2/build/type.jam | 22
branches/CMake/release/tools/build/v2/build/version.jam | 123
branches/CMake/release/tools/build/v2/build/virtual-target.jam | 82
branches/CMake/release/tools/build/v2/doc/src/advanced.xml | 402
branches/CMake/release/tools/build/v2/doc/src/extending.xml | 149
branches/CMake/release/tools/build/v2/doc/src/fragments.xml | 59
branches/CMake/release/tools/build/v2/doc/src/reference.xml | 721 +-
branches/CMake/release/tools/build/v2/doc/src/tasks.xml | 429 +
branches/CMake/release/tools/build/v2/doc/src/tutorial.xml | 590 +-
branches/CMake/release/tools/build/v2/index.html | 2
branches/CMake/release/tools/build/v2/kernel/bootstrap.jam | 6
branches/CMake/release/tools/build/v2/kernel/class.jam | 195
branches/CMake/release/tools/build/v2/kernel/errors.jam | 12
branches/CMake/release/tools/build/v2/kernel/modules.jam | 114
branches/CMake/release/tools/build/v2/roll.sh | 2
branches/CMake/release/tools/build/v2/test/BoostBuild.py | 166
branches/CMake/release/tools/build/v2/test/TestCmd.py | 321
branches/CMake/release/tools/build/v2/test/build_file.py | 178
branches/CMake/release/tools/build/v2/test/conditionals_multiple.py | 2
branches/CMake/release/tools/build/v2/test/example_qt4.py | 6
branches/CMake/release/tools/build/v2/test/rebuilds.py | 2
branches/CMake/release/tools/build/v2/test/test_all.py | 15
branches/CMake/release/tools/build/v2/test/test_system.html | 388 +
branches/CMake/release/tools/build/v2/test/unit_test.py | 14
branches/CMake/release/tools/build/v2/tools/acc.jam | 3
branches/CMake/release/tools/build/v2/tools/builtin.jam | 31
branches/CMake/release/tools/build/v2/tools/common.jam | 218
branches/CMake/release/tools/build/v2/tools/como-linux.jam | 30
branches/CMake/release/tools/build/v2/tools/como-win.jam | 65
branches/CMake/release/tools/build/v2/tools/como.jam | 5
branches/CMake/release/tools/build/v2/tools/darwin.jam | 275
branches/CMake/release/tools/build/v2/tools/doxygen.jam | 198
branches/CMake/release/tools/build/v2/tools/gcc.jam | 38
branches/CMake/release/tools/build/v2/tools/intel-darwin.jam | 11
branches/CMake/release/tools/build/v2/tools/intel-win.jam | 3
branches/CMake/release/tools/build/v2/tools/make.jam | 64
branches/CMake/release/tools/build/v2/tools/msvc.jam | 402 +
branches/CMake/release/tools/build/v2/tools/pathscale.jam | 4
branches/CMake/release/tools/build/v2/tools/pgi.jam | 6
branches/CMake/release/tools/build/v2/tools/python.jam | 648 +-
branches/CMake/release/tools/build/v2/tools/qt3.jam | 85
branches/CMake/release/tools/build/v2/tools/qt4.jam | 651 +-
branches/CMake/release/tools/build/v2/tools/quickbook.jam | 52
branches/CMake/release/tools/build/v2/tools/stage.jam | 197
branches/CMake/release/tools/build/v2/tools/symlink.jam | 6
branches/CMake/release/tools/build/v2/tools/testing.jam | 24
branches/CMake/release/tools/build/v2/tools/vacpp.jam | 2
branches/CMake/release/tools/build/v2/tools/xsltproc.jam | 132
branches/CMake/release/tools/build/v2/user-config.jam | 108
branches/CMake/release/tools/build/v2/util/assert.jam | 342 +
branches/CMake/release/tools/build/v2/util/container.jam | 333
branches/CMake/release/tools/build/v2/util/doc.jam | 281
branches/CMake/release/tools/build/v2/util/indirect.jam | 5
branches/CMake/release/tools/build/v2/util/numbers.jam | 119
branches/CMake/release/tools/build/v2/util/os.jam | 3
branches/CMake/release/tools/build/v2/util/path.jam | 247
branches/CMake/release/tools/build/v2/util/print.jam | 134
branches/CMake/release/tools/build/v2/util/sequence.jam | 77
branches/CMake/release/tools/build/v2/util/set.jam | 47
branches/CMake/release/tools/build/v2/util/string.jam | 86
branches/CMake/release/tools/build/v2/util/utility.jam | 2
branches/CMake/release/tools/inspect/build/Jamfile.v2 | 2
branches/CMake/release/tools/inspect/copyright_check.hpp | 2
branches/CMake/release/tools/inspect/crlf_check.hpp | 4
branches/CMake/release/tools/inspect/index.html | 11
branches/CMake/release/tools/inspect/inspect.cpp | 173
branches/CMake/release/tools/inspect/inspector.hpp | 2
branches/CMake/release/tools/inspect/license_check.hpp | 4
branches/CMake/release/tools/inspect/link_check.cpp | 132
branches/CMake/release/tools/inspect/link_check.hpp | 10
branches/CMake/release/tools/inspect/minmax_check.hpp | 2
branches/CMake/release/tools/inspect/tab_check.hpp | 4
branches/CMake/release/tools/inspect/time_string.hpp | 2
branches/CMake/release/tools/inspect/unnamed_namespace_check.hpp | 2
branches/CMake/release/tools/jam/doc/bjam.qbk | 12
branches/CMake/release/tools/jam/src/Jambase | 277
branches/CMake/release/tools/jam/src/boost-jam.spec | 128
branches/CMake/release/tools/jam/src/build.bat | 5
branches/CMake/release/tools/jam/src/build.jam | 2
branches/CMake/release/tools/jam/src/builtins.c | 469 +
branches/CMake/release/tools/jam/src/compile.c | 16
branches/CMake/release/tools/jam/src/execnt.c | 61
branches/CMake/release/tools/jam/src/execunix.c | 20
branches/CMake/release/tools/jam/src/expand.c | 7
branches/CMake/release/tools/jam/src/filent.c | 25
branches/CMake/release/tools/jam/src/filesys.c | 1
branches/CMake/release/tools/jam/src/filesys.h | 5
branches/CMake/release/tools/jam/src/hcache.c | 8
branches/CMake/release/tools/jam/src/jambase.c | 111
branches/CMake/release/tools/jam/src/lists.c | 114
branches/CMake/release/tools/jam/src/make.c | 3
branches/CMake/release/tools/jam/src/make1.c | 5
branches/CMake/release/tools/jam/src/modules/property-set.c | 33
branches/CMake/release/tools/jam/src/native.c | 10
branches/CMake/release/tools/jam/src/patchlevel.h | 6
branches/CMake/release/tools/jam/src/rules.c | 5
branches/CMake/release/tools/jam/src/search.c | 15
branches/CMake/release/tools/jam/src/search.h | 2
branches/CMake/release/tools/jam/test/action_status.jam | 11
branches/CMake/release/tools/jam/test/actions_quietly.jam | 4
branches/CMake/release/tools/jam/test/builtin_shell.jam | 30
branches/CMake/release/tools/jam/test/option_d2.jam | 2
branches/CMake/release/tools/jam/test/option_l.jam | 3
branches/CMake/release/tools/jam/test/option_n.jam | 2
branches/CMake/release/tools/jam/test/parallel_actions.jam | 2
branches/CMake/release/tools/jam/test/parallel_multifile_actions.jam | 6
branches/CMake/release/tools/jam/test/test.jam | 9
branches/CMake/release/tools/quickbook/detail/actions.cpp | 85
branches/CMake/release/tools/quickbook/doc/html/index.html | 8
branches/CMake/release/tools/quickbook/doc/html/quickbook/change_log.html | 45
branches/CMake/release/tools/quickbook/doc/html/quickbook/editors.html | 18
branches/CMake/release/tools/quickbook/doc/html/quickbook/editors/kde_support.html | 113
branches/CMake/release/tools/quickbook/doc/html/quickbook/editors/scite.html | 25
branches/CMake/release/tools/quickbook/doc/html/quickbook/faq.html | 29
branches/CMake/release/tools/quickbook/doc/html/quickbook/install.html | 15
branches/CMake/release/tools/quickbook/doc/html/quickbook/install/linux.html | 39
branches/CMake/release/tools/quickbook/doc/html/quickbook/install/macosx.html | 47
branches/CMake/release/tools/quickbook/doc/html/quickbook/install/windows.html | 51
branches/CMake/release/tools/quickbook/doc/html/quickbook/intro.html | 13
branches/CMake/release/tools/quickbook/doc/html/quickbook/ref.html | 220
branches/CMake/release/tools/quickbook/doc/html/quickbook/syntax.html | 9
branches/CMake/release/tools/quickbook/doc/html/quickbook/syntax/block.html | 449 -
branches/CMake/release/tools/quickbook/doc/html/quickbook/syntax/comments.html | 11
branches/CMake/release/tools/quickbook/doc/html/quickbook/syntax/phrase.html | 271
branches/CMake/release/tools/quickbook/test/code-block-1.gold | 3
branches/CMake/release/tools/quickbook/test/code-block-2.gold | 3
branches/CMake/release/tools/quickbook/test/import.gold | 6
branches/CMake/release/tools/quickbook/test/quickbook-manual.gold | 5076 +++++++++++-----------
branches/CMake/release/tools/quickbook/test/templates.gold | 3
branches/CMake/release/tools/quickbook/test/templates.quickbook | 7
1513 files changed, 41706 insertions(+), 31644 deletions(-)
Modified: branches/CMake/release/boost/any.hpp
==============================================================================
--- branches/CMake/release/boost/any.hpp (original)
+++ branches/CMake/release/boost/any.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -127,6 +127,8 @@
ValueType held;
+ private: // intentionally left unimplemented
+ holder & operator=(const holder &);
};
#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
Modified: branches/CMake/release/boost/archive/basic_binary_iprimitive.hpp
==============================================================================
--- branches/CMake/release/boost/archive/basic_binary_iprimitive.hpp (original)
+++ branches/CMake/release/boost/archive/basic_binary_iprimitive.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -120,11 +120,11 @@
~basic_binary_iprimitive();
public:
// we provide an optimized load for all fundamental types
- //typedef serialization::is_bitwise_serializable<mpl::_1>
- // use_array_optimization;
+ // 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> {};
+ template <class T>
+ struct apply : public serialization::is_bitwise_serializable<T> {};
};
// the optimized load_array dispatches to load_binary
Modified: branches/CMake/release/boost/archive/basic_binary_oprimitive.hpp
==============================================================================
--- branches/CMake/release/boost/archive/basic_binary_oprimitive.hpp (original)
+++ branches/CMake/release/boost/archive/basic_binary_oprimitive.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -120,13 +120,13 @@
// workaround without using mpl lambdas
struct use_array_optimization {
template <class T>
- struct apply : public serialization::is_bitwise_serializable<T> {};
+ struct apply : public boost::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)
+ void save_array(boost::serialization::array<ValueType> const& a, unsigned int)
{
save_binary(a.address(),a.count()*sizeof(ValueType));
}
Modified: branches/CMake/release/boost/archive/detail/oserializer.hpp
==============================================================================
--- branches/CMake/release/boost/archive/detail/oserializer.hpp (original)
+++ branches/CMake/release/boost/archive/detail/oserializer.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -353,8 +353,8 @@
T & t
){
BOOST_DEDUCED_TYPENAME
- boost::serialization::type_info_implementation<T>::type
- const & i = boost::serialization::type_info_implementation<T>::type
+ boost::serialization::type_info_implementation<T>::type const
+ & i = boost::serialization::type_info_implementation<T>::type
::get_const_instance();
boost::serialization::extended_type_info const * const this_type = & i;
@@ -383,7 +383,11 @@
}
// convert pointer to more derived type. if this is thrown
// it means that the base/derived relationship hasn't be registered
- vp = serialization::void_downcast(*true_type, *this_type, &t);
+ vp = serialization::void_downcast(
+ *true_type,
+ *this_type,
+ static_cast<const void *>(&t)
+ );
if(NULL == vp){
boost::throw_exception(
archive_exception(archive_exception::unregistered_cast)
Modified: branches/CMake/release/boost/archive/impl/xml_wiarchive_impl.ipp
==============================================================================
--- branches/CMake/release/boost/archive/impl/xml_wiarchive_impl.ipp (original)
+++ branches/CMake/release/boost/archive/impl/xml_wiarchive_impl.ipp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -166,7 +166,7 @@
archive_locale.reset(
add_facet(
std::locale::classic(),
- new detail::utf8_codecvt_facet
+ new boost::archive::detail::utf8_codecvt_facet
)
);
is.imbue(* archive_locale);
Modified: branches/CMake/release/boost/archive/impl/xml_woarchive_impl.ipp
==============================================================================
--- branches/CMake/release/boost/archive/impl/xml_woarchive_impl.ipp (original)
+++ branches/CMake/release/boost/archive/impl/xml_woarchive_impl.ipp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -139,12 +139,13 @@
// we can hack around this by using a static codecvt that never
// gets destroyed.
if(0 == (flags & no_codecvt)){
- detail::utf8_codecvt_facet *pfacet;
+ boost::archive::detail::utf8_codecvt_facet *pfacet;
#if defined(__SGI_STL_PORT)
- static detail::utf8_codecvt_facet facet(static_cast<size_t>(1));
+ static boost::archive::detail::utf8_codecvt_facet
+ facet(static_cast<size_t>(1));
pfacet = & facet;
#else
- pfacet = new detail::utf8_codecvt_facet;
+ pfacet = new boost::archive::detail::utf8_codecvt_facet;
#endif
archive_locale.reset(add_facet(std::locale::classic(), pfacet));
os.imbue(* archive_locale);
Modified: branches/CMake/release/boost/archive/shared_ptr_helper.hpp
==============================================================================
--- branches/CMake/release/boost/archive/shared_ptr_helper.hpp (original)
+++ branches/CMake/release/boost/archive/shared_ptr_helper.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -54,7 +54,7 @@
// a common class for holding various types of shared pointers
class shared_ptr_helper {
- typedef std::map<void*, shared_ptr<void> > collection_type;
+ typedef std::map<const void *, shared_ptr<void> > collection_type;
typedef collection_type::const_iterator iterator_type;
// list of shared_pointers create accessable by raw pointer. This
// is used to "match up" shared pointers loaded at different
@@ -86,7 +86,7 @@
// return a void pointer to the most derived type
template<class T>
- void * object_identifier(T * t) const {
+ const void * object_identifier(T * t) const {
const boost::serialization::extended_type_info * true_type
= boost::serialization::type_info_implementation<T>::type
::get_const_instance().get_derived_extended_type_info(*t);
@@ -101,7 +101,11 @@
const boost::serialization::extended_type_info * this_type
= & boost::serialization::type_info_implementation<T>::type
::get_const_instance();
- void * vp = void_downcast(*true_type, *this_type, t);
+ const void * vp = void_downcast(
+ *true_type,
+ *this_type,
+ static_cast<const void *>(t)
+ );
return vp;
}
public:
@@ -113,7 +117,7 @@
}
// get pointer to the most derived object. This is effectively
// the object identifer
- void * od = object_identifier(r);
+ const void * od = object_identifier(r);
if(NULL == m_pointers)
m_pointers = new collection_type;
Modified: branches/CMake/release/boost/asio/detail/socket_types.hpp
==============================================================================
--- branches/CMake/release/boost/asio/detail/socket_types.hpp (original)
+++ branches/CMake/release/boost/asio/detail/socket_types.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -188,7 +188,12 @@
const int message_peek = MSG_PEEK;
const int message_out_of_band = MSG_OOB;
const int message_do_not_route = MSG_DONTROUTE;
+# if defined(IOV_MAX)
const int max_iov_len = IOV_MAX;
+# else
+// POSIX platforms are not required to define IOV_MAX.
+const int max_iov_len = 16;
+# endif
#endif
const int custom_socket_option_level = 0xA5100000;
const int enable_connection_aborted_option = 1;
Modified: branches/CMake/release/boost/asio/ssl/detail/openssl_init.hpp
==============================================================================
--- branches/CMake/release/boost/asio/ssl/detail/openssl_init.hpp (original)
+++ branches/CMake/release/boost/asio/ssl/detail/openssl_init.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -21,6 +21,7 @@
#include <boost/asio/detail/push_options.hpp>
#include <vector>
#include <boost/assert.hpp>
+#include <boost/config.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/asio/detail/pop_options.hpp>
@@ -87,11 +88,15 @@
private:
static unsigned long openssl_id_func()
{
+#if defined(BOOST_WINDOWS) || defined(__CYGWIN__)
+ return ::GetCurrentThreadId();
+#else // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
void* id = instance()->thread_id_;
if (id == 0)
instance()->thread_id_ = id = &id; // Ugh.
BOOST_ASSERT(sizeof(unsigned long) >= sizeof(void*));
return reinterpret_cast<unsigned long>(id);
+#endif // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
}
static void openssl_locking_func(int mode, int n,
@@ -106,8 +111,10 @@
// Mutexes to be used in locking callbacks.
std::vector<boost::shared_ptr<boost::asio::detail::mutex> > mutexes_;
+#if !defined(BOOST_WINDOWS) && !defined(__CYGWIN__)
// The thread identifiers to be used by openssl.
boost::asio::detail::tss_ptr<void> thread_id_;
+#endif // !defined(BOOST_WINDOWS) && !defined(__CYGWIN__)
};
public:
Modified: branches/CMake/release/boost/asio/version.hpp
==============================================================================
--- branches/CMake/release/boost/asio/version.hpp (original)
+++ branches/CMake/release/boost/asio/version.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -18,6 +18,6 @@
// BOOST_ASIO_VERSION % 100 is the sub-minor version
// BOOST_ASIO_VERSION / 100 % 1000 is the minor version
// BOOST_ASIO_VERSION / 100000 is the major version
-#define BOOST_ASIO_VERSION 100100 // 1.1.0
+#define BOOST_ASIO_VERSION 100200 // 1.2.0
#endif // BOOST_ASIO_VERSION_HPP
Modified: branches/CMake/release/boost/config/abi_prefix.hpp
==============================================================================
--- branches/CMake/release/boost/config/abi_prefix.hpp (original)
+++ branches/CMake/release/boost/config/abi_prefix.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,6 +1,6 @@
// abi_prefix header -------------------------------------------------------//
-// © Copyright John Maddock 2003
+// (c) Copyright John Maddock 2003
// Use, modification and distribution are subject to the Boost Software License,
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
Modified: branches/CMake/release/boost/config/abi_suffix.hpp
==============================================================================
--- branches/CMake/release/boost/config/abi_suffix.hpp (original)
+++ branches/CMake/release/boost/config/abi_suffix.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,6 +1,6 @@
// abi_sufffix header -------------------------------------------------------//
-// © Copyright John Maddock 2003
+// (c) Copyright John Maddock 2003
// Use, modification and distribution are subject to the Boost Software License,
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@@ -10,7 +10,7 @@
// <boost/config/abi_prefix.hpp>.
#ifndef BOOST_CONFIG_ABI_PREFIX_HPP
-# error Header boost/config/abi_prefix.hpp must only be used after boost/config/abi_prefix.hpp
+# error Header boost/config/abi_suffix.hpp must only be used after boost/config/abi_prefix.hpp
#else
# undef BOOST_CONFIG_ABI_PREFIX_HPP
#endif
@@ -24,3 +24,4 @@
#pragma nopushoptwarn
#endif
+
Modified: branches/CMake/release/boost/config/compiler/intel.hpp
==============================================================================
--- branches/CMake/release/boost/config/compiler/intel.hpp (original)
+++ branches/CMake/release/boost/config/compiler/intel.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -146,6 +146,12 @@
#if BOOST_INTEL_CXX_VERSION < 500
# error "Compiler not supported or configured - please reconfigure"
#endif
+
+// Intel on MacOS requires
+#if defined(__APPLE__) && defined(__INTEL_COMPILER)
+# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#endif
+
//
// last known and checked version:
#if (BOOST_INTEL_CXX_VERSION > 1010)
Modified: branches/CMake/release/boost/config/compiler/pgi.hpp
==============================================================================
--- branches/CMake/release/boost/config/compiler/pgi.hpp (original)
+++ branches/CMake/release/boost/config/compiler/pgi.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -7,6 +7,7 @@
// PGI C++ compiler setup:
+#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__
#define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(_COMPILER_VERSION)
//
@@ -15,10 +16,17 @@
// if no threading API is detected.
//
+#if (__PGIC__ == 7) && (__PGIC_MINOR__ == 1)
+
#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
#define BOOST_NO_SWPRINTF
+#else
+
+# error "Pgi compiler not configured - please reconfigure"
+
+#endif
//
// version check:
// probably nothing to do here?
Modified: branches/CMake/release/boost/config/compiler/sunpro_cc.hpp
==============================================================================
--- branches/CMake/release/boost/config/compiler/sunpro_cc.hpp (original)
+++ branches/CMake/release/boost/config/compiler/sunpro_cc.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -40,7 +40,7 @@
// initialized in-class.
// >> Assertion: (../links/dbg_cstabs.cc, line 611)
// while processing ../test.cpp at line 0.
- // (Jens Maurer according to Gottfried Ganßauge 04 Mar 2002)
+ // (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002)
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
// SunPro 5.3 has better support for partial specialization,
@@ -73,6 +73,7 @@
// Issues that effect all known versions:
//
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#define BOOST_NO_ADL_BARRIER
#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)
Modified: branches/CMake/release/boost/config/compiler/vacpp.hpp
==============================================================================
--- branches/CMake/release/boost/config/compiler/vacpp.hpp (original)
+++ branches/CMake/release/boost/config/compiler/vacpp.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,7 +1,7 @@
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Toon Knapen 2001 - 2003.
// (C) Copyright Lie-Quan Lee 2001.
-// (C) Copyright Markus Schöpflin 2002 - 2003.
+// (C) Copyright Markus Schoepflin 2002 - 2003.
// (C) Copyright Beman Dawes 2002 - 2003.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
@@ -53,7 +53,7 @@
#endif
// Some versions of the compiler have issues with default arguments on partial specializations
-#define BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS
+#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
Modified: branches/CMake/release/boost/config/compiler/visualc.hpp
==============================================================================
--- branches/CMake/release/boost/config/compiler/visualc.hpp (original)
+++ branches/CMake/release/boost/config/compiler/visualc.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -83,6 +83,11 @@
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
#endif
+#if _MSC_VER == 1500 // 1500 == VC++ 9.0
+ // A bug in VC9:
+# define BOOST_NO_ADL_BARRIER
+#endif
+
#ifndef _NATIVE_WCHAR_T_DEFINED
# define BOOST_NO_INTRINSIC_WCHAR_T
#endif
@@ -181,7 +186,7 @@
#error "Compiler not supported or configured - please reconfigure"
#endif
//
-// last known and checked version is 1400 (VC8):
+// last known and checked version is 1500 (VC9):
#if (_MSC_VER > 1500)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
Modified: branches/CMake/release/boost/config/platform/hpux.hpp
==============================================================================
--- branches/CMake/release/boost/config/platform/hpux.hpp (original)
+++ branches/CMake/release/boost/config/platform/hpux.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -23,6 +23,8 @@
#if !(defined(__HP_aCC) || !defined(_INCLUDE__STDC_A1_SOURCE))
# define BOOST_NO_SWPRINTF
+#endif
+#if defined(__HP_aCC) && !defined(_INCLUDE__STDC_A1_SOURCE)
# define BOOST_NO_CWCTYPE
#endif
@@ -82,3 +84,4 @@
#ifndef BOOST_HAS_EXPM1
# define BOOST_HAS_EXPM1
#endif
+
Modified: branches/CMake/release/boost/config/platform/macos.hpp
==============================================================================
--- branches/CMake/release/boost/config/platform/macos.hpp (original)
+++ branches/CMake/release/boost/config/platform/macos.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -47,6 +47,14 @@
# define BOOST_NO_STDC_NAMESPACE
# endif
+# if (__GNUC__ == 4)
+
+// Both gcc and intel require these.
+# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+# define BOOST_HAS_NANOSLEEP
+
+# endif
+
#else
// Using the MSL C library.
Modified: branches/CMake/release/boost/config/platform/solaris.hpp
==============================================================================
--- branches/CMake/release/boost/config/platform/solaris.hpp (original)
+++ branches/CMake/release/boost/config/platform/solaris.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -16,6 +16,13 @@
#define BOOST_HAS_UNISTD_H
#include <boost/config/posix_features.hpp>
+//
+// pthreads don't actually work with gcc unless _PTHREADS is defined:
+//
+#if defined(__GNUC__) && defined(_POSIX_THREADS) && !defined(_PTHREADS)
+# undef BOOST_HAS_PTHREADS
+#endif
+
Modified: branches/CMake/release/boost/config/stdlib/libstdcpp3.hpp
==============================================================================
--- branches/CMake/release/boost/config/stdlib/libstdcpp3.hpp (original)
+++ branches/CMake/release/boost/config/stdlib/libstdcpp3.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -68,6 +68,11 @@
# define BOOST_HAS_SLIST
# define BOOST_HAS_HASH
# define BOOST_SLIST_HEADER <ext/slist>
-# define BOOST_HASH_SET_HEADER <ext/hash_set>
-# define BOOST_HASH_MAP_HEADER <ext/hash_map>
+# if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)
+# define BOOST_HASH_SET_HEADER <ext/hash_set>
+# define BOOST_HASH_MAP_HEADER <ext/hash_map>
+# else
+# define BOOST_HASH_SET_HEADER <backward/hash_set>
+# define BOOST_HASH_MAP_HEADER <backward/hash_map>
+# endif
#endif
Modified: branches/CMake/release/boost/config/stdlib/stlport.hpp
==============================================================================
--- branches/CMake/release/boost/config/stdlib/stlport.hpp (original)
+++ branches/CMake/release/boost/config/stdlib/stlport.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -98,8 +98,10 @@
//
// We always have SGI style hash_set, hash_map, and slist:
//
+#ifndef _STLP_NO_EXTENSIONS
#define BOOST_HAS_HASH
#define BOOST_HAS_SLIST
+#endif
//
// STLport does a good job of importing names into namespace std::,
Modified: branches/CMake/release/boost/config/suffix.hpp
==============================================================================
--- branches/CMake/release/boost/config/suffix.hpp (original)
+++ branches/CMake/release/boost/config/suffix.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -121,6 +121,15 @@
# endif
//
+// Without partial specialization, partial
+// specialization with default args won't work either:
+//
+# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+ && !defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
+# define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+# endif
+
+//
// Without member template support, we can't have template constructors
// in the standard library either:
//
@@ -232,6 +241,8 @@
#ifndef BOOST_HAS_THREADS
# undef BOOST_HAS_PTHREADS
# undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+# undef BOOST_HAS_PTHREAD_YIELD
+# undef BOOST_HAS_PTHREAD_DELAY_NP
# undef BOOST_HAS_WINTHREADS
# undef BOOST_HAS_BETHREADS
# undef BOOST_HAS_MPTASKS
Modified: branches/CMake/release/boost/detail/interlocked.hpp
==============================================================================
--- branches/CMake/release/boost/detail/interlocked.hpp (original)
+++ branches/CMake/release/boost/detail/interlocked.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -92,7 +92,7 @@
# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
-#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ )
+#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
namespace boost
{
Modified: branches/CMake/release/boost/detail/lwm_win32_cs.hpp
==============================================================================
--- branches/CMake/release/boost/detail/lwm_win32_cs.hpp (original)
+++ branches/CMake/release/boost/detail/lwm_win32_cs.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -29,7 +29,7 @@
#ifndef BOOST_USE_WINDOWS_H
-struct CRITICAL_SECTION
+struct critical_section
{
struct critical_section_debug * DebugInfo;
long LockCount;
@@ -43,10 +43,14 @@
#endif
};
-extern "C" __declspec(dllimport) void __stdcall InitializeCriticalSection(CRITICAL_SECTION *);
-extern "C" __declspec(dllimport) void __stdcall EnterCriticalSection(CRITICAL_SECTION *);
-extern "C" __declspec(dllimport) void __stdcall LeaveCriticalSection(CRITICAL_SECTION *);
-extern "C" __declspec(dllimport) void __stdcall DeleteCriticalSection(CRITICAL_SECTION *);
+extern "C" __declspec(dllimport) void __stdcall InitializeCriticalSection(critical_section *);
+extern "C" __declspec(dllimport) void __stdcall EnterCriticalSection(critical_section *);
+extern "C" __declspec(dllimport) void __stdcall LeaveCriticalSection(critical_section *);
+extern "C" __declspec(dllimport) void __stdcall DeleteCriticalSection(critical_section *);
+
+#else
+
+typedef ::CRITICAL_SECTION critical_section;
#endif // #ifndef BOOST_USE_WINDOWS_H
@@ -54,7 +58,7 @@
{
private:
- CRITICAL_SECTION cs_;
+ critical_section cs_;
lightweight_mutex(lightweight_mutex const &);
lightweight_mutex & operator=(lightweight_mutex const &);
Modified: branches/CMake/release/boost/detail/shared_count.hpp
==============================================================================
--- branches/CMake/release/boost/detail/shared_count.hpp (original)
+++ branches/CMake/release/boost/detail/shared_count.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -28,8 +28,11 @@
#include <boost/detail/bad_weak_ptr.hpp>
#include <boost/detail/sp_counted_base.hpp>
#include <boost/detail/sp_counted_impl.hpp>
-
-#include <memory> // std::auto_ptr
+// In order to avoid circular dependencies with Boost.TR1
+// we make sure that our include of <memory> doesn't try to
+// pull in the TR1 headers: that's why we use this header
+// rather than including <memory> directly:
+#include <boost/config/no_tr1/memory.hpp> // std::auto_ptr
#include <functional> // std::less
#include <new> // std::bad_alloc
@@ -46,6 +49,8 @@
#endif
+struct sp_nothrow_tag {};
+
class weak_count;
class shared_count
@@ -99,11 +104,18 @@
#endif
}
- template<class P, class D> shared_count(P p, D d): pi_(0)
+#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1200 )
+ template<class Y, class D> shared_count( Y * p, D d ): pi_(0)
+#else
+ template<class P, class D> shared_count( P p, D d ): pi_(0)
+#endif
#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
, id_(shared_count_id)
#endif
{
+#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1200 )
+ typedef Y* P;
+#endif
#ifndef BOOST_NO_EXCEPTIONS
try
@@ -216,6 +228,7 @@
}
explicit shared_count(weak_count const & r); // throws bad_weak_ptr when r.use_count() == 0
+ shared_count( weak_count const & r, sp_nothrow_tag ); // constructs an empty *this when r.use_count() == 0
shared_count & operator= (shared_count const & r) // nothrow
{
@@ -248,6 +261,11 @@
return use_count() == 1;
}
+ bool empty() const // nothrow
+ {
+ return pi_ == 0;
+ }
+
friend inline bool operator==(shared_count const & a, shared_count const & b)
{
return a.pi_ == b.pi_;
@@ -313,9 +331,13 @@
weak_count & operator= (shared_count const & r) // nothrow
{
sp_counted_base * tmp = r.pi_;
- if(tmp != 0) tmp->weak_add_ref();
- if(pi_ != 0) pi_->weak_release();
- pi_ = tmp;
+
+ if( tmp != pi_ )
+ {
+ if(tmp != 0) tmp->weak_add_ref();
+ if(pi_ != 0) pi_->weak_release();
+ pi_ = tmp;
+ }
return *this;
}
@@ -323,9 +345,13 @@
weak_count & operator= (weak_count const & r) // nothrow
{
sp_counted_base * tmp = r.pi_;
- if(tmp != 0) tmp->weak_add_ref();
- if(pi_ != 0) pi_->weak_release();
- pi_ = tmp;
+
+ if( tmp != pi_ )
+ {
+ if(tmp != 0) tmp->weak_add_ref();
+ if(pi_ != 0) pi_->weak_release();
+ pi_ = tmp;
+ }
return *this;
}
@@ -364,6 +390,17 @@
}
}
+inline shared_count::shared_count( weak_count const & r, sp_nothrow_tag ): pi_( r.pi_ )
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+ , id_(shared_count_id)
+#endif
+{
+ if( pi_ != 0 && !pi_->add_ref_lock() )
+ {
+ pi_ = 0;
+ }
+}
+
} // namespace detail
} // namespace boost
Modified: branches/CMake/release/boost/detail/sp_counted_base.hpp
==============================================================================
--- branches/CMake/release/boost/detail/sp_counted_base.hpp (original)
+++ branches/CMake/release/boost/detail/sp_counted_base.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -20,61 +20,46 @@
#include <boost/config.hpp>
#if defined( BOOST_SP_DISABLE_THREADS )
-
# include <boost/detail/sp_counted_base_nt.hpp>
-#elif defined( BOOST_SP_USE_PTHREADS )
+#elif defined( BOOST_SP_USE_SPINLOCK )
+# include <boost/detail/sp_counted_base_spin.hpp>
+#elif defined( BOOST_SP_USE_PTHREADS )
# include <boost/detail/sp_counted_base_pt.hpp>
-#elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) )
+#elif defined( BOOST_DISABLE_THREADS ) && !defined( BOOST_SP_ENABLE_THREADS ) && !defined( BOOST_DISABLE_WIN32 )
+# include <boost/detail/sp_counted_base_nt.hpp>
+#elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) )
# include <boost/detail/sp_counted_base_gcc_x86.hpp>
-//~ #elif defined( __MWERKS__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) )
-
-//~ # include <boost/detail/sp_counted_base_cw_x86.hpp>
-
#elif defined( __GNUC__ ) && defined( __ia64__ ) && !defined( __INTEL_COMPILER )
-
# include <boost/detail/sp_counted_base_gcc_ia64.hpp>
#elif defined(__HP_aCC) && defined(__ia64)
-
# include <boost/detail/sp_counted_base_acc_ia64.hpp>
#elif defined( __MWERKS__ ) && defined( __POWERPC__ )
-
# include <boost/detail/sp_counted_base_cw_ppc.hpp>
#elif defined( __GNUC__ ) && ( defined( __powerpc__ ) || defined( __ppc__ ) || defined( __ppc ) )
-
# include <boost/detail/sp_counted_base_gcc_ppc.hpp>
-#elif defined(__GNUC__) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 ) && !defined(__arm__) && !defined(__hppa)
-
+#elif defined(__GNUC__) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 ) && !defined( __arm__ ) && !defined( __hppa )
# include <boost/detail/sp_counted_base_sync.hpp>
#elif defined(__GNUC__) && ( defined( __sparcv8 ) || defined( __sparcv9 ) )
-
# include <boost/detail/sp_counted_base_gcc_sparc.hpp>
#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ )
-
# include <boost/detail/sp_counted_base_w32.hpp>
#elif !defined( BOOST_HAS_THREADS )
-
# include <boost/detail/sp_counted_base_nt.hpp>
-#elif defined( BOOST_HAS_PTHREADS )
-
-# include <boost/detail/sp_counted_base_pt.hpp>
-
#else
-
-// Use #define BOOST_DISABLE_THREADS to avoid the error
-# error Unrecognized threading platform
+# include <boost/detail/sp_counted_base_spin.hpp>
#endif
Modified: branches/CMake/release/boost/exception/detail/object_hex_dump.hpp
==============================================================================
--- branches/CMake/release/boost/exception/detail/object_hex_dump.hpp (original)
+++ branches/CMake/release/boost/exception/detail/object_hex_dump.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,6 +19,7 @@
exception_detail
{
template <class T>
+ inline
std::string
object_hex_dump( T const & x, size_t max_size=16 )
{
Modified: branches/CMake/release/boost/exception/enable_current_exception.hpp
==============================================================================
--- branches/CMake/release/boost/exception/enable_current_exception.hpp (original)
+++ branches/CMake/release/boost/exception/enable_current_exception.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -121,6 +121,7 @@
};
template <class T>
+ inline
clone_base *
make_clone( T const & x )
{
@@ -144,6 +145,7 @@
}
template <class T>
+ inline
exception_detail::clone_impl<T>
enable_current_exception( T const & x )
{
Modified: branches/CMake/release/boost/exception/enable_error_info.hpp
==============================================================================
--- branches/CMake/release/boost/exception/enable_error_info.hpp (original)
+++ branches/CMake/release/boost/exception/enable_error_info.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -88,6 +88,7 @@
}
template <class T>
+ inline
#if !BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x582))
typename
#endif
Modified: branches/CMake/release/boost/exception/info.hpp
==============================================================================
--- branches/CMake/release/boost/exception/info.hpp (original)
+++ branches/CMake/release/boost/exception/info.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -86,6 +86,7 @@
};
template <class E,class Tag,class T>
+ inline
E const &
operator<<( E const & x, error_info<Tag,T> const & v )
{
@@ -95,6 +96,7 @@
}
template <class ErrorInfo,class E>
+ inline
shared_ptr<typename ErrorInfo::value_type const>
get_error_info( E const & some_exception )
{
Modified: branches/CMake/release/boost/exception/info_tuple.hpp
==============================================================================
--- branches/CMake/release/boost/exception/info_tuple.hpp (original)
+++ branches/CMake/release/boost/exception/info_tuple.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -16,6 +16,7 @@
class E,
class Tag1,class T1,
class Tag2,class T2 >
+ inline
E const &
operator<<(
E const & x,
@@ -31,6 +32,7 @@
class Tag1,class T1,
class Tag2,class T2,
class Tag3,class T3 >
+ inline
E const &
operator<<(
E const & x,
@@ -48,6 +50,7 @@
class Tag2,class T2,
class Tag3,class T3,
class Tag4,class T4 >
+ inline
E const &
operator<<(
E const & x,
Modified: branches/CMake/release/boost/exception/to_string.hpp
==============================================================================
--- branches/CMake/release/boost/exception/to_string.hpp (original)
+++ branches/CMake/release/boost/exception/to_string.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -39,6 +39,7 @@
}
template <class T>
+ inline
typename enable_if<is_output_streamable<T>,std::string>::type
to_string( T const & x )
{
@@ -55,6 +56,7 @@
};
template <class T,class U>
+ inline
std::string
to_string( std::pair<T,U> const & x )
{
Modified: branches/CMake/release/boost/exception/to_string_stub.hpp
==============================================================================
--- branches/CMake/release/boost/exception/to_string_stub.hpp (original)
+++ branches/CMake/release/boost/exception/to_string_stub.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -63,6 +63,7 @@
to_string_dispatch
{
template <class T,class Stub>
+ inline
std::string
dispatch( T const & x, Stub s )
{
@@ -71,6 +72,7 @@
}
template <class T>
+ inline
std::string
string_stub_dump( T const & x )
{
@@ -79,6 +81,7 @@
}
template <class T>
+ inline
std::string
to_string_stub( T const & x )
{
@@ -86,6 +89,7 @@
}
template <class T,class Stub>
+ inline
std::string
to_string_stub( T const & x, Stub s )
{
Modified: branches/CMake/release/boost/exception_ptr.hpp
==============================================================================
--- branches/CMake/release/boost/exception_ptr.hpp (original)
+++ branches/CMake/release/boost/exception_ptr.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -32,9 +32,9 @@
{
}
- ~unknown_exception() throw()
- {
- }
+ ~unknown_exception() throw()
+ {
+ }
};
typedef intrusive_ptr<exception_detail::clone_base const> exception_ptr;
@@ -62,12 +62,13 @@
{
}
- ~current_exception_std_exception_wrapper() throw()
- {
- }
+ ~current_exception_std_exception_wrapper() throw()
+ {
+ }
};
template <class T>
+ inline
exception_ptr
current_exception_std_exception( T const & e1 )
{
@@ -170,6 +171,7 @@
}
template <class T>
+ inline
exception_ptr
copy_exception( T const & e )
{
Modified: branches/CMake/release/boost/filesystem/convenience.hpp
==============================================================================
--- branches/CMake/release/boost/filesystem/convenience.hpp (original)
+++ branches/CMake/release/boost/filesystem/convenience.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -50,20 +50,22 @@
}
// First create branch, by calling ourself recursively
- create_directories(ph.branch_path());
+ create_directories(ph.parent_path());
// Now that parent's path exists, create the directory
create_directory(ph);
return true;
}
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
+
BOOST_FS_FUNC_STRING extension(const Path& ph)
{
typedef BOOST_FS_TYPENAME Path::string_type string_type;
- string_type leaf = ph.leaf();
+ string_type filename = ph.filename();
- BOOST_FS_TYPENAME string_type::size_type n = leaf.rfind('.');
+ BOOST_FS_TYPENAME string_type::size_type n = filename.rfind('.');
if (n != string_type::npos)
- return leaf.substr(n);
+ return filename.substr(n);
else
return string_type();
}
@@ -71,14 +73,17 @@
BOOST_FS_FUNC_STRING basename(const Path& ph)
{
typedef BOOST_FS_TYPENAME Path::string_type string_type;
- string_type leaf = ph.leaf();
- BOOST_FS_TYPENAME string_type::size_type n = leaf.rfind('.');
- return leaf.substr(0, n);
+ string_type filename = ph.filename();
+ BOOST_FS_TYPENAME string_type::size_type n = filename.rfind('.');
+ return filename.substr(0, n);
}
+
BOOST_FS_FUNC(Path) change_extension( const Path & ph,
const BOOST_FS_TYPENAME Path::string_type & new_extension )
- { return ph.branch_path() / (basename(ph) + new_extension); }
+ { return ph.parent_path() / (basename(ph) + new_extension); }
+
+# endif
# ifndef BOOST_FILESYSTEM_NARROW_ONLY
Modified: branches/CMake/release/boost/filesystem/operations.hpp
==============================================================================
--- branches/CMake/release/boost/filesystem/operations.hpp (original)
+++ branches/CMake/release/boost/filesystem/operations.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -102,10 +102,14 @@
inline bool status_known( file_status f ) { return f.type() != status_unknown; }
inline bool exists( file_status f ) { return f.type() != status_unknown && f.type() != file_not_found; }
- inline bool is_regular( file_status f ) { return f.type() == regular_file; }
+ inline bool is_regular_file(file_status f){ return f.type() == regular_file; }
inline bool is_directory( file_status f ) { return f.type() == directory_file; }
inline bool is_symlink( file_status f ) { return f.type() == symlink_file; }
- inline bool is_other( file_status f ) { return exists(f) && !is_regular(f) && !is_directory(f) && !is_symlink(f); }
+ inline bool is_other( file_status f ) { return exists(f) && !is_regular_file(f) && !is_directory(f) && !is_symlink(f); }
+
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
+ inline bool is_regular( file_status f ) { return f.type() == regular_file; }
+# endif
struct space_info
{
@@ -117,6 +121,10 @@
namespace detail
{
+ // singular object used only as a tag; thus initialization and
+ // thread-safety are not issues
+ BOOST_FILESYSTEM_DECL extern system::error_code throws;
+
typedef std::pair< system::error_code, bool >
query_pair;
@@ -275,7 +283,7 @@
# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
inline bool symbolic_link_exists( const path & ph )
{ return is_symlink( symlink_status(ph) ); }
-#endif
+# endif
BOOST_FS_FUNC(bool) exists( const Path & ph )
{
@@ -297,6 +305,17 @@
return is_directory( result );
}
+ BOOST_FS_FUNC(bool) is_regular_file( const Path & ph )
+ {
+ system::error_code ec;
+ file_status result( detail::status_api( ph.external_file_string(), ec ) );
+ if ( ec )
+ boost::throw_exception( basic_filesystem_error<Path>(
+ "boost::filesystem::is_regular_file", ph, ec ) );
+ return is_regular_file( result );
+ }
+
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
BOOST_FS_FUNC(bool) is_regular( const Path & ph )
{
system::error_code ec;
@@ -306,6 +325,7 @@
"boost::filesystem::is_regular", ph, ec ) );
return is_regular( result );
}
+# endif
BOOST_FS_FUNC(bool) is_other( const Path & ph )
{
@@ -454,21 +474,13 @@
return ec;
}
- BOOST_FS_FUNC(bool) remove( const Path & ph )
+ BOOST_FS_FUNC(void) remove( const Path & ph, system::error_code & ec = detail::throws )
{
- if ( exists( ph )
- || is_symlink( ph ) ) // handle dangling symbolic links
- // note that the POSIX behavior for symbolic links is what we want;
- // the link rather than what it points to is deleted. Windows behavior
- // doesn't matter; is_symlink() is always false on Windows.
- {
- system::error_code ec( detail::remove_api( ph.external_file_string() ) );
- if ( ec )
- boost::throw_exception( basic_filesystem_error<Path>(
- "boost::filesystem::remove", ph, ec ) );
- return true;
- }
- return false;
+ system::error_code error( detail::remove_api(ph.external_file_string()) );
+ if ( error && &ec == &detail::throws )
+ boost::throw_exception( basic_filesystem_error<Path>(
+ "boost::filesystem::remove", ph, error ) );
+ ec = error;
}
BOOST_FS_FUNC(unsigned long) remove_all( const Path & ph )
@@ -618,10 +630,17 @@
inline bool is_directory( const wpath & ph )
{ return is_directory<wpath>( ph ); }
+ inline bool is_regular_file( const path & ph )
+ { return is_regular_file<path>( ph ); }
+ inline bool is_regular_file( const wpath & ph )
+ { return is_regular_file<wpath>( ph ); }
+
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
inline bool is_regular( const path & ph )
{ return is_regular<path>( ph ); }
inline bool is_regular( const wpath & ph )
{ return is_regular<wpath>( ph ); }
+# endif
inline bool is_other( const path & ph )
{ return is_other<path>( ph ); }
@@ -693,10 +712,8 @@
const wpath & from_ph, system::error_code & ec )
{ return create_symlink<wpath>( to_ph, from_ph, ec ); }
- inline bool remove( const path & ph )
- { return remove<path>( ph ); }
- inline bool remove( const wpath & ph )
- { return remove<wpath>( ph ); }
+ inline void remove( const path & ph ) { remove<path>( ph ); }
+ inline void remove( const wpath & ph ) { remove<wpath>( ph ); }
inline unsigned long remove_all( const path & ph )
{ return remove_all<path>( ph ); }
@@ -965,7 +982,7 @@
{
boost::throw_exception( basic_filesystem_error<Path>(
"boost::filesystem::basic_directory_iterator increment",
- m_imp->m_directory_entry.path().branch_path(), ec ) );
+ m_imp->m_directory_entry.path().parent_path(), ec ) );
}
if ( m_imp->m_handle == 0 ) { m_imp.reset(); return; } // eof, make end
if ( !(name[0] == dot<Path>::value // !(dot or dot-dot)
@@ -973,7 +990,7 @@
|| (name[1] == dot<Path>::value
&& name.size() == 2))) )
{
- m_imp->m_directory_entry.replace_leaf(
+ m_imp->m_directory_entry.replace_filename(
Path::traits_type::to_internal( name ), fs, symlink_fs );
return;
}
@@ -1001,10 +1018,10 @@
file_status st, file_status symlink_st )
{ m_path = p; m_status = st; m_symlink_status = symlink_st; }
- void replace_leaf( const string_type & s,
+ void replace_filename( const string_type & s,
file_status st, file_status symlink_st )
{
- m_path.remove_leaf();
+ m_path.remove_filename();
m_path /= s;
m_status = st;
m_symlink_status = symlink_st;
@@ -1021,9 +1038,9 @@
# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
// deprecated functions preserve common use cases in legacy code
- typename Path::string_type leaf() const
+ typename Path::string_type filename() const
{
- return path().leaf();
+ return path().filename();
}
typename Path::string_type string() const
{
Modified: branches/CMake/release/boost/filesystem/path.hpp
==============================================================================
--- branches/CMake/release/boost/filesystem/path.hpp (original)
+++ branches/CMake/release/boost/filesystem/path.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,12 +1,17 @@
// boost/filesystem/path.hpp -----------------------------------------------//
// Copyright Beman Dawes 2002-2005
+// Copyright Vladimir Prus 2002
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See library home page at http://www.boost.org/libs/filesystem
+// basic_path's stem(), extension(), and replace_extension() are based on
+// basename(), extension(), and change_extension() from the original
+// filesystem/convenience.hpp header by Vladimir Prus.
+
//----------------------------------------------------------------------------//
#ifndef BOOST_FILESYSTEM_PATH_HPP
@@ -197,7 +202,12 @@
# endif
}
- basic_path & remove_leaf();
+ basic_path & remove_filename();
+ basic_path & replace_extension( const string_type & new_extension = "" );
+
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
+ basic_path & remove_leaf() { return remove_filename(); }
+# endif
// observers
const string_type & string() const { return m_path; }
@@ -211,8 +221,15 @@
string_type root_name() const;
string_type root_directory() const;
basic_path relative_path() const;
- string_type leaf() const;
- basic_path branch_path() const;
+ basic_path parent_path() const;
+ string_type filename() const;
+ string_type stem() const;
+ string_type extension() const;
+
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
+ string_type leaf() const { return filename(); }
+ basic_path branch_path() const { return parent_path(); }
+# endif
bool empty() const { return m_path.empty(); } // name consistent with std containers
bool is_complete() const;
@@ -220,8 +237,8 @@
bool has_root_name() const;
bool has_root_directory() const;
bool has_relative_path() const { return !relative_path().empty(); }
- bool has_leaf() const { return !m_path.empty(); }
- bool has_branch_path() const { return !branch_path().empty(); }
+ bool has_filename() const { return !m_path.empty(); }
+ bool has_parent_path() const { return !parent_path().empty(); }
// iterators
class iterator : public boost::iterator_facade<
@@ -624,14 +641,14 @@
typedef Path path_type;
- basic_filesystem_error( const std::string & what,
+ basic_filesystem_error( const std::string & what_arg,
system::error_code ec );
- basic_filesystem_error( const std::string & what,
- const path_type & path1, system::error_code ec );
+ basic_filesystem_error( const std::string & what_arg,
+ const path_type & path1_arg, system::error_code ec );
- basic_filesystem_error( const std::string & what, const path_type & path1,
- const path_type & path2, system::error_code ec );
+ basic_filesystem_error( const std::string & what_arg, const path_type & path1_arg,
+ const path_type & path2_arg, system::error_code ec );
~basic_filesystem_error() throw() {}
@@ -698,13 +715,13 @@
;
}
- // leaf_pos helper ----------------------------------------------------//
+ // filename_pos helper ----------------------------------------------------//
template<class String, class Traits>
- typename String::size_type leaf_pos(
+ typename String::size_type filename_pos(
const String & str, // precondition: portable generic path grammar
typename String::size_type end_pos ) // end_pos is past-the-end position
- // return 0 if str itself is leaf (or empty)
+ // return 0 if str itself is filename (or empty)
{
typedef typename
boost::BOOST_FILESYSTEM_NAMESPACE::basic_path<String, Traits> path_type;
@@ -728,9 +745,9 @@
pos = str.find_last_of( colon<path_type>::value, end_pos-2 );
# endif
- return ( pos == String::npos // path itself must be a leaf (or empty)
+ return ( pos == String::npos // path itself must be a filename (or empty)
|| (pos == 1 && str[0] == slash<path_type>::value) ) // or net
- ? 0 // so leaf is entire string
+ ? 0 // so filename is entire string
: pos + 1; // or starts after delimiter
}
@@ -876,10 +893,10 @@
// decomposition functions ----------------------------------------------//
template<class String, class Traits>
- String basic_path<String, Traits>::leaf() const
+ String basic_path<String, Traits>::filename() const
{
typename String::size_type end_pos(
- detail::leaf_pos<String, Traits>( m_path, m_path.size() ) );
+ detail::filename_pos<String, Traits>( m_path, m_path.size() ) );
return (m_path.size()
&& end_pos
&& m_path[end_pos] == slash<path_type>::value
@@ -889,12 +906,31 @@
}
template<class String, class Traits>
- basic_path<String, Traits> basic_path<String, Traits>::branch_path() const
+ String basic_path<String, Traits>::stem() const
+ {
+ string_type name = filename();
+ typename string_type::size_type n = name.rfind('.');
+ return name.substr(0, n);
+ }
+
+ template<class String, class Traits>
+ String basic_path<String, Traits>::extension() const
+ {
+ string_type name = filename();
+ typename string_type::size_type n = name.rfind('.');
+ if (n != string_type::npos)
+ return name.substr(n);
+ else
+ return string_type();
+ }
+
+ template<class String, class Traits>
+ basic_path<String, Traits> basic_path<String, Traits>::parent_path() const
{
typename String::size_type end_pos(
- detail::leaf_pos<String, Traits>( m_path, m_path.size() ) );
+ detail::filename_pos<String, Traits>( m_path, m_path.size() ) );
- bool leaf_was_separator( m_path.size()
+ bool filename_was_separator( m_path.size()
&& m_path[end_pos] == slash<path_type>::value );
// skip separators unless root directory
@@ -907,7 +943,7 @@
;
--end_pos ) {}
- return (end_pos == 1 && root_dir_pos == 0 && leaf_was_separator)
+ return (end_pos == 1 && root_dir_pos == 0 && filename_was_separator)
? path_type()
: path_type( m_path.substr( 0, end_pos ) );
}
@@ -1137,7 +1173,7 @@
&& (*itr)[0] == dot<path_type>::value
&& (*itr)[1] == dot<path_type>::value ) // dot dot
{
- string_type lf( temp.leaf() );
+ string_type lf( temp.filename() );
if ( lf.size() > 0
&& (lf.size() != 1
|| (lf[0] != dot<path_type>::value
@@ -1152,7 +1188,7 @@
)
)
{
- temp.remove_leaf();
+ temp.remove_filename();
// if not root directory, must also remove "/" if any
if ( temp.m_path.size() > 0
&& temp.m_path[temp.m_path.size()-1]
@@ -1183,16 +1219,34 @@
# endif
- // remove_leaf ----------------------------------------------------------//
+ // modifiers ------------------------------------------------------------//
template<class String, class Traits>
- basic_path<String, Traits> & basic_path<String, Traits>::remove_leaf()
+ basic_path<String, Traits> & basic_path<String, Traits>::remove_filename()
{
m_path.erase(
- detail::leaf_pos<String, Traits>( m_path, m_path.size() ) );
+ detail::filename_pos<String, Traits>( m_path, m_path.size() ) );
+ return *this;
+ }
+
+ template<class String, class Traits>
+ basic_path<String, Traits> &
+ basic_path<String, Traits>::replace_extension( const string_type & new_ext )
+ {
+ // erase existing extension if any
+ string_type old_ext = extension();
+ if ( !old_ext.empty() )
+ m_path.erase( m_path.size() - old_ext.size() );
+
+ if ( !new_ext.empty() && new_ext[0] != dot<path_type>::value )
+ m_path += dot<path_type>::value;
+
+ m_path += new_ext;
+
return *this;
}
+
// path conversion functions --------------------------------------------//
template<class String, class Traits>
@@ -1375,7 +1429,7 @@
;
--end_pos ) {}
- itr.m_pos = detail::leaf_pos<string_type, traits_type>
+ itr.m_pos = detail::filename_pos<string_type, traits_type>
( itr.m_path_ptr->m_path, end_pos );
itr.m_name = itr.m_path_ptr->m_path.substr( itr.m_pos, end_pos - itr.m_pos );
}
@@ -1385,8 +1439,8 @@
template<class Path>
basic_filesystem_error<Path>::basic_filesystem_error(
- const std::string & what, system::error_code ec )
- : system::system_error(ec, what)
+ const std::string & what_arg, system::error_code ec )
+ : system::system_error(ec, what_arg)
{
try
{
@@ -1397,29 +1451,29 @@
template<class Path>
basic_filesystem_error<Path>::basic_filesystem_error(
- const std::string & what, const path_type & path1,
+ const std::string & what_arg, const path_type & path1_arg,
system::error_code ec )
- : system::system_error(ec, what)
+ : system::system_error(ec, what_arg)
{
try
{
m_imp_ptr.reset( new m_imp );
- m_imp_ptr->m_path1 = path1;
+ m_imp_ptr->m_path1 = path1_arg;
}
catch (...) { m_imp_ptr.reset(); }
}
template<class Path>
basic_filesystem_error<Path>::basic_filesystem_error(
- const std::string & what, const path_type & path1,
- const path_type & path2, system::error_code ec )
- : system::system_error(ec, what)
+ const std::string & what_arg, const path_type & path1_arg,
+ const path_type & path2_arg, system::error_code ec )
+ : system::system_error(ec, what_arg)
{
try
{
m_imp_ptr.reset( new m_imp );
- m_imp_ptr->m_path1 = path1;
- m_imp_ptr->m_path2 = path2;
+ m_imp_ptr->m_path1 = path1_arg;
+ m_imp_ptr->m_path2 = path2_arg;
}
catch (...) { m_imp_ptr.reset(); }
}
Modified: branches/CMake/release/boost/function/detail/prologue.hpp
==============================================================================
--- branches/CMake/release/boost/function/detail/prologue.hpp (original)
+++ branches/CMake/release/boost/function/detail/prologue.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -11,7 +11,7 @@
#define BOOST_FUNCTION_PROLOGUE_HPP
# include <cassert>
# include <algorithm>
-# include <functional> // unary_function, binary_function
+# include <boost/config/no_tr1/functional.hpp> // unary_function, binary_function
# include <boost/throw_exception.hpp>
# include <boost/config.hpp>
# include <boost/function/function_base.hpp>
@@ -22,4 +22,5 @@
# include <boost/preprocessor/cat.hpp>
# include <boost/preprocessor/repeat.hpp>
# include <boost/preprocessor/inc.hpp>
+# include <boost/type_traits/is_void.hpp>
#endif // BOOST_FUNCTION_PROLOGUE_HPP
Modified: branches/CMake/release/boost/function/function_base.hpp
==============================================================================
--- branches/CMake/release/boost/function/function_base.hpp (original)
+++ branches/CMake/release/boost/function/function_base.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,8 +1,9 @@
// Boost.Function library
-// Copyright Douglas Gregor 2001-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
+// Copyright Douglas Gregor 2001-2006
+// Copyright Emil Dotchevski 2007
+// 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)
// For more information, see http://www.boost.org
@@ -73,7 +74,7 @@
#if defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|| defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) \
- || !(defined(BOOST_STRICT_CONFIG) || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)
+ || !(BOOST_STRICT_CONFIG || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)
# define BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
#endif
@@ -94,21 +95,12 @@
#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
namespace boost {
-#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730 && !defined(BOOST_STRICT_CONFIG)
-// The library shipping with MIPSpro 7.3.1.3m has a broken allocator<void>
-class function_base;
-
-template<typename Signature,
- typename Allocator = std::allocator<function_base> >
-class function;
-#else
-template<typename Signature, typename Allocator = std::allocator<void> >
+template<typename Signature>
class function;
-#endif
-template<typename Signature, typename Allocator>
-inline void swap(function<Signature, Allocator>& f1,
- function<Signature, Allocator>& f2)
+template<typename Signature>
+inline void swap(function<Signature>& f1,
+ function<Signature>& f2)
{
f1.swap(f2);
}
@@ -212,8 +204,8 @@
struct reference_manager
{
static inline void
- manage(const function_buffer& in_buffer, function_buffer& out_buffer,
- functor_manager_operation_type op)
+ get(const function_buffer& in_buffer, function_buffer& out_buffer,
+ functor_manager_operation_type op)
{
switch (op) {
case clone_functor_tag:
@@ -259,20 +251,29 @@
% alignment_of<F>::value == 0))));
};
+ template <typename F,typename A>
+ struct functor_wrapper: public F, public A
+ {
+ functor_wrapper( F f, A a ):
+ F(f),
+ A(a)
+ {
+ }
+ };
+
/**
* The functor_manager class contains a static function "manage" which
* can clone or destroy the given function/function object pointer.
*/
- template<typename Functor, typename Allocator>
- struct functor_manager
+ template<typename Functor>
+ struct functor_manager_common
{
- private:
typedef Functor functor_type;
- // For function pointers, the manager is trivial
+ // Function pointers
static inline void
- manager(const function_buffer& in_buffer, function_buffer& out_buffer,
- functor_manager_operation_type op, function_ptr_tag)
+ manage_ptr(const function_buffer& in_buffer, function_buffer& out_buffer,
+ functor_manager_operation_type op)
{
if (op == clone_functor_tag)
out_buffer.func_ptr = in_buffer.func_ptr;
@@ -290,8 +291,8 @@
// Function objects that fit in the small-object buffer.
static inline void
- manager(const function_buffer& in_buffer, function_buffer& out_buffer,
- functor_manager_operation_type op, mpl::true_)
+ manage_small(const function_buffer& in_buffer, function_buffer& out_buffer,
+ functor_manager_operation_type op)
{
if (op == clone_functor_tag) {
const functor_type* in_functor =
@@ -309,57 +310,48 @@
out_buffer.obj_ptr = 0;
}
}
+ };
+
+ template<typename Functor>
+ struct functor_manager
+ {
+ private:
+ typedef Functor functor_type;
+
+ // Function pointers
+ static inline void
+ manager(const function_buffer& in_buffer, function_buffer& out_buffer,
+ functor_manager_operation_type op, function_ptr_tag)
+ {
+ functor_manager_common<Functor>::manage_ptr(in_buffer,out_buffer,op);
+ }
+
+ // Function objects that fit in the small-object buffer.
+ static inline void
+ manager(const function_buffer& in_buffer, function_buffer& out_buffer,
+ functor_manager_operation_type op, mpl::true_)
+ {
+ functor_manager_common<Functor>::manage_small(in_buffer,out_buffer,op);
+ }
// Function objects that require heap allocation
static inline void
manager(const function_buffer& in_buffer, function_buffer& out_buffer,
functor_manager_operation_type op, mpl::false_)
{
-#ifndef BOOST_NO_STD_ALLOCATOR
- typedef typename Allocator::template rebind<functor_type>::other
- allocator_type;
- typedef typename allocator_type::pointer pointer_type;
-#else
- typedef functor_type* pointer_type;
-#endif // BOOST_NO_STD_ALLOCATOR
-
-# ifndef BOOST_NO_STD_ALLOCATOR
- allocator_type allocator;
-# endif // BOOST_NO_STD_ALLOCATOR
-
if (op == clone_functor_tag) {
+ // Clone the functor
// GCC 2.95.3 gets the CV qualifiers wrong here, so we
// can't do the static_cast that we should do.
const functor_type* f =
(const functor_type*)(in_buffer.obj_ptr);
-
- // Clone the functor
-# ifndef BOOST_NO_STD_ALLOCATOR
- pointer_type copy = allocator.allocate(1);
- allocator.construct(copy, *f);
-
- // Get back to the original pointer type
- functor_type* new_f = static_cast<functor_type*>(copy);
-# else
functor_type* new_f = new functor_type(*f);
-# endif // BOOST_NO_STD_ALLOCATOR
out_buffer.obj_ptr = new_f;
} else if (op == destroy_functor_tag) {
/* Cast from the void pointer to the functor pointer type */
functor_type* f =
static_cast<functor_type*>(out_buffer.obj_ptr);
-
-# ifndef BOOST_NO_STD_ALLOCATOR
- /* Cast from the functor pointer type to the allocator's pointer
- type */
- pointer_type victim = static_cast<pointer_type>(f);
-
- // Destroy and deallocate the functor
- allocator.destroy(victim);
- allocator.deallocate(victim, 1);
-# else
delete f;
-# endif // BOOST_NO_STD_ALLOCATOR
out_buffer.obj_ptr = 0;
} else /* op == check_functor_type_tag */ {
const BOOST_FUNCTION_STD_NS::type_info& check_type =
@@ -382,13 +374,98 @@
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.
+ public:
+ /* Dispatch to an appropriate manager based on whether we have a
+ function pointer or a function object pointer. */
+ static inline void
+ manage(const function_buffer& in_buffer, function_buffer& out_buffer,
+ functor_manager_operation_type op)
+ {
+ typedef typename get_function_tag<functor_type>::type tag_type;
+ switch (op) {
+ case get_functor_type_tag:
+ out_buffer.const_obj_ptr = &typeid(functor_type);
+ return;
+
+ default:
+ manager(in_buffer, out_buffer, op, tag_type());
+ return;
+ }
+ }
+ };
+
+ template<typename Functor, typename Allocator>
+ struct functor_manager_a
+ {
+ private:
+ typedef Functor functor_type;
+
+ // Function pointers
+ static inline void
+ manager(const function_buffer& in_buffer, function_buffer& out_buffer,
+ functor_manager_operation_type op, function_ptr_tag)
+ {
+ functor_manager_common<Functor>::manage_ptr(in_buffer,out_buffer,op);
+ }
+
+ // Function objects that fit in the small-object buffer.
static inline void
manager(const function_buffer& in_buffer, function_buffer& out_buffer,
- functor_manager_operation_type op, member_ptr_tag)
+ functor_manager_operation_type op, mpl::true_)
{
- manager(in_buffer, out_buffer, op, mpl::true_());
+ functor_manager_common<Functor>::manage_small(in_buffer,out_buffer,op);
+ }
+
+ // Function objects that require heap allocation
+ static inline void
+ manager(const function_buffer& in_buffer, function_buffer& out_buffer,
+ functor_manager_operation_type op, mpl::false_)
+ {
+ typedef functor_wrapper<Functor,Allocator> functor_wrapper_type;
+ typedef typename Allocator::template rebind<functor_wrapper_type>::other
+ wrapper_allocator_type;
+ typedef typename wrapper_allocator_type::pointer wrapper_allocator_pointer_type;
+
+ if (op == clone_functor_tag) {
+ // Clone the functor
+ // GCC 2.95.3 gets the CV qualifiers wrong here, so we
+ // can't do the static_cast that we should do.
+ const functor_wrapper_type* f =
+ (const functor_wrapper_type*)(in_buffer.obj_ptr);
+ wrapper_allocator_type wrapper_allocator(static_cast<Allocator const &>(*f));
+ wrapper_allocator_pointer_type copy = wrapper_allocator.allocate(1);
+ wrapper_allocator.construct(copy, *f);
+
+ // Get back to the original pointer type
+ functor_wrapper_type* new_f = static_cast<functor_wrapper_type*>(copy);
+ out_buffer.obj_ptr = new_f;
+ } else if (op == destroy_functor_tag) {
+ /* Cast from the void pointer to the functor_wrapper_type */
+ functor_wrapper_type* victim =
+ static_cast<functor_wrapper_type*>(in_buffer.obj_ptr);
+ wrapper_allocator_type wrapper_allocator(static_cast<Allocator const &>(*victim));
+ wrapper_allocator.destroy(victim);
+ wrapper_allocator.deallocate(victim,1);
+ out_buffer.obj_ptr = 0;
+ } else /* op == check_functor_type_tag */ {
+ 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
+ out_buffer.obj_ptr = 0;
+ }
+ }
+
+ // For function objects, we determine whether the function
+ // object can use the small-object optimization buffer or
+ // whether we need to allocate it on the heap.
+ static inline void
+ manager(const function_buffer& in_buffer, function_buffer& out_buffer,
+ functor_manager_operation_type op, function_obj_tag)
+ {
+ manager(in_buffer, out_buffer, op,
+ mpl::bool_<(function_allows_small_object_optimization<functor_type>::value)>());
}
public:
@@ -479,6 +556,7 @@
*/
struct vtable_base
{
+ vtable_base() : manager(0) { }
void (*manager)(const function_buffer& in_buffer,
function_buffer& out_buffer,
functor_manager_operation_type op);
@@ -580,7 +658,7 @@
#endif
public: // should be protected, but GCC 2.95.3 will fail to allow access
- const detail::function::vtable_base* vtable;
+ detail::function::vtable_base* vtable;
mutable detail::function::function_buffer functor;
};
@@ -755,8 +833,4 @@
#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/CMake/release/boost/function/function_template.hpp
==============================================================================
--- branches/CMake/release/boost/function/function_template.hpp (original)
+++ branches/CMake/release/boost/function/function_template.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,8 +1,9 @@
// Boost.Function library
-// Copyright Douglas Gregor 2001-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
+// Copyright Douglas Gregor 2001-2006
+// Copyright Emil Dotchevski 2007
+// 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)
// For more information, see http://www.boost.org
@@ -31,13 +32,6 @@
#define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY)
-// Type of the default allocator
-#ifndef BOOST_NO_STD_ALLOCATOR
-# define BOOST_FUNCTION_DEFAULT_ALLOCATOR std::allocator<function_base>
-#else
-# define BOOST_FUNCTION_DEFAULT_ALLOCATOR int
-#endif // BOOST_NO_STD_ALLOCATOR
-
// Comma if nonzero number of arguments
#if BOOST_FUNCTION_NUM_ARGS == 0
# define BOOST_FUNCTION_COMMA
@@ -59,20 +53,12 @@
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
@@ -194,44 +180,6 @@
}
};
-#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
@@ -295,130 +243,11 @@
>::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 function object. */
- template<>
- struct BOOST_FUNCTION_GET_INVOKER<function_obj_ref_tag>
- {
- template<typename RefWrapper,
- typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
- typename Allocator>
- struct apply
- {
- typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER<
- typename RefWrapper::type,
- R BOOST_FUNCTION_COMMA
- BOOST_FUNCTION_TEMPLATE_ARGS
- >::type
- invoker_type;
-
- typedef reference_manager<typename RefWrapper::type> manager_type;
- };
- };
-
/**
* vtable for a specific boost::function instance.
*/
- template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
- typename Allocator>
- struct BOOST_FUNCTION_VTABLE
+ template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
+ struct BOOST_FUNCTION_VTABLE : vtable_base
{
#ifndef BOOST_NO_VOID_RETURNS
typedef R result_type;
@@ -431,25 +260,80 @@
BOOST_FUNCTION_TEMPLATE_ARGS);
template<typename F>
- bool assign_to(const F& f, function_buffer& functor) const
+ BOOST_FUNCTION_VTABLE(F f) : vtable_base(), invoker(0)
+ {
+ init(f);
+ }
+ template<typename F,typename Allocator>
+ BOOST_FUNCTION_VTABLE(F f, Allocator) : vtable_base(), invoker(0)
+ {
+ init_a<Allocator>(f);
+ }
+
+ template<typename F>
+ bool assign_to(F f, function_buffer& functor)
{
typedef typename get_function_tag<F>::type tag;
return assign_to(f, functor, tag());
}
+ template<typename F,typename Allocator>
+ bool assign_to_a(F f, function_buffer& functor, Allocator a)
+ {
+ typedef typename get_function_tag<F>::type tag;
+ return assign_to_a(f, functor, a, tag());
+ }
- void clear(function_buffer& functor) const
+ void clear(function_buffer& functor)
{
- if (base.manager)
- base.manager(functor, functor, destroy_functor_tag);
+ if (manager)
+ manager(functor, functor, destroy_functor_tag);
}
-#ifndef BOOST_NO_PRIVATE_IN_AGGREGATE
+
private:
-#endif
+ template<typename F>
+ void init(F f)
+ {
+ typedef typename get_function_tag<F>::type tag;
+ init(f, tag());
+ }
+ template<typename Allocator,typename F>
+ void init_a(F f)
+ {
+ typedef typename get_function_tag<F>::type tag;
+ init_a<Allocator>(f, tag());
+ }
+
// Function pointers
template<typename FunctionPtr>
+ void init(FunctionPtr /*f*/, function_ptr_tag)
+ {
+ typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER<
+ FunctionPtr,
+ R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS
+ >::type
+ actual_invoker_type;
+
+ invoker = &actual_invoker_type::invoke;
+ manager = &functor_manager<FunctionPtr>::manage;
+ }
+ template<typename Allocator,typename FunctionPtr>
+ void init_a(FunctionPtr f, function_ptr_tag)
+ {
+ typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER<
+ FunctionPtr,
+ R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS
+ >::type
+ actual_invoker_type;
+
+ invoker = &actual_invoker_type::invoke;
+ manager = &functor_manager_a<FunctionPtr, Allocator>::manage;
+ }
+
+ template<typename FunctionPtr>
bool
- assign_to(FunctionPtr f, function_buffer& functor,
- function_ptr_tag) const
+ assign_to(FunctionPtr f, function_buffer& functor, function_ptr_tag)
{
this->clear(functor);
if (f) {
@@ -461,17 +345,53 @@
return false;
}
}
+ template<typename FunctionPtr,typename Allocator>
+ bool
+ assign_to_a(FunctionPtr f, function_buffer& functor, Allocator, function_ptr_tag)
+ {
+ return assign_to(f,functor,function_ptr_tag());
+ }
// Member pointers
#if BOOST_FUNCTION_NUM_ARGS > 0
template<typename MemberPtr>
- bool
- assign_to(MemberPtr f, function_buffer& functor, member_ptr_tag) const
+ void init(MemberPtr f, member_ptr_tag)
{
+ // DPG TBD: Add explicit support for member function
+ // objects, so we invoke through mem_fn() but we retain the
+ // right target_type() values.
+ this->init(mem_fn(f));
+ }
+ template<typename Allocator,typename MemberPtr>
+ void init_a(MemberPtr f, member_ptr_tag)
+ {
+ // DPG TBD: Add explicit support for member function
+ // objects, so we invoke through mem_fn() but we retain the
+ // right target_type() values.
+ this->init_a<Allocator>(mem_fn(f));
+ }
+
+ template<typename MemberPtr>
+ bool assign_to(MemberPtr f, function_buffer& functor, member_ptr_tag)
+ {
+ // DPG TBD: Add explicit support for member function
+ // objects, so we invoke through mem_fn() but we retain the
+ // right target_type() values.
+ if (f) {
+ this->assign_to(mem_fn(f), functor);
+ return true;
+ } else {
+ return false;
+ }
+ }
+ template<typename MemberPtr,typename Allocator>
+ bool assign_to_a(MemberPtr f, function_buffer& functor, Allocator a, member_ptr_tag)
+ {
+ // DPG TBD: Add explicit support for member function
+ // objects, so we invoke through mem_fn() but we retain the
+ // right target_type() values.
if (f) {
- // Always use the small-object optimization for member
- // pointers.
- assign_functor(f, functor, mpl::true_());
+ this->assign_to_a(mem_fn(f), functor, a);
return true;
} else {
return false;
@@ -480,41 +400,72 @@
#endif // BOOST_FUNCTION_NUM_ARGS > 0
// Function objects
+ template<typename FunctionObj>
+ void init(FunctionObj /*f*/, function_obj_tag)
+ {
+ typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<
+ FunctionObj,
+ R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS
+ >::type
+ actual_invoker_type;
+
+ invoker = &actual_invoker_type::invoke;
+ manager = &functor_manager<FunctionObj>::manage;
+ }
+ template<typename Allocator,typename FunctionObj>
+ void init_a(FunctionObj /*f*/, function_obj_tag)
+ {
+ typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<
+ FunctionObj,
+ R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS
+ >::type
+ actual_invoker_type;
+
+ invoker = &actual_invoker_type::invoke;
+ manager = &functor_manager_a<FunctionObj, Allocator>::manage;
+ }
+
// Assign to a function object using the small object optimization
template<typename FunctionObj>
void
- assign_functor(const FunctionObj& f, function_buffer& functor,
- mpl::true_) const
+ assign_functor(FunctionObj f, function_buffer& functor, mpl::true_)
{
new ((void*)&functor.data) FunctionObj(f);
}
+ template<typename FunctionObj,typename Allocator>
+ void
+ assign_functor_a(FunctionObj f, function_buffer& functor, Allocator, mpl::true_)
+ {
+ assign_functor(f,functor,mpl::true_());
+ }
// Assign to a function object allocated on the heap.
template<typename FunctionObj>
void
- assign_functor(const FunctionObj& f, function_buffer& functor,
- mpl::false_) const
+ assign_functor(FunctionObj f, function_buffer& functor, mpl::false_)
{
-#ifndef BOOST_NO_STD_ALLOCATOR
- typedef typename Allocator::template rebind<FunctionObj>::other
- allocator_type;
- typedef typename allocator_type::pointer pointer_type;
-
- allocator_type allocator;
- pointer_type copy = allocator.allocate(1);
- allocator.construct(copy, f);
-
- // Get back to the original pointer type
- functor.obj_ptr = static_cast<FunctionObj*>(copy);
-# else
functor.obj_ptr = new FunctionObj(f);
-# endif // BOOST_NO_STD_ALLOCATOR
+ }
+ template<typename FunctionObj,typename Allocator>
+ void
+ assign_functor_a(FunctionObj f, function_buffer& functor, Allocator a, mpl::false_)
+ {
+ typedef functor_wrapper<FunctionObj,Allocator> functor_wrapper_type;
+ typedef typename Allocator::template rebind<functor_wrapper_type>::other
+ wrapper_allocator_type;
+ typedef typename wrapper_allocator_type::pointer wrapper_allocator_pointer_type;
+ wrapper_allocator_type wrapper_allocator(a);
+ wrapper_allocator_pointer_type copy = wrapper_allocator.allocate(1);
+ wrapper_allocator.construct(copy, functor_wrapper_type(f,a));
+ functor_wrapper_type* new_f = static_cast<functor_wrapper_type*>(copy);
+ functor.obj_ptr = new_f;
}
template<typename FunctionObj>
bool
- assign_to(const FunctionObj& f, function_buffer& functor,
- function_obj_tag) const
+ assign_to(FunctionObj f, function_buffer& functor, function_obj_tag)
{
if (!boost::detail::function::has_empty_target(boost::addressof(f))) {
assign_functor(f, functor,
@@ -524,12 +475,45 @@
return false;
}
}
+ template<typename FunctionObj,typename Allocator>
+ bool
+ assign_to_a(FunctionObj f, function_buffer& functor, Allocator a, function_obj_tag)
+ {
+ if (!boost::detail::function::has_empty_target(boost::addressof(f))) {
+ assign_functor_a(f, functor, a,
+ mpl::bool_<(function_allows_small_object_optimization<FunctionObj>::value)>());
+ return true;
+ } else {
+ return false;
+ }
+ }
// Reference to a function object
template<typename FunctionObj>
+ void
+ init(const reference_wrapper<FunctionObj>& /*f*/, function_obj_ref_tag)
+ {
+ typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER<
+ FunctionObj,
+ R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS
+ >::type
+ actual_invoker_type;
+
+ invoker = &actual_invoker_type::invoke;
+ manager = &reference_manager<FunctionObj>::get;
+ }
+ template<typename Allocator,typename FunctionObj>
+ void
+ init_a(const reference_wrapper<FunctionObj>& f, function_obj_ref_tag)
+ {
+ init(f,function_obj_ref_tag());
+ }
+
+ template<typename FunctionObj>
bool
assign_to(const reference_wrapper<FunctionObj>& f,
- function_buffer& functor, function_obj_ref_tag) const
+ function_buffer& functor, function_obj_ref_tag)
{
if (!boost::detail::function::has_empty_target(f.get_pointer())) {
// DPG TBD: We might need to detect constness of
@@ -542,9 +526,15 @@
return false;
}
}
+ template<typename FunctionObj,typename Allocator>
+ bool
+ assign_to_a(const reference_wrapper<FunctionObj>& f,
+ function_buffer& functor, Allocator, function_obj_ref_tag)
+ {
+ return assign_to(f,functor,function_obj_ref_tag());
+ }
public:
- vtable_base base;
invoker_type invoker;
};
} // end namespace function
@@ -552,8 +542,7 @@
template<
typename R BOOST_FUNCTION_COMMA
- BOOST_FUNCTION_TEMPLATE_PARMS,
- typename Allocator = BOOST_FUNCTION_DEFAULT_ALLOCATOR
+ BOOST_FUNCTION_TEMPLATE_PARMS
>
class BOOST_FUNCTION_FUNCTION : public function_base
@@ -578,7 +567,7 @@
private:
typedef boost::detail::function::BOOST_FUNCTION_VTABLE<
- R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS, Allocator>
+ R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>
vtable_type;
struct clear_type {};
@@ -603,7 +592,6 @@
BOOST_STATIC_CONSTANT(int, arity = BOOST_FUNCTION_NUM_ARGS);
BOOST_FUNCTION_ARG_TYPES
- typedef Allocator allocator_type;
typedef BOOST_FUNCTION_FUNCTION self_type;
BOOST_FUNCTION_FUNCTION() : function_base() { }
@@ -623,6 +611,19 @@
{
this->assign_to(f);
}
+ template<typename Functor,typename Allocator>
+ BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a
+#ifndef BOOST_NO_SFINAE
+ ,typename enable_if_c<
+ (boost::type_traits::ice_not<
+ (is_integral<Functor>::value)>::value),
+ int>::type = 0
+#endif // BOOST_NO_SFINAE
+ ) :
+ function_base()
+ {
+ this->assign_to_a(f,a);
+ }
#ifndef BOOST_NO_SFINAE
BOOST_FUNCTION_FUNCTION(clear_type*) : function_base() { }
@@ -648,7 +649,7 @@
if (this->empty())
boost::throw_exception(bad_function_call());
- return reinterpret_cast<const vtable_type*>(vtable)->invoker
+ return static_cast<vtable_type*>(vtable)->invoker
(this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS);
}
#else
@@ -672,18 +673,25 @@
operator=(Functor BOOST_FUNCTION_TARGET_FIX(const &) f)
{
this->clear();
-#ifndef BOOST_NO_EXCEPTIONS
try {
this->assign_to(f);
} catch (...) {
vtable = 0;
throw;
}
-#else
- this->assign_to(f);
-#endif
return *this;
}
+ template<typename Functor,typename Allocator>
+ void assign(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a)
+ {
+ this->clear();
+ try {
+ this->assign_to_a(f,a);
+ } catch (...) {
+ vtable = 0;
+ throw;
+ }
+ }
#ifndef BOOST_NO_SFINAE
BOOST_FUNCTION_FUNCTION& operator=(clear_type*)
@@ -707,16 +715,12 @@
return *this;
this->clear();
-#ifndef BOOST_NO_EXCEPTIONS
try {
this->assign_to_own(f);
} catch (...) {
vtable = 0;
throw;
}
-#else
- this->assign_to_own(f);
-#endif
return *this;
}
@@ -734,7 +738,7 @@
void clear()
{
if (vtable) {
- reinterpret_cast<const vtable_type*>(vtable)->clear(this->functor);
+ static_cast<vtable_type*>(vtable)->clear(this->functor);
vtable = 0;
}
}
@@ -769,84 +773,64 @@
}
template<typename Functor>
- void assign_to(const Functor& f)
+ void assign_to(Functor f)
{
- using detail::function::vtable_base;
-
- typedef typename detail::function::get_function_tag<Functor>::type tag;
- typedef detail::function::BOOST_FUNCTION_GET_INVOKER<tag> get_invoker;
- typedef typename get_invoker::
- template apply<Functor, R BOOST_FUNCTION_COMMA
- BOOST_FUNCTION_TEMPLATE_ARGS, Allocator>
- handler_type;
-
- typedef typename handler_type::invoker_type invoker_type;
- typedef typename handler_type::manager_type manager_type;
-
- static const vtable_type stored_vtable =
- { { &manager_type::manage }, &invoker_type::invoke };
-
- if (stored_vtable.assign_to(f, functor)) vtable = &stored_vtable.base;
+ static vtable_type stored_vtable(f);
+ if (stored_vtable.assign_to(f, functor)) vtable = &stored_vtable;
+ else vtable = 0;
+ }
+ template<typename Functor,typename Allocator>
+ void assign_to_a(Functor f,Allocator a)
+ {
+ static vtable_type stored_vtable(f,a);
+ if (stored_vtable.assign_to_a(f, functor, a)) vtable = &stored_vtable;
else vtable = 0;
}
};
- template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS ,
- typename Allocator>
+ template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
inline void swap(BOOST_FUNCTION_FUNCTION<
R BOOST_FUNCTION_COMMA
- BOOST_FUNCTION_TEMPLATE_ARGS ,
- Allocator
+ BOOST_FUNCTION_TEMPLATE_ARGS
>& f1,
BOOST_FUNCTION_FUNCTION<
R BOOST_FUNCTION_COMMA
- BOOST_FUNCTION_TEMPLATE_ARGS,
- Allocator
+ BOOST_FUNCTION_TEMPLATE_ARGS
>& f2)
{
f1.swap(f2);
}
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
- typename Allocator>
+ template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
typename BOOST_FUNCTION_FUNCTION<
- R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS,
- Allocator>::result_type
- BOOST_FUNCTION_FUNCTION<R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS,
-
- Allocator>
+ R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>::result_type
+ BOOST_FUNCTION_FUNCTION<R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>
::operator()(BOOST_FUNCTION_PARMS) const
{
if (this->empty())
boost::throw_exception(bad_function_call());
- return reinterpret_cast<const vtable_type*>(vtable)->invoker
+ return static_cast<vtable_type*>(vtable)->invoker
(this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS);
}
#endif
// Poison comparisons between boost::function objects of the same type.
-template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS ,
- typename Allocator>
+template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
void operator==(const BOOST_FUNCTION_FUNCTION<
R BOOST_FUNCTION_COMMA
- BOOST_FUNCTION_TEMPLATE_ARGS ,
- Allocator>&,
+ BOOST_FUNCTION_TEMPLATE_ARGS>&,
const BOOST_FUNCTION_FUNCTION<
R BOOST_FUNCTION_COMMA
- BOOST_FUNCTION_TEMPLATE_ARGS ,
- Allocator>&);
-template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS ,
- typename Allocator>
+ BOOST_FUNCTION_TEMPLATE_ARGS>&);
+template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
void operator!=(const BOOST_FUNCTION_FUNCTION<
R BOOST_FUNCTION_COMMA
- BOOST_FUNCTION_TEMPLATE_ARGS ,
- Allocator>&,
+ BOOST_FUNCTION_TEMPLATE_ARGS>&,
const BOOST_FUNCTION_FUNCTION<
R BOOST_FUNCTION_COMMA
- BOOST_FUNCTION_TEMPLATE_ARGS ,
- Allocator>&);
+ BOOST_FUNCTION_TEMPLATE_ARGS>& );
#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
@@ -857,20 +841,16 @@
#endif
template<typename R BOOST_FUNCTION_COMMA
- BOOST_FUNCTION_TEMPLATE_PARMS,
- typename Allocator>
-class function<BOOST_FUNCTION_PARTIAL_SPEC, Allocator>
- : public BOOST_FUNCTION_FUNCTION<R, BOOST_FUNCTION_TEMPLATE_ARGS
- BOOST_FUNCTION_COMMA Allocator>
+ BOOST_FUNCTION_TEMPLATE_PARMS>
+class function<BOOST_FUNCTION_PARTIAL_SPEC>
+ : public BOOST_FUNCTION_FUNCTION<R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>
{
- typedef BOOST_FUNCTION_FUNCTION<R, BOOST_FUNCTION_TEMPLATE_ARGS
- BOOST_FUNCTION_COMMA Allocator> base_type;
+ typedef BOOST_FUNCTION_FUNCTION<R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS> base_type;
typedef function self_type;
struct clear_type {};
public:
- typedef typename base_type::allocator_type allocator_type;
function() : base_type() {}
@@ -886,6 +866,18 @@
base_type(f)
{
}
+ template<typename Functor,typename Allocator>
+ function(Functor f, Allocator a
+#ifndef BOOST_NO_SFINAE
+ ,typename enable_if_c<
+ (boost::type_traits::ice_not<
+ (is_integral<Functor>::value)>::value),
+ int>::type = 0
+#endif
+ ) :
+ base_type(f,a)
+ {
+ }
#ifndef BOOST_NO_SFINAE
function(clear_type*) : base_type() {}
@@ -938,8 +930,6 @@
// Cleanup after ourselves...
#undef BOOST_FUNCTION_VTABLE
-#undef BOOST_FUNCTION_GET_INVOKER
-#undef BOOST_FUNCTION_DEFAULT_ALLOCATOR
#undef BOOST_FUNCTION_COMMA
#undef BOOST_FUNCTION_FUNCTION
#undef BOOST_FUNCTION_FUNCTION_INVOKER
@@ -948,12 +938,10 @@
#undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
#undef BOOST_FUNCTION_FUNCTION_REF_INVOKER
#undef BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER
-#undef BOOST_FUNCTION_MEMBER_INVOKER
-#undef BOOST_FUNCTION_VOID_MEMBER_INVOKER
#undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
#undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
#undef BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER
-#undef BOOST_FUNCTION_GET_MEMBER_INVOKER
+#undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
#undef BOOST_FUNCTION_TEMPLATE_PARMS
#undef BOOST_FUNCTION_TEMPLATE_ARGS
#undef BOOST_FUNCTION_PARMS
Modified: branches/CMake/release/boost/fusion/adapted/array/detail/category_of_impl.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/adapted/array/detail/category_of_impl.hpp (original)
+++ branches/CMake/release/boost/fusion/adapted/array/detail/category_of_impl.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -8,7 +8,7 @@
#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_27122005_1044)
#define BOOST_FUSION_CATEGORY_OF_IMPL_27122005_1044
-#include <utility>
+#include <boost/config/no_tr1/utility.hpp>
namespace boost { namespace fusion {
Modified: branches/CMake/release/boost/fusion/adapted/array/tag_of.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/adapted/array/tag_of.hpp (original)
+++ branches/CMake/release/boost/fusion/adapted/array/tag_of.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -25,7 +25,7 @@
namespace traits
{
template<typename T, std::size_t N>
-#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS)
+#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
struct tag_of<boost::array<T,N>, void >
#else
struct tag_of<boost::array<T,N> >
Modified: branches/CMake/release/boost/fusion/adapted/boost_tuple/tag_of.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/adapted/boost_tuple/tag_of.hpp (original)
+++ branches/CMake/release/boost/fusion/adapted/boost_tuple/tag_of.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -33,7 +33,7 @@
class T0, class T1, class T2, class T3, class T4,
class T5, class T6, class T7, class T8, class T9
>
-#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS)
+#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
struct tag_of<tuples::tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>, void >
#else
struct tag_of<tuples::tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> >
@@ -43,7 +43,7 @@
};
template <class Head, class Tail>
-#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS)
+#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
struct tag_of<tuples::cons<Head, Tail>, void >
#else
struct tag_of<tuples::cons<Head, Tail> >
Modified: branches/CMake/release/boost/fusion/adapted/std_pair.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/adapted/std_pair.hpp (original)
+++ branches/CMake/release/boost/fusion/adapted/std_pair.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -11,7 +11,7 @@
#include <boost/fusion/support/tag_of_fwd.hpp>
#include <boost/fusion/adapted/struct.hpp>
#include <boost/mpl/int.hpp>
-#include <utility>
+#include <boost/config/no_tr1/utility.hpp>
namespace boost { namespace fusion
{
@@ -20,7 +20,7 @@
namespace traits
{
template <typename T1, typename T2>
-#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS)
+#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
struct tag_of<std::pair<T1, T2>, void >
#else
struct tag_of<std::pair<T1, T2> >
Modified: branches/CMake/release/boost/fusion/adapted/std_pair/detail/category_of_impl.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/adapted/std_pair/detail/category_of_impl.hpp (original)
+++ branches/CMake/release/boost/fusion/adapted/std_pair/detail/category_of_impl.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -8,7 +8,7 @@
#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_24122005_1731)
#define BOOST_FUSION_CATEGORY_OF_IMPL_24122005_1731
-#include <utility>
+#include <boost/config/no_tr1/utility.hpp>
namespace boost { namespace fusion {
Modified: branches/CMake/release/boost/fusion/adapted/std_pair/std_pair_iterator.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/adapted/std_pair/std_pair_iterator.hpp (original)
+++ branches/CMake/release/boost/fusion/adapted/std_pair/std_pair_iterator.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -14,7 +14,7 @@
#include <boost/mpl/if.hpp>
#include <boost/mpl/int.hpp>
#include <boost/mpl/minus.hpp>
-#include <utility>
+#include <boost/config/no_tr1/utility.hpp>
namespace boost { namespace fusion
{
Modified: branches/CMake/release/boost/fusion/adapted/std_pair/tag_of.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/adapted/std_pair/tag_of.hpp (original)
+++ branches/CMake/release/boost/fusion/adapted/std_pair/tag_of.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -10,7 +10,7 @@
#include <boost/fusion/support/tag_of_fwd.hpp>
-#include <utility>
+#include <boost/config/no_tr1/utility.hpp>
namespace boost { namespace fusion {
Modified: branches/CMake/release/boost/fusion/adapted/struct/adapt_assoc_struct.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/adapted/struct/adapt_assoc_struct.hpp (original)
+++ branches/CMake/release/boost/fusion/adapted/struct/adapt_assoc_struct.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -31,7 +31,7 @@
#include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/mpl/int.hpp>
-#include <utility>
+#include <boost/config/no_tr1/utility.hpp>
namespace boost { namespace fusion { namespace extension {
template<typename Struct, typename Key>
Modified: branches/CMake/release/boost/fusion/adapted/struct/adapt_struct.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/adapted/struct/adapt_struct.hpp (original)
+++ branches/CMake/release/boost/fusion/adapted/struct/adapt_struct.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -27,7 +27,7 @@
#include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/mpl/int.hpp>
-#include <utility>
+#include <boost/config/no_tr1/utility.hpp>
#define BOOST_FUSION_ADAPT_STRUCT(name, bseq) \
BOOST_FUSION_ADAPT_STRUCT_I( \
Modified: branches/CMake/release/boost/fusion/adapted/struct/detail/category_of_impl.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/adapted/struct/detail/category_of_impl.hpp (original)
+++ branches/CMake/release/boost/fusion/adapted/struct/detail/category_of_impl.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -8,7 +8,7 @@
#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_24122005_1731)
#define BOOST_FUSION_CATEGORY_OF_IMPL_24122005_1731
-#include <utility>
+#include <boost/config/no_tr1/utility.hpp>
namespace boost { namespace fusion
{
Modified: branches/CMake/release/boost/fusion/adapted/struct/struct_iterator.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/adapted/struct/struct_iterator.hpp (original)
+++ branches/CMake/release/boost/fusion/adapted/struct/struct_iterator.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -17,7 +17,7 @@
#include <boost/mpl/if.hpp>
#include <boost/mpl/int.hpp>
#include <boost/mpl/minus.hpp>
-#include <utility>
+#include <boost/config/no_tr1/utility.hpp>
namespace boost { namespace fusion
{
Modified: branches/CMake/release/boost/fusion/algorithm/transformation/transform.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/algorithm/transformation/transform.hpp (original)
+++ branches/CMake/release/boost/fusion/algorithm/transformation/transform.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -22,7 +22,7 @@
};
template <typename Sequence, typename F>
-#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS)
+#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
struct transform<Sequence, F, void_>
#else
struct transform<Sequence, F>
Modified: branches/CMake/release/boost/fusion/algorithm/transformation/zip.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/algorithm/transformation/zip.hpp (original)
+++ branches/CMake/release/boost/fusion/algorithm/transformation/zip.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -54,7 +54,7 @@
namespace result_of
{
template< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, typename T) >
-#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS)
+#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
#define TEXT(z, n, text) , text
struct zip< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(ZIP_ITERATION), FUSION_MAX_ZIP_SEQUENCES, TEXT, void_) >
#undef TEXT
Modified: branches/CMake/release/boost/fusion/container/generation/deque_tie.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/container/generation/deque_tie.hpp (original)
+++ branches/CMake/release/boost/fusion/container/generation/deque_tie.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -54,7 +54,7 @@
namespace result_of
{
template <BOOST_PP_ENUM_PARAMS(N, typename T)>
-#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS)
+#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
#define TEXT(z, n, text) , text
struct deque_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_DEQUE_SIZE, TEXT, void_) >
#undef TEXT
Modified: branches/CMake/release/boost/fusion/container/generation/list_tie.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/container/generation/list_tie.hpp (original)
+++ branches/CMake/release/boost/fusion/container/generation/list_tie.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -54,7 +54,7 @@
namespace result_of
{
template <BOOST_PP_ENUM_PARAMS(N, typename T)>
-#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS)
+#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
#define TEXT(z, n, text) , text
struct list_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_LIST_SIZE, TEXT, void_) >
#undef TEXT
Modified: branches/CMake/release/boost/fusion/container/generation/make_deque.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/container/generation/make_deque.hpp (original)
+++ branches/CMake/release/boost/fusion/container/generation/make_deque.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -73,7 +73,7 @@
namespace result_of
{
template <BOOST_PP_ENUM_PARAMS(N, typename T)>
-#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS)
+#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
#define TEXT(z, n, text) , text
struct make_deque< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_DEQUE_SIZE, TEXT, void_) >
#undef TEXT
Modified: branches/CMake/release/boost/fusion/container/generation/make_list.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/container/generation/make_list.hpp (original)
+++ branches/CMake/release/boost/fusion/container/generation/make_list.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -66,7 +66,7 @@
namespace result_of
{
template <BOOST_PP_ENUM_PARAMS(N, typename T)>
-#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS)
+#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
#define TEXT(z, n, text) , text
struct make_list< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_LIST_SIZE, TEXT, void_) >
#undef TEXT
Modified: branches/CMake/release/boost/fusion/container/generation/make_map.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/container/generation/make_map.hpp (original)
+++ branches/CMake/release/boost/fusion/container/generation/make_map.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -78,7 +78,7 @@
BOOST_PP_ENUM_PARAMS(N, typename K)
, BOOST_PP_ENUM_PARAMS(N, typename D)
>
-#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS)
+#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
#define TEXT(z, n, text) , text
struct make_map<BOOST_PP_ENUM_PARAMS(N, K), BOOST_PP_ENUM_PARAMS(N, D) BOOST_PP_REPEAT_FROM_TO(N, FUSION_MAX_VECTOR_SIZE, TEXT, void_) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_VECTOR_SIZE, TEXT, void_)>
#undef TEXT
Modified: branches/CMake/release/boost/fusion/container/generation/make_set.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/container/generation/make_set.hpp (original)
+++ branches/CMake/release/boost/fusion/container/generation/make_set.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -68,7 +68,7 @@
namespace result_of
{
template <BOOST_PP_ENUM_PARAMS(N, typename T)>
-#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS)
+#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
#define TEXT(z, n, text) , text
struct make_set< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_SET_SIZE, TEXT, void_) >
#undef TEXT
Modified: branches/CMake/release/boost/fusion/container/generation/make_vector.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/container/generation/make_vector.hpp (original)
+++ branches/CMake/release/boost/fusion/container/generation/make_vector.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -66,7 +66,7 @@
namespace result_of
{
template <BOOST_PP_ENUM_PARAMS(N, typename T)>
-#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS)
+#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
#define TEXT(z, n, text) , text
struct make_vector< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_VECTOR_SIZE, TEXT, void_) >
#undef TEXT
Modified: branches/CMake/release/boost/fusion/container/generation/map_tie.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/container/generation/map_tie.hpp (original)
+++ branches/CMake/release/boost/fusion/container/generation/map_tie.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -81,7 +81,7 @@
BOOST_PP_ENUM_PARAMS(N, typename K)
, BOOST_PP_ENUM_PARAMS(N, typename D)
>
-#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS)
+#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
#define TEXT(z, n, text) , text
struct map_tie<BOOST_PP_ENUM_PARAMS(N, K), BOOST_PP_ENUM_PARAMS(N, D) BOOST_PP_REPEAT_FROM_TO(N, FUSION_MAX_MAP_SIZE, TEXT, void_) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_MAP_SIZE, TEXT, void_)>
Modified: branches/CMake/release/boost/fusion/container/generation/vector_tie.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/container/generation/vector_tie.hpp (original)
+++ branches/CMake/release/boost/fusion/container/generation/vector_tie.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -53,7 +53,7 @@
namespace result_of
{
template <BOOST_PP_ENUM_PARAMS(N, typename T)>
-#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS)
+#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
#define TEXT(z, n, text) , text
struct vector_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_VECTOR_SIZE, TEXT, void_) >
#undef TEXT
Modified: branches/CMake/release/boost/fusion/container/list/detail/end_impl.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/container/list/detail/end_impl.hpp (original)
+++ branches/CMake/release/boost/fusion/container/list/detail/end_impl.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -39,7 +39,7 @@
type;
static type
- call(Sequence& t)
+ call(Sequence&)
{
return type();
}
Modified: branches/CMake/release/boost/fusion/functional/invocation/invoke.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/functional/invocation/invoke.hpp (original)
+++ branches/CMake/release/boost/fusion/functional/invocation/invoke.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
/*=============================================================================
- Copyright (c) 2005-2006 Joao Abecasis
+ Copyright (c) 2005-2006 João Abecasis
Copyright (c) 2006-2007 Tobias Schwinger
Use modification and distribution are subject to the Boost Software
Modified: branches/CMake/release/boost/fusion/functional/invocation/invoke_function_object.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/functional/invocation/invoke_function_object.hpp (original)
+++ branches/CMake/release/boost/fusion/functional/invocation/invoke_function_object.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
/*=============================================================================
- Copyright (c) 2005-2006 Joao Abecasis
+ Copyright (c) 2005-2006 João Abecasis
Copyright (c) 2006-2007 Tobias Schwinger
Use modification and distribution are subject to the Boost Software
Modified: branches/CMake/release/boost/fusion/functional/invocation/invoke_procedure.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/functional/invocation/invoke_procedure.hpp (original)
+++ branches/CMake/release/boost/fusion/functional/invocation/invoke_procedure.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
/*=============================================================================
- Copyright (c) 2005-2006 Joao Abecasis
+ Copyright (c) 2005-2006 João Abecasis
Copyright (c) 2006-2007 Tobias Schwinger
Use modification and distribution are subject to the Boost Software
Modified: branches/CMake/release/boost/fusion/support/tag_of.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/support/tag_of.hpp (original)
+++ branches/CMake/release/boost/fusion/support/tag_of.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -16,7 +16,7 @@
#include <boost/mpl/assert.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/mpl/if.hpp>
-#include <utility>
+#include <boost/config/no_tr1/utility.hpp>
namespace boost
{
Modified: branches/CMake/release/boost/fusion/view/transform_view/transform_view.hpp
==============================================================================
--- branches/CMake/release/boost/fusion/view/transform_view/transform_view.hpp (original)
+++ branches/CMake/release/boost/fusion/view/transform_view/transform_view.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -73,7 +73,7 @@
// Unary Version
template <typename Sequence, typename F>
-#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS)
+#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
struct transform_view<Sequence, F, void_> : sequence_base<transform_view<Sequence, F, void_> >
#else
struct transform_view<Sequence, F> : sequence_base<transform_view<Sequence, F> >
Modified: branches/CMake/release/boost/gil/algorithm.hpp
==============================================================================
--- branches/CMake/release/boost/gil/algorithm.hpp (original)
+++ branches/CMake/release/boost/gil/algorithm.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -16,9 +16,11 @@
#include <cassert>
#include <cstddef>
+#include <cstring>
#include <algorithm>
#include <iterator>
#include <memory>
+#include <typeinfo>
#include "gil_config.hpp"
#include "gil_concept.hpp"
#include "color_base_algorithm.hpp"
@@ -31,7 +33,7 @@
/// \brief Some basic STL-style algorithms when applied to image views
/// \author Lubomir Bourdev and Hailin Jin \n
/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on May 6, 2007
+/// \date 2005-2008 \n Last updated on March 12, 2008
///
////////////////////////////////////////////////////////////////////////////////////////
Modified: branches/CMake/release/boost/gil/bit_aligned_pixel_reference.hpp
==============================================================================
--- branches/CMake/release/boost/gil/bit_aligned_pixel_reference.hpp (original)
+++ branches/CMake/release/boost/gil/bit_aligned_pixel_reference.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -5,7 +5,7 @@
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
- See http://opensource.adobe.com/gil for most recent version including documentation.
+ See http://stlab.adobe.com/gil for most recent version including documentation.
*/
/*************************************************************************************************/
@@ -121,7 +121,7 @@
bool IsMutable>
struct bit_aligned_pixel_reference {
BOOST_STATIC_CONSTANT(int, bit_size = (mpl::accumulate<ChannelBitSizes, mpl::int_<0>, mpl::plus<mpl::_1, mpl::_2> >::type::value));
- typedef bit_range<bit_size,IsMutable> bit_range_t;
+ typedef boost::gil::bit_range<bit_size,IsMutable> bit_range_t;
typedef BitField bitfield_t;
typedef typename mpl::if_c<IsMutable,unsigned char*,const unsigned char*>::type data_ptr_t;
@@ -283,19 +283,19 @@
// Having three overloads allows us to swap between different (but compatible) models of PixelConcept
template <typename B, typename C, typename L, typename R> inline
-void swap(boost::gil::bit_aligned_pixel_reference<B,C,L,true> x, R& y) {
+void swap(const boost::gil::bit_aligned_pixel_reference<B,C,L,true> x, R& y) {
boost::gil::swap_proxy<typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type>(x,y);
}
template <typename B, typename C, typename L> inline
-void swap(typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type& x, boost::gil::bit_aligned_pixel_reference<B,C,L,true> y) {
+void swap(typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type& x, const boost::gil::bit_aligned_pixel_reference<B,C,L,true> y) {
boost::gil::swap_proxy<typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type>(x,y);
}
template <typename B, typename C, typename L> inline
-void swap(boost::gil::bit_aligned_pixel_reference<B,C,L,true> x, boost::gil::bit_aligned_pixel_reference<B,C,L,true> y) {
+void swap(const boost::gil::bit_aligned_pixel_reference<B,C,L,true> x, const boost::gil::bit_aligned_pixel_reference<B,C,L,true> y) {
boost::gil::swap_proxy<typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type>(x,y);
}
} // namespace std
Modified: branches/CMake/release/boost/gil/channel.hpp
==============================================================================
--- branches/CMake/release/boost/gil/channel.hpp (original)
+++ branches/CMake/release/boost/gil/channel.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -5,7 +5,7 @@
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
- See http://opensource.adobe.com/gil for most recent version including documentation.
+ See http://stlab.adobe.com/gil for most recent version including documentation.
*/
/*************************************************************************************************/
@@ -264,7 +264,7 @@
template <>
struct static_copy_bytes<0> {
- void operator()(const unsigned char* from, unsigned char* to) const {}
+ void operator()(const unsigned char* , unsigned char*) const {}
};
template <typename Derived, typename BitField, int NumBits, bool Mutable>
@@ -425,7 +425,7 @@
/// \ingroup PackedChannelReferenceModel
/// \brief swap for packed_channel_reference
template <typename BF, int FB, int NB, bool M, typename R> inline
-void swap(boost::gil::packed_channel_reference<BF,FB,NB,M> x, R& y) {
+void swap(const boost::gil::packed_channel_reference<BF,FB,NB,M> x, R& y) {
boost::gil::swap_proxy<typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type>(x,y);
}
@@ -433,7 +433,7 @@
/// \ingroup PackedChannelReferenceModel
/// \brief swap for packed_channel_reference
template <typename BF, int FB, int NB, bool M> inline
-void swap(typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type& x, boost::gil::packed_channel_reference<BF,FB,NB,M> y) {
+void swap(typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type& x, const boost::gil::packed_channel_reference<BF,FB,NB,M> y) {
boost::gil::swap_proxy<typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type>(x,y);
}
@@ -441,7 +441,7 @@
/// \ingroup PackedChannelReferenceModel
/// \brief swap for packed_channel_reference
template <typename BF, int FB, int NB, bool M> inline
-void swap(boost::gil::packed_channel_reference<BF,FB,NB,M> x, boost::gil::packed_channel_reference<BF,FB,NB,M> y) {
+void swap(const boost::gil::packed_channel_reference<BF,FB,NB,M> x, const boost::gil::packed_channel_reference<BF,FB,NB,M> y) {
boost::gil::swap_proxy<typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type>(x,y);
}
} // namespace std
@@ -545,7 +545,7 @@
/// \ingroup PackedChannelDynamicReferenceModel
/// \brief swap for packed_dynamic_channel_reference
template <typename BF, int NB, bool M, typename R> inline
-void swap(boost::gil::packed_dynamic_channel_reference<BF,NB,M> x, R& y) {
+void swap(const boost::gil::packed_dynamic_channel_reference<BF,NB,M> x, R& y) {
boost::gil::swap_proxy<typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type>(x,y);
}
@@ -553,7 +553,7 @@
/// \ingroup PackedChannelDynamicReferenceModel
/// \brief swap for packed_dynamic_channel_reference
template <typename BF, int NB, bool M> inline
-void swap(typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type& x, boost::gil::packed_dynamic_channel_reference<BF,NB,M> y) {
+void swap(typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type& x, const boost::gil::packed_dynamic_channel_reference<BF,NB,M> y) {
boost::gil::swap_proxy<typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type>(x,y);
}
@@ -561,7 +561,7 @@
/// \ingroup PackedChannelDynamicReferenceModel
/// \brief swap for packed_dynamic_channel_reference
template <typename BF, int NB, bool M> inline
-void swap(boost::gil::packed_dynamic_channel_reference<BF,NB,M> x, boost::gil::packed_dynamic_channel_reference<BF,NB,M> y) {
+void swap(const boost::gil::packed_dynamic_channel_reference<BF,NB,M> x, const boost::gil::packed_dynamic_channel_reference<BF,NB,M> y) {
boost::gil::swap_proxy<typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type>(x,y);
}
} // namespace std
Modified: branches/CMake/release/boost/gil/color_base.hpp
==============================================================================
--- branches/CMake/release/boost/gil/color_base.hpp (original)
+++ branches/CMake/release/boost/gil/color_base.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -5,7 +5,7 @@
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
- See http://opensource.adobe.com/gil for most recent version including documentation.
+ See http://stlab.adobe.com/gil for most recent version including documentation.
*/
/*************************************************************************************************/
@@ -129,7 +129,7 @@
_v1(*memunit_advanced(semantic_at_c<1>(ptr),diff)) {}
// Support for planar_pixel_reference operator[]
- Element at_c_dynamic(size_t i) const {
+ Element at_c_dynamic(std::size_t i) const {
if (i==0) return _v0;
return _v1;
}
@@ -182,7 +182,7 @@
_v2(*memunit_advanced(semantic_at_c<2>(ptr),diff)) {}
// Support for planar_pixel_reference operator[]
- Element at_c_dynamic(size_t i) const {
+ Element at_c_dynamic(std::size_t i) const {
switch (i) {
case 0: return _v0;
case 1: return _v1;
@@ -245,7 +245,7 @@
_v3(*memunit_advanced(semantic_at_c<3>(ptr),diff)) {}
// Support for planar_pixel_reference operator[]
- Element at_c_dynamic(size_t i) const {
+ Element at_c_dynamic(std::size_t i) const {
switch (i) {
case 0: return _v0;
case 1: return _v1;
@@ -316,7 +316,7 @@
_v4(*memunit_advanced(semantic_at_c<4>(ptr),diff)) {}
// Support for planar_pixel_reference operator[]
- Element at_c_dynamic(size_t i) const {
+ Element at_c_dynamic(std::size_t i) const {
switch (i) {
case 0: return _v0;
case 1: return _v1;
Modified: branches/CMake/release/boost/gil/device_n.hpp
==============================================================================
--- branches/CMake/release/boost/gil/device_n.hpp (original)
+++ branches/CMake/release/boost/gil/device_n.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -5,7 +5,7 @@
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
- See http://opensource.adobe.com/gil for most recent version including documentation.
+ See http://stlab.adobe.com/gil for most recent version including documentation.
*/
/*************************************************************************************************/
@@ -64,7 +64,8 @@
template <typename IC>
inline typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<2> > >::view_t
planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, std::ptrdiff_t rowsize_in_bytes) {
- return typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<2> > >::view_t(width, height, planar_pixel_iterator<IC,devicen_t<2> >(c0,c1), rowsize_in_bytes);
+ typedef typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<2> > >::view_t view_t;
+ return view_t(width, height, typename view_t::locator(typename view_t::x_iterator(c0,c1), rowsize_in_bytes));
}
/// \ingroup ImageViewConstructors
@@ -72,7 +73,8 @@
template <typename IC>
inline typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<3> > >::view_t
planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, std::ptrdiff_t rowsize_in_bytes) {
- return typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<3> > >::view_t(width, height, planar_pixel_iterator<IC,devicen_t<3> >(c0,c1,c2), rowsize_in_bytes);
+ typedef typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<3> > >::view_t view_t;
+ return view_t(width, height, typename view_t::locator(typename view_t::x_iterator(c0,c1,c2), rowsize_in_bytes));
}
/// \ingroup ImageViewConstructors
@@ -80,7 +82,8 @@
template <typename IC>
inline typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<4> > >::view_t
planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, IC c3, std::ptrdiff_t rowsize_in_bytes) {
- return typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<4> > >::view_t(width, height, planar_pixel_iterator<IC,devicen_t<4> >(c0,c1,c2,c3), rowsize_in_bytes);
+ typedef typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<4> > >::view_t view_t;
+ return view_t(width, height, typename view_t::locator(typename view_t::x_iterator(c0,c1,c2,c3), rowsize_in_bytes));
}
/// \ingroup ImageViewConstructors
@@ -88,7 +91,8 @@
template <typename IC>
inline typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<5> > >::view_t
planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, IC c3, IC c4, std::ptrdiff_t rowsize_in_bytes) {
- return typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<5> > >::view_t(width, height, planar_pixel_iterator<IC,devicen_t<5> >(c0,c1,c2,c3,c4), rowsize_in_bytes);
+ typedef typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<5> > >::view_t view_t;
+ return view_t(width, height, typename view_t::locator(typename view_t::x_iterator(c0,c1,c2,c3,c4), rowsize_in_bytes));
}
} } // namespace boost::gil
Modified: branches/CMake/release/boost/gil/extension/io/png_io_private.hpp
==============================================================================
--- branches/CMake/release/boost/gil/extension/io/png_io_private.hpp (original)
+++ branches/CMake/release/boost/gil/extension/io/png_io_private.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -5,7 +5,7 @@
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
- See http://opensource.adobe.com/gil for most recent version including documentation.
+ See http://stlab.adobe.com/gil for most recent version including documentation.
*/
/*************************************************************************************************/
@@ -28,7 +28,7 @@
namespace detail {
-static const size_t PNG_BYTES_TO_CHECK = 4;
+static const std::size_t PNG_BYTES_TO_CHECK = 4;
// lbourdev: These can be greatly simplified, for example:
template <typename Cs> struct png_color_type {BOOST_STATIC_CONSTANT(int,color_type=0);};
Modified: branches/CMake/release/boost/gil/gil_concept.hpp
==============================================================================
--- branches/CMake/release/boost/gil/gil_concept.hpp (original)
+++ branches/CMake/release/boost/gil/gil_concept.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -702,8 +702,8 @@
typedef typename kth_element_type<ColorBase,num_elements-1>::type TN;
BOOST_STATIC_ASSERT((is_same<T0,TN>::value)); // better than nothing
- typedef typename kth_element_const_reference_type<ColorBase,0>::type CR0;
- CR0 e0=dynamic_at_c(cb,0);
+ typedef typename kth_element_const_reference_type<ColorBase,0>::type CRef0;
+ CRef0 e0=dynamic_at_c(cb,0);
}
ColorBase cb;
};
Modified: branches/CMake/release/boost/gil/planar_pixel_reference.hpp
==============================================================================
--- branches/CMake/release/boost/gil/planar_pixel_reference.hpp (original)
+++ branches/CMake/release/boost/gil/planar_pixel_reference.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -5,7 +5,7 @@
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
- See http://opensource.adobe.com/gil for most recent version including documentation.
+ See http://stlab.adobe.com/gil for most recent version including documentation.
*/
/*************************************************************************************************/
@@ -162,7 +162,7 @@
/// \brief swap for planar_pixel_reference
/// \ingroup PixelModelPlanarRef
template <typename CR, typename CS, typename R> inline
-void swap(boost::gil::planar_pixel_reference<CR,CS> x, R& y) {
+void swap(const boost::gil::planar_pixel_reference<CR,CS> x, R& y) {
boost::gil::swap_proxy<typename boost::gil::planar_pixel_reference<CR,CS>::value_type>(x,y);
}
@@ -170,7 +170,7 @@
/// \brief swap for planar_pixel_reference
/// \ingroup PixelModelPlanarRef
template <typename CR, typename CS> inline
-void swap(typename boost::gil::planar_pixel_reference<CR,CS>::value_type& x, boost::gil::planar_pixel_reference<CR,CS> y) {
+void swap(typename boost::gil::planar_pixel_reference<CR,CS>::value_type& x, const boost::gil::planar_pixel_reference<CR,CS> y) {
boost::gil::swap_proxy<typename boost::gil::planar_pixel_reference<CR,CS>::value_type>(x,y);
}
@@ -178,7 +178,7 @@
/// \brief swap for planar_pixel_reference
/// \ingroup PixelModelPlanarRef
template <typename CR, typename CS> inline
-void swap(boost::gil::planar_pixel_reference<CR,CS> x, boost::gil::planar_pixel_reference<CR,CS> y) {
+void swap(const boost::gil::planar_pixel_reference<CR,CS> x, const boost::gil::planar_pixel_reference<CR,CS> y) {
boost::gil::swap_proxy<typename boost::gil::planar_pixel_reference<CR,CS>::value_type>(x,y);
}
} // namespace std
Modified: branches/CMake/release/boost/graph/detail/read_graphviz_spirit.hpp
==============================================================================
--- branches/CMake/release/boost/graph/detail/read_graphviz_spirit.hpp (original)
+++ branches/CMake/release/boost/graph/detail/read_graphviz_spirit.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -53,6 +53,7 @@
#include <utility>
#include <map>
#include <boost/graph/graphviz.hpp>
+#include <boost/throw_exception.hpp>
namespace phoenix {
// Workaround: std::map::operator[] uses a different return type than all
@@ -292,12 +293,12 @@
void check_undirected() {
if(self.graph_.is_directed())
- throw boost::undirected_graph_error();
+ boost::throw_exception(boost::undirected_graph_error());
}
void check_directed() {
if(!self.graph_.is_directed())
- throw boost::directed_graph_error();
+ boost::throw_exception(boost::directed_graph_error());
}
void memoize_node() {
Modified: branches/CMake/release/boost/intrusive_ptr.hpp
==============================================================================
--- branches/CMake/release/boost/intrusive_ptr.hpp (original)
+++ branches/CMake/release/boost/intrusive_ptr.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -22,9 +22,17 @@
#include <boost/assert.hpp>
#include <boost/detail/workaround.hpp>
+#include <boost/detail/sp_convertible.hpp>
-#include <functional> // for std::less
+#include <boost/config/no_tr1/functional.hpp> // for std::less
+
+#if !defined(BOOST_NO_IOSTREAM)
+#if !defined(BOOST_NO_IOSFWD)
#include <iosfwd> // for std::basic_ostream
+#else
+#include <ostream>
+#endif
+#endif
namespace boost
@@ -66,9 +74,19 @@
#if !defined(BOOST_NO_MEMBER_TEMPLATES) || defined(BOOST_MSVC6_MEMBER_TEMPLATES)
- template<class U> intrusive_ptr(intrusive_ptr<U> const & rhs): p_(rhs.get())
+ template<class U>
+#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
+
+ intrusive_ptr( intrusive_ptr<U> const & rhs, typename detail::sp_enable_if_convertible<U,T>::type = detail::sp_empty() )
+
+#else
+
+ intrusive_ptr( intrusive_ptr<U> const & rhs )
+
+#endif
+ : p_( rhs.get() )
{
- if(p_ != 0) intrusive_ptr_add_ref(p_);
+ if( p_ != 0 ) intrusive_ptr_add_ref( p_ );
}
#endif
@@ -105,6 +123,11 @@
return *this;
}
+ void reset()
+ {
+ this_type().swap( *this );
+ }
+
void reset( T * rhs )
{
this_type( rhs ).swap( *this );
@@ -246,7 +269,9 @@
// operator<<
-#if defined(__GNUC__) && (__GNUC__ < 3)
+#if !defined(BOOST_NO_IOSTREAM)
+
+#if defined(BOOST_NO_TEMPLATED_IOSTREAMS) || ( defined(__GNUC__) && (__GNUC__ < 3) )
template<class Y> std::ostream & operator<< (std::ostream & os, intrusive_ptr<Y> const & p)
{
@@ -275,6 +300,8 @@
#endif // __GNUC__ < 3
+#endif // !defined(BOOST_NO_IOSTREAM)
+
} // namespace boost
#ifdef BOOST_MSVC
Modified: branches/CMake/release/boost/iterator/detail/config_def.hpp
==============================================================================
--- branches/CMake/release/boost/iterator/detail/config_def.hpp (original)
+++ branches/CMake/release/boost/iterator/detail/config_def.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -49,7 +49,9 @@
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
|| BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x531)) \
|| (BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 700) && defined(_MSC_VER)) \
- || BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))
+ || BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042)) \
+ || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590))
+
# define BOOST_NO_LVALUE_RETURN_DETECTION
# if 0 // test code
Modified: branches/CMake/release/boost/math/bindings/rr.hpp
==============================================================================
--- branches/CMake/release/boost/math/bindings/rr.hpp (original)
+++ branches/CMake/release/boost/math/bindings/rr.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -79,11 +79,11 @@
assign_large_int(c);
}
#ifdef BOOST_HAS_LONG_LONG
- RR(unsigned long long c)
+ RR(boost::ulong_long_type c)
{
assign_large_int(c);
}
- RR(long long c)
+ RR(boost::long_long_type c)
{
assign_large_int(c);
}
@@ -115,8 +115,8 @@
RR& operator=(long c) { assign_large_int(c); return *this; }
RR& operator=(unsigned long c) { assign_large_int(c); return *this; }
#ifdef BOOST_HAS_LONG_LONG
- RR& operator=(long long c) { assign_large_int(c); return *this; }
- RR& operator=(unsigned long long c) { assign_large_int(c); return *this; }
+ RR& operator=(boost::long_long_type c) { assign_large_int(c); return *this; }
+ RR& operator=(boost::ulong_long_type c) { assign_large_int(c); return *this; }
#endif
RR& operator=(float c) { m_value = c; return *this; }
RR& operator=(double c) { m_value = c; return *this; }
@@ -697,6 +697,18 @@
return x - factor * y;
}
+ template <class Policy>
+ inline int iround(RR const& x, const Policy& pol)
+ {
+ return tools::real_cast<int>(round(x, pol));
+ }
+
+ template <class Policy>
+ inline int itrunc(RR const& x, const Policy& pol)
+ {
+ return tools::real_cast<int>(trunc(x, pol));
+ }
+
} // namespace ntl
} // namespace math
Modified: branches/CMake/release/boost/math/common_factor_rt.hpp
==============================================================================
--- branches/CMake/release/boost/math/common_factor_rt.hpp (original)
+++ branches/CMake/release/boost/math/common_factor_rt.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -303,7 +303,7 @@
BOOST_PRIVATE_GCD_UF( unsigned long );
#ifdef BOOST_HAS_LONG_LONG
- BOOST_PRIVATE_GCD_UF( unsigned long long );
+ BOOST_PRIVATE_GCD_UF( boost::ulong_long_type );
#elif defined(BOOST_HAS_MS_INT64)
BOOST_PRIVATE_GCD_UF( unsigned __int64 );
#endif
@@ -325,7 +325,7 @@
BOOST_PRIVATE_GCD_SF( char, unsigned char ); // should work even if unsigned
#ifdef BOOST_HAS_LONG_LONG
- BOOST_PRIVATE_GCD_SF( long long, unsigned long long );
+ BOOST_PRIVATE_GCD_SF( boost::long_long_type, boost::ulong_long_type );
#elif defined(BOOST_HAS_MS_INT64)
BOOST_PRIVATE_GCD_SF( __int64, unsigned __int64 );
#endif
Modified: branches/CMake/release/boost/math/concepts/real_concept.hpp
==============================================================================
--- branches/CMake/release/boost/math/concepts/real_concept.hpp (original)
+++ branches/CMake/release/boost/math/concepts/real_concept.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -22,9 +22,14 @@
#include <boost/config.hpp>
#include <boost/limits.hpp>
-#include <boost/math/tools/real_cast.hpp>
+#include <boost/math/special_functions/round.hpp>
+#include <boost/math/special_functions/trunc.hpp>
+#include <boost/math/special_functions/modf.hpp>
#include <boost/math/tools/precision.hpp>
#include <boost/math/policies/policy.hpp>
+#if defined(__SGI_STL_PORT)
+# include <boost/math/tools/real_cast.hpp>
+#endif
#include <ostream>
#include <istream>
#include <cmath>
@@ -38,6 +43,12 @@
namespace concepts
{
+#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+ typedef double real_concept_base_type;
+#else
+ typedef long double real_concept_base_type;
+#endif
+
class real_concept
{
public:
@@ -55,12 +66,15 @@
real_concept(int c) : m_value(c){}
real_concept(unsigned long c) : m_value(c){}
real_concept(long c) : m_value(c){}
-#if defined(BOOST_HAS_LONG_LONG) || defined(__DECCXX) || defined(__SUNPRO_CC)
- real_concept(unsigned long long c) : m_value(static_cast<long double>(c)){}
- real_concept(long long c) : m_value(static_cast<long double>(c)){}
+#if defined(__DECCXX) || defined(__SUNPRO_CC)
+ real_concept(unsigned long long c) : m_value(static_cast<real_concept_base_type>(c)){}
+ real_concept(long long c) : m_value(static_cast<real_concept_base_type>(c)){}
+#elif defined(BOOST_HAS_LONG_LONG)
+ real_concept(boost::ulong_long_type c) : m_value(static_cast<real_concept_base_type>(c)){}
+ real_concept(boost::long_long_type c) : m_value(static_cast<real_concept_base_type>(c)){}
#elif defined(BOOST_HAS_MS_INT64)
- real_concept(unsigned __int64 c) : m_value(static_cast<long double>(c)){}
- real_concept(__int64 c) : m_value(static_cast<long double>(c)){}
+ real_concept(unsigned __int64 c) : m_value(static_cast<real_concept_base_type>(c)){}
+ real_concept(__int64 c) : m_value(static_cast<real_concept_base_type>(c)){}
#endif
real_concept(float c) : m_value(c){}
real_concept(double c) : m_value(c){}
@@ -80,15 +94,15 @@
real_concept& operator=(long c) { m_value = c; return *this; }
real_concept& operator=(unsigned long c) { m_value = c; return *this; }
#ifdef BOOST_HAS_LONG_LONG
- real_concept& operator=(long long c) { m_value = static_cast<long double>(c); return *this; }
- real_concept& operator=(unsigned long long c) { m_value = static_cast<long double>(c); return *this; }
+ real_concept& operator=(boost::long_long_type c) { m_value = static_cast<real_concept_base_type>(c); return *this; }
+ real_concept& operator=(boost::ulong_long_type c) { m_value = static_cast<real_concept_base_type>(c); return *this; }
#endif
real_concept& operator=(float c) { m_value = c; return *this; }
real_concept& operator=(double c) { m_value = c; return *this; }
real_concept& operator=(long double c) { m_value = c; return *this; }
// Access:
- long double value()const{ return m_value; }
+ real_concept_base_type value()const{ return m_value; }
// Member arithmetic:
real_concept& operator+=(const real_concept& other)
@@ -103,9 +117,13 @@
{ return -m_value; }
real_concept const& operator+()const
{ return *this; }
+ real_concept& operator++()
+ { ++m_value; return *this; }
+ real_concept& operator--()
+ { --m_value; return *this; }
private:
- long double m_value;
+ real_concept_base_type m_value;
};
// Non-member arithmetic:
@@ -148,40 +166,6 @@
inline bool operator >= (const real_concept& a, const real_concept& b)
{ return a.value() >= b.value(); }
-#if 0
-// Non-member mixed compare:
-template <class T>
-inline bool operator == (const T& a, const real_concept& b)
-{
- return a == b.value();
-}
-template <class T>
-inline bool operator != (const T& a, const real_concept& b)
-{
- return a != b.value();
-}
-template <class T>
-inline bool operator < (const T& a, const real_concept& b)
-{
- return a < b.value();
-}
-template <class T>
-inline bool operator > (const T& a, const real_concept& b)
-{
- return a > b.value();
-}
-template <class T>
-inline bool operator <= (const T& a, const real_concept& b)
-{
- return a <= b.value();
-}
-template <class T>
-inline bool operator >= (const T& a, const real_concept& b)
-{
- return a >= b.value();
-}
-#endif // Non-member mixed compare:
-
// Non-member functions:
inline real_concept acos(real_concept a)
{ return std::acos(a.value()); }
@@ -196,6 +180,8 @@
inline real_concept ceil(real_concept a)
{ return std::ceil(a.value()); }
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+// I've seen std::fmod(long double) crash on some platforms
+// so use fmodl instead:
#ifdef _WIN32_WCE
//
// Ugly workaround for macro fmodl:
@@ -221,8 +207,8 @@
{ return std::floor(a.value()); }
inline real_concept modf(real_concept a, real_concept* ipart)
{
- long double ip;
- long double result = std::modf(a.value(), &ip);
+ real_concept_base_type ip;
+ real_concept_base_type result = std::modf(a.value(), &ip);
*ipart = ip;
return result;
}
@@ -243,7 +229,7 @@
{ return std::pow(a.value(), b); }
#else
inline real_concept pow(real_concept a, int b)
-{ return std::pow(a.value(), static_cast<long double>(b)); }
+{ return std::pow(a.value(), static_cast<real_concept_base_type>(b)); }
#endif
inline real_concept sin(real_concept a)
{ return std::sin(a.value()); }
@@ -254,6 +240,47 @@
inline real_concept tanh(real_concept a)
{ return std::tanh(a.value()); }
+//
+// Conversion and truncation routines:
+//
+template <class Policy>
+inline int iround(const concepts::real_concept& v, const Policy& pol)
+{ return boost::math::iround(v.value(), pol); }
+inline int iround(const concepts::real_concept& v)
+{ return boost::math::iround(v.value(), policies::policy<>()); }
+template <class Policy>
+inline long lround(const concepts::real_concept& v, const Policy& pol)
+{ return boost::math::lround(v.value(), pol); }
+inline long lround(const concepts::real_concept& v)
+{ return boost::math::lround(v.value(), policies::policy<>()); }
+
+#ifdef BOOST_HAS_LONG_LONG
+template <class Policy>
+inline boost::long_long_type llround(const concepts::real_concept& v, const Policy& pol)
+{ return boost::math::llround(v.value(), pol); }
+inline boost::long_long_type llround(const concepts::real_concept& v)
+{ return boost::math::llround(v.value(), policies::policy<>()); }
+#endif
+
+template <class Policy>
+inline int itrunc(const concepts::real_concept& v, const Policy& pol)
+{ return boost::math::itrunc(v.value(), pol); }
+inline int itrunc(const concepts::real_concept& v)
+{ return boost::math::itrunc(v.value(), policies::policy<>()); }
+template <class Policy>
+inline long ltrunc(const concepts::real_concept& v, const Policy& pol)
+{ return boost::math::ltrunc(v.value(), pol); }
+inline long ltrunc(const concepts::real_concept& v)
+{ return boost::math::ltrunc(v.value(), policies::policy<>()); }
+
+#ifdef BOOST_HAS_LONG_LONG
+template <class Policy>
+inline boost::long_long_type lltrunc(const concepts::real_concept& v, const Policy& pol)
+{ return boost::math::lltrunc(v.value(), pol); }
+inline boost::long_long_type lltrunc(const concepts::real_concept& v)
+{ return boost::math::lltrunc(v.value(), policies::policy<>()); }
+#endif
+
// Streaming:
template <class charT, class traits>
inline std::basic_ostream<charT, traits>& operator<<(std::basic_ostream<charT, traits>& os, const real_concept& a)
@@ -272,15 +299,15 @@
is >> v;
a = v;
return is;
-#elif defined(__SGI_STL_PORT)
+#elif defined(__SGI_STL_PORT) || defined(_RWSTD_VER) || defined(__LIBCOMO__)
std::string s;
- long double d;
+ real_concept_base_type d;
is >> s;
std::sscanf(s.c_str(), "%Lf", &d);
a = d;
return is;
#else
- long double v;
+ real_concept_base_type v;
is >> v;
a = v;
return is;
@@ -291,6 +318,63 @@
namespace tools
{
+
+template <>
+inline concepts::real_concept max_value<concepts::real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::real_concept))
+{
+ return max_value<concepts::real_concept_base_type>();
+}
+
+template <>
+inline concepts::real_concept min_value<concepts::real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::real_concept))
+{
+ return min_value<concepts::real_concept_base_type>();
+}
+
+template <>
+inline concepts::real_concept log_max_value<concepts::real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::real_concept))
+{
+ return log_max_value<concepts::real_concept_base_type>();
+}
+
+template <>
+inline concepts::real_concept log_min_value<concepts::real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::real_concept))
+{
+ return log_min_value<concepts::real_concept_base_type>();
+}
+
+template <>
+inline concepts::real_concept epsilon<concepts::real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::real_concept))
+{
+#ifdef __SUNPRO_CC
+ return std::numeric_limits<concepts::real_concept_base_type>::epsilon();
+#else
+ return tools::epsilon<concepts::real_concept_base_type>();
+#endif
+}
+
+template <>
+inline int digits<concepts::real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::real_concept))
+{
+ // Assume number of significand bits is same as real_concept_base_type,
+ // unless std::numeric_limits<T>::is_specialized to provide digits.
+ return tools::digits<concepts::real_concept_base_type>();
+ // Note that if numeric_limits real concept is NOT specialized to provide digits10
+ // (or max_digits10) then the default precision of 6 decimal digits will be used
+ // by Boost test (giving misleading error messages like
+ // "difference between {9.79796} and {9.79796} exceeds 5.42101e-19%"
+ // and by Boost lexical cast and serialization causing loss of accuracy.
+}
+
+} // namespace tools
+
+#if defined(__SGI_STL_PORT)
+//
+// We shouldn't really need these type casts any more, but there are some
+// STLport iostream bugs we work around by using them....
+//
+namespace tools
+{
// real_cast converts from T to integer and narrower floating-point types.
// Convert from T to integer types.
@@ -331,54 +415,19 @@
return r.value();
}
-template <>
-inline concepts::real_concept max_value<concepts::real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::real_concept))
-{
- return max_value<long double>();
-}
-
-template <>
-inline concepts::real_concept min_value<concepts::real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::real_concept))
-{
- return min_value<long double>();
-}
-
-template <>
-inline concepts::real_concept log_max_value<concepts::real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::real_concept))
-{
- return log_max_value<long double>();
-}
-
-template <>
-inline concepts::real_concept log_min_value<concepts::real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::real_concept))
-{
- return log_min_value<long double>();
-}
+} // STLPort
-template <>
-inline concepts::real_concept epsilon<concepts::real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::real_concept))
-{
-#ifdef __SUNPRO_CC
- return std::numeric_limits<long double>::epsilon();
-#else
- return tools::epsilon<long double>();
#endif
-}
-template <>
-inline int digits<concepts::real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::real_concept))
-{
- // Assume number of significand bits is same as long double,
- // unless std::numeric_limits<T>::is_specialized to provide digits.
- return tools::digits<long double>();
- // Note that if numeric_limits real concept is NOT specialized to provide digits10
- // (or max_digits10) then the default precision of 6 decimal digits will be used
- // by Boost test (giving misleading error messages like
- // "difference between {9.79796} and {9.79796} exceeds 5.42101e-19%"
- // and by Boost lexical cast and serialization causing loss of accuracy.
-}
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1310)
+//
+// For some strange reason ADL sometimes fails to find the
+// correct overloads, unless we bring these declarations into scope:
+//
+using concepts::itrunc;
+using concepts::iround;
-} // namespace tools
+#endif
} // namespace math
} // namespace boost
Modified: branches/CMake/release/boost/math/concepts/std_real_concept.hpp
==============================================================================
--- branches/CMake/release/boost/math/concepts/std_real_concept.hpp (original)
+++ branches/CMake/release/boost/math/concepts/std_real_concept.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -18,9 +18,9 @@
#include <boost/config.hpp>
#include <boost/limits.hpp>
-#include <boost/math/tools/real_cast.hpp>
#include <boost/math/tools/precision.hpp>
#include <boost/math/policies/policy.hpp>
+#include <boost/math/special_functions/math_fwd.hpp>
#include <ostream>
#include <istream>
@@ -35,6 +35,12 @@
namespace concepts
{
+#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+ typedef double std_real_concept_base_type;
+#else
+ typedef long double std_real_concept_base_type;
+#endif
+
class std_real_concept
{
public:
@@ -52,9 +58,12 @@
std_real_concept(int c) : m_value(c){}
std_real_concept(unsigned long c) : m_value(c){}
std_real_concept(long c) : m_value(c){}
-#if defined(BOOST_HAS_LONG_LONG) || defined(__DECCXX) || defined(__SUNPRO_CC)
- std_real_concept(unsigned long long c) : m_value(static_cast<long double>(c)){}
- std_real_concept(long long c) : m_value(static_cast<long double>(c)){}
+#if defined(__DECCXX) || defined(__SUNPRO_CC)
+ std_real_concept(unsigned long long c) : m_value(static_cast<std_real_concept_base_type>(c)){}
+ std_real_concept(long long c) : m_value(static_cast<std_real_concept_base_type>(c)){}
+#elif defined(BOOST_HAS_LONG_LONG)
+ std_real_concept(boost::ulong_long_type c) : m_value(static_cast<std_real_concept_base_type>(c)){}
+ std_real_concept(boost::long_long_type c) : m_value(static_cast<std_real_concept_base_type>(c)){}
#endif
std_real_concept(float c) : m_value(c){}
std_real_concept(double c) : m_value(c){}
@@ -73,16 +82,19 @@
std_real_concept& operator=(unsigned int c) { m_value = c; return *this; }
std_real_concept& operator=(long c) { m_value = c; return *this; }
std_real_concept& operator=(unsigned long c) { m_value = c; return *this; }
-#if defined(BOOST_HAS_LONG_LONG) || defined(__DECCXX) || defined(__SUNPRO_CC)
- std_real_concept& operator=(long long c) { m_value = static_cast<long double>(c); return *this; }
- std_real_concept& operator=(unsigned long long c) { m_value = static_cast<long double>(c); return *this; }
+#if defined(__DECCXX) || defined(__SUNPRO_CC)
+ std_real_concept& operator=(unsigned long long c) { m_value = static_cast<std_real_concept_base_type>(c); return *this; }
+ std_real_concept& operator=(long long c) { m_value = static_cast<std_real_concept_base_type>(c); return *this; }
+#elif defined(BOOST_HAS_LONG_LONG)
+ std_real_concept& operator=(boost::long_long_type c) { m_value = static_cast<std_real_concept_base_type>(c); return *this; }
+ std_real_concept& operator=(boost::ulong_long_type c) { m_value = static_cast<std_real_concept_base_type>(c); return *this; }
#endif
std_real_concept& operator=(float c) { m_value = c; return *this; }
std_real_concept& operator=(double c) { m_value = c; return *this; }
std_real_concept& operator=(long double c) { m_value = c; return *this; }
// Access:
- long double value()const{ return m_value; }
+ std_real_concept_base_type value()const{ return m_value; }
// Member arithmetic:
std_real_concept& operator+=(const std_real_concept& other)
@@ -99,7 +111,7 @@
{ return *this; }
private:
- long double m_value;
+ std_real_concept_base_type m_value;
};
// Non-member arithmetic:
@@ -142,40 +154,6 @@
inline bool operator >= (const std_real_concept& a, const std_real_concept& b)
{ return a.value() >= b.value(); }
-#if 0
-// Non-member mixed compare:
-template <class T>
-inline bool operator == (const T& a, const std_real_concept& b)
-{
- return a == b.value();
-}
-template <class T>
-inline bool operator != (const T& a, const std_real_concept& b)
-{
- return a != b.value();
-}
-template <class T>
-inline bool operator < (const T& a, const std_real_concept& b)
-{
- return a < b.value();
-}
-template <class T>
-inline bool operator > (const T& a, const std_real_concept& b)
-{
- return a > b.value();
-}
-template <class T>
-inline bool operator <= (const T& a, const std_real_concept& b)
-{
- return a <= b.value();
-}
-template <class T>
-inline bool operator >= (const T& a, const std_real_concept& b)
-{
- return a >= b.value();
-}
-#endif // Non-member mixed compare:
-
} // namespace concepts
} // namespace math
} // namespace boost
@@ -214,8 +192,8 @@
{ return std::floor(a.value()); }
inline boost::math::concepts::std_real_concept modf(boost::math::concepts::std_real_concept a, boost::math::concepts::std_real_concept* ipart)
{
- long double ip;
- long double result = std::modf(a.value(), &ip);
+ boost::math::concepts::std_real_concept_base_type ip;
+ boost::math::concepts::std_real_concept_base_type result = std::modf(a.value(), &ip);
*ipart = ip;
return result;
}
@@ -251,103 +229,145 @@
namespace boost{ namespace math{ namespace concepts{
-// Streaming:
-template <class charT, class traits>
-inline std::basic_ostream<charT, traits>& operator<<(std::basic_ostream<charT, traits>& os, const std_real_concept& a)
+//
+// Conversion and truncation routines:
+//
+template <class Policy>
+inline int iround(const concepts::std_real_concept& v, const Policy& pol)
{
- return os << a.value();
+ return boost::math::iround(v.value(), pol);
}
-template <class charT, class traits>
-inline std::basic_istream<charT, traits>& operator>>(std::basic_istream<charT, traits>& is, std_real_concept& a)
+inline int iround(const concepts::std_real_concept& v)
{
- long double v;
- is >> v;
- a = v;
- return is;
+ return boost::math::iround(v.value(), policies::policy<>());
}
-} // namespace concepts
-
-namespace tools
+template <class Policy>
+inline long lround(const concepts::std_real_concept& v, const Policy& pol)
+{
+ return boost::math::lround(v.value(), pol);
+}
+inline long lround(const concepts::std_real_concept& v)
{
-// real_cast converts from T to integer and narrower floating-point types.
+ return boost::math::lround(v.value(), policies::policy<>());
+}
-// Convert from T to integer types.
+#ifdef BOOST_HAS_LONG_LONG
-template <>
-inline unsigned int real_cast<unsigned int, concepts::std_real_concept>(concepts::std_real_concept r)
+template <class Policy>
+inline boost::long_long_type llround(const concepts::std_real_concept& v, const Policy& pol)
+{
+ return boost::math::llround(v.value(), pol);
+}
+inline boost::long_long_type llround(const concepts::std_real_concept& v)
{
- return static_cast<unsigned int>(r.value());
+ return boost::math::llround(v.value(), policies::policy<>());
}
-template <>
-inline int real_cast<int, concepts::std_real_concept>(concepts::std_real_concept r)
+#endif
+
+template <class Policy>
+inline int itrunc(const concepts::std_real_concept& v, const Policy& pol)
+{
+ return boost::math::itrunc(v.value(), pol);
+}
+inline int itrunc(const concepts::std_real_concept& v)
{
- return static_cast<int>(r.value());
+ return boost::math::itrunc(v.value(), policies::policy<>());
}
-template <>
-inline long real_cast<long, concepts::std_real_concept>(concepts::std_real_concept r)
+template <class Policy>
+inline long ltrunc(const concepts::std_real_concept& v, const Policy& pol)
+{
+ return boost::math::ltrunc(v.value(), pol);
+}
+inline long ltrunc(const concepts::std_real_concept& v)
{
- return static_cast<long>(r.value());
+ return boost::math::ltrunc(v.value(), policies::policy<>());
}
-// Converts from T to narrower floating-point types, float, double & long double.
+#ifdef BOOST_HAS_LONG_LONG
-template <>
-inline float real_cast<float, concepts::std_real_concept>(concepts::std_real_concept r)
+template <class Policy>
+inline boost::long_long_type lltrunc(const concepts::std_real_concept& v, const Policy& pol)
{
- return static_cast<float>(r.value());
+ return boost::math::lltrunc(v.value(), pol);
}
-template <>
-inline double real_cast<double, concepts::std_real_concept>(concepts::std_real_concept r)
+inline boost::long_long_type lltrunc(const concepts::std_real_concept& v)
{
- return static_cast<double>(r.value());
+ return boost::math::lltrunc(v.value(), policies::policy<>());
}
-template <>
-inline long double real_cast<long double, concepts::std_real_concept>(concepts::std_real_concept r)
+
+#endif
+
+// Streaming:
+template <class charT, class traits>
+inline std::basic_ostream<charT, traits>& operator<<(std::basic_ostream<charT, traits>& os, const std_real_concept& a)
{
- return r.value();
+ return os << a.value();
+}
+template <class charT, class traits>
+inline std::basic_istream<charT, traits>& operator>>(std::basic_istream<charT, traits>& is, std_real_concept& a)
+{
+ std_real_concept_base_type v;
+ is >> v;
+ a = v;
+ return is;
}
+} // namespace concepts
+
+namespace tools
+{
+
template <>
inline concepts::std_real_concept max_value<concepts::std_real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::std_real_concept))
{
- return max_value<long double>();
+ return max_value<concepts::std_real_concept_base_type>();
}
template <>
inline concepts::std_real_concept min_value<concepts::std_real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::std_real_concept))
{
- return min_value<long double>();
+ return min_value<concepts::std_real_concept_base_type>();
}
template <>
inline concepts::std_real_concept log_max_value<concepts::std_real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::std_real_concept))
{
- return log_max_value<long double>();
+ return log_max_value<concepts::std_real_concept_base_type>();
}
template <>
inline concepts::std_real_concept log_min_value<concepts::std_real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::std_real_concept))
{
- return log_min_value<long double>();
+ return log_min_value<concepts::std_real_concept_base_type>();
}
template <>
-inline concepts::std_real_concept epsilon<concepts::std_real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::std_real_concept))
+inline concepts::std_real_concept epsilon(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::std_real_concept))
{
- return tools::epsilon<long double>();
+ return tools::epsilon<concepts::std_real_concept_base_type>();
}
template <>
inline int digits<concepts::std_real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::std_real_concept))
-{ // Assume number of significand bits is same as long double,
+{ // Assume number of significand bits is same as std_real_concept_base_type,
// unless std::numeric_limits<T>::is_specialized to provide digits.
- return digits<long double>();
+ return digits<concepts::std_real_concept_base_type>();
}
} // namespace tools
+
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1310)
+using concepts::itrunc;
+using concepts::ltrunc;
+using concepts::lltrunc;
+using concepts::iround;
+using concepts::lround;
+using concepts::llround;
+#endif
+
} // namespace math
} // namespace boost
Modified: branches/CMake/release/boost/math/distributions.hpp
==============================================================================
--- branches/CMake/release/boost/math/distributions.hpp (original)
+++ branches/CMake/release/boost/math/distributions.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -24,6 +24,10 @@
#include <boost/math/distributions/gamma.hpp>
#include <boost/math/distributions/lognormal.hpp>
#include <boost/math/distributions/negative_binomial.hpp>
+#include <boost/math/distributions/non_central_chi_squared.hpp>
+#include <boost/math/distributions/non_central_beta.hpp>
+#include <boost/math/distributions/non_central_f.hpp>
+#include <boost/math/distributions/non_central_t.hpp>
#include <boost/math/distributions/normal.hpp>
#include <boost/math/distributions/pareto.hpp>
#include <boost/math/distributions/poisson.hpp>
@@ -32,11 +36,8 @@
#include <boost/math/distributions/triangular.hpp>
#include <boost/math/distributions/uniform.hpp>
#include <boost/math/distributions/weibull.hpp>
-// find location and shape for appropriate distributions,
-// normal, cauchy, lognormal, symmetric triangular
-// Disabled for now, these are still work in progress.
-//#include <boost/math/distributions/find_scale.hpp>
-//#include <boost/math/distributions/find_location.hpp>
+#include <boost/math/distributions/find_scale.hpp>
+#include <boost/math/distributions/find_location.hpp>
#endif // BOOST_MATH_DISTRIBUTIONS_HPP
Modified: branches/CMake/release/boost/math/distributions/chi_squared.hpp
==============================================================================
--- branches/CMake/release/boost/math/distributions/chi_squared.hpp (original)
+++ branches/CMake/release/boost/math/distributions/chi_squared.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// Copyright John Maddock 2006, 2007.
-// Copyright Paul A. Bristow 2007.
+// Copyright Paul A. Bristow 2008.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0.
@@ -202,10 +202,22 @@
{
RealType df = dist.degrees_of_freedom();
static const char* function = "boost::math::mode(const chi_squared_distribution<%1%>&)";
- if(df <= 2)
+ // Most sources only define mode for df >= 2,
+ // but for 0 <= df <= 2, the pdf maximum actually occurs at random variate = 0;
+ // So one could extend the definition of mode thus:
+ //if(df < 0)
+ //{
+ // return policies::raise_domain_error<RealType>(
+ // function,
+ // "Chi-Squared distribution only has a mode for degrees of freedom >= 0, but got degrees of freedom = %1%.",
+ // df, Policy());
+ //}
+ //return (df <= 2) ? 0 : df - 2;
+
+ if(df < 2)
return policies::raise_domain_error<RealType>(
function,
- "The Chi-Squared distribution only has a mode for degrees of freedom >= 2, but got degrees of freedom = %1%.",
+ "Chi-Squared distribution only has a mode for degrees of freedom >= 2, but got degrees of freedom = %1%.",
df, Policy());
return df - 2;
}
@@ -306,7 +318,7 @@
boost::uintmax_t max_iter = policies::get_max_root_iterations<Policy>();
std::pair<RealType, RealType> r = tools::bracket_and_solve_root(f, hint, RealType(2), false, tol, max_iter, Policy());
RealType result = r.first + (r.second - r.first) / 2;
- if(max_iter == policies::get_max_root_iterations<Policy>())
+ if(max_iter >= policies::get_max_root_iterations<Policy>())
{
policies::raise_evaluation_error<RealType>(function, "Unable to locate solution in a reasonable time:"
" either there is no answer to how many degrees of freedom are required"
Modified: branches/CMake/release/boost/math/distributions/detail/common_error_handling.hpp
==============================================================================
--- branches/CMake/release/boost/math/distributions/detail/common_error_handling.hpp (original)
+++ branches/CMake/release/boost/math/distributions/detail/common_error_handling.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -96,6 +96,60 @@
// leaving this test to catch any NaNs. see Normal and cauchy for example.
}
+template <class RealType, class Policy>
+inline bool check_positive_x(
+ const char* function,
+ RealType x,
+ RealType* result,
+ const Policy& pol)
+{
+ if(!(boost::math::isfinite)(x) || (x < 0))
+ {
+ *result = policies::raise_domain_error<RealType>(
+ function,
+ "Random variate x is %1%, but must be finite and >= 0!", x, pol);
+ return false;
+ }
+ return true;
+ // Note that this test catches both infinity and NaN.
+ // Some special cases permit x to be infinite, so these must be tested 1st,
+ // leaving this test to catch any NaNs. see Normal and cauchy for example.
+}
+
+template <class RealType, class Policy>
+inline bool check_non_centrality(
+ const char* function,
+ RealType ncp,
+ RealType* result,
+ const Policy& pol)
+{
+ if((ncp < 0) || !(boost::math::isfinite)(ncp))
+ { // Assume scale == 0 is NOT valid for any distribution.
+ *result = policies::raise_domain_error<RealType>(
+ function,
+ "Non centrality parameter is %1%, but must be > 0 !", ncp, pol);
+ return false;
+ }
+ return true;
+}
+
+template <class RealType, class Policy>
+inline bool check_finite(
+ const char* function,
+ RealType x,
+ RealType* result,
+ const Policy& pol)
+{
+ if(!(boost::math::isfinite)(x))
+ { // Assume scale == 0 is NOT valid for any distribution.
+ *result = policies::raise_domain_error<RealType>(
+ function,
+ "Parameter is %1%, but must be finite !", x, pol);
+ return false;
+ }
+ return true;
+}
+
} // namespace detail
} // namespace math
} // namespace boost
Modified: branches/CMake/release/boost/math/distributions/exponential.hpp
==============================================================================
--- branches/CMake/release/boost/math/distributions/exponential.hpp (original)
+++ branches/CMake/release/boost/math/distributions/exponential.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -89,7 +89,9 @@
{ // Range of supported values for random variable x.
// This is range where cdf rises from 0 to 1, and outside it, the pdf is zero.
using boost::math::tools::max_value;
- return std::pair<RealType, RealType>(0, max_value<RealType>());
+ using boost::math::tools::min_value;
+ return std::pair<RealType, RealType>(min_value<RealType>(), max_value<RealType>());
+ // min_value<RealType>() to avoid a discontinuity at x = 0.
}
template <class RealType, class Policy>
Modified: branches/CMake/release/boost/math/distributions/fwd.hpp
==============================================================================
--- branches/CMake/release/boost/math/distributions/fwd.hpp (original)
+++ branches/CMake/release/boost/math/distributions/fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -45,6 +45,18 @@
class negative_binomial_distribution;
template <class RealType, class Policy>
+class non_central_chi_squared_distribution;
+
+template <class RealType, class Policy>
+class non_central_beta_distribution;
+
+template <class RealType, class Policy>
+class non_central_f_distribution;
+
+template <class RealType, class Policy>
+class non_central_t_distribution;
+
+template <class RealType, class Policy>
class normal_distribution;
template <class RealType, class Policy>
@@ -90,5 +102,9 @@
typedef boost::math::triangular_distribution<Type, Policy> triangular;\
typedef boost::math::uniform_distribution<Type, Policy> uniform;\
typedef boost::math::weibull_distribution<Type, Policy> weibull;\
+ typedef boost::math::non_central_chi_squared_distribution<Type, Policy> non_central_chi_squared;\
+ typedef boost::math::non_central_beta_distribution<Type, Policy> non_central_beta;\
+ typedef boost::math::non_central_f_distribution<Type, Policy> non_central_f;\
+ typedef boost::math::non_central_t_distribution<Type, Policy> non_central_t;\
#endif // BOOST_MATH_DISTRIBUTIONS_FWD_HPP
Modified: branches/CMake/release/boost/math/distributions/gamma.hpp
==============================================================================
--- branches/CMake/release/boost/math/distributions/gamma.hpp (original)
+++ branches/CMake/release/boost/math/distributions/gamma.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -111,7 +111,8 @@
{ // Range of supported values for random variable x.
// This is range where cdf rises from 0 to 1, and outside it, the pdf is zero.
using boost::math::tools::max_value;
- return std::pair<RealType, RealType>(0, max_value<RealType>());
+ using boost::math::tools::min_value;
+ return std::pair<RealType, RealType>(min_value<RealType>(), max_value<RealType>());
}
template <class RealType, class Policy>
Modified: branches/CMake/release/boost/math/distributions/normal.hpp
==============================================================================
--- branches/CMake/release/boost/math/distributions/normal.hpp (original)
+++ branches/CMake/release/boost/math/distributions/normal.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -100,7 +100,7 @@
{
return 0; // pdf + and - infinity is zero.
}
- // Theis produces MSVC 4127 warnings, so the above used instead.
+ // Below produces MSVC 4127 warnings, so the above used instead.
//if(std::numeric_limits<RealType>::has_infinity && abs(x) == std::numeric_limits<RealType>::infinity())
//{ // pdf + and - infinity is zero.
// return 0;
Modified: branches/CMake/release/boost/math/distributions/poisson.hpp
==============================================================================
--- branches/CMake/release/boost/math/distributions/poisson.hpp (original)
+++ branches/CMake/release/boost/math/distributions/poisson.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -13,7 +13,7 @@
// events, occurrences, failures or arrivals occurring in a fixed time,
// assuming these events occur with a known average or mean rate (lambda)
// and are independent of the time since the last event.
-// The distribution was discovered by Siméon-Denis Poisson (17811840).
+// The distribution was discovered by Simeon-Denis Poisson (1781-1840).
// Parameter lambda is the mean number of events in the given time interval.
// The random variate k is the number of events, occurrences or arrivals.
@@ -38,6 +38,7 @@
#include <boost/math/distributions/fwd.hpp>
#include <boost/math/special_functions/gamma.hpp> // for incomplete gamma. gamma_q
+#include <boost/math/special_functions/trunc.hpp> // for incomplete gamma. gamma_q
#include <boost/math/distributions/complement.hpp> // complements
#include <boost/math/distributions/detail/common_error_handling.hpp> // error checks
#include <boost/math/special_functions/fpclassify.hpp> // isnan.
Modified: branches/CMake/release/boost/math/distributions/students_t.hpp
==============================================================================
--- branches/CMake/release/boost/math/distributions/students_t.hpp (original)
+++ branches/CMake/release/boost/math/distributions/students_t.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -277,7 +277,7 @@
boost::uintmax_t max_iter = policies::get_max_root_iterations<Policy>();
std::pair<RealType, RealType> r = tools::bracket_and_solve_root(f, hint, RealType(2), false, tol, max_iter, Policy());
RealType result = r.first + (r.second - r.first) / 2;
- if(max_iter == policies::get_max_root_iterations<Policy>())
+ if(max_iter >= policies::get_max_root_iterations<Policy>())
{
policies::raise_evaluation_error<RealType>(function, "Unable to locate solution in a reasonable time:"
" either there is no answer to how many degrees of freedom are required"
Modified: branches/CMake/release/boost/math/distributions/triangular.hpp
==============================================================================
--- branches/CMake/release/boost/math/distributions/triangular.hpp (original)
+++ branches/CMake/release/boost/math/distributions/triangular.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -106,12 +106,21 @@
RealType upper,
RealType* result, const Policy& pol)
{
- if(check_triangular_lower(function, lower, result, pol)
- && check_triangular_mode(function, mode, result, pol)
- && check_triangular_upper(function, upper, result, pol)
- && (lower < upper) // lower == upper NOT useful.
- )
- {
+ if ((check_triangular_lower(function, lower, result, pol) == false)
+ || (check_triangular_mode(function, mode, result, pol) == false)
+ || (check_triangular_upper(function, upper, result, pol) == false))
+ { // Some parameter not finite.
+ return false;
+ }
+ else if (lower >= upper) // lower == upper NOT useful.
+ { // lower >= upper.
+ *result = policies::raise_domain_error<RealType>(
+ function,
+ "lower parameter is %1%, but must be less than upper!", lower, pol);
+ return false;
+ }
+ else
+ { // Check lower <= mode <= upper.
if (mode < lower)
{
*result = policies::raise_domain_error<RealType>(
@@ -119,21 +128,14 @@
"mode parameter is %1%, but must be >= than lower!", lower, pol);
return false;
}
- if (mode > upper )
+ if (mode > upper)
{
*result = policies::raise_domain_error<RealType>(
function,
"mode parameter is %1%, but must be <= than upper!", upper, pol);
return false;
}
- return true;
- }
- else
- { // upper and lower have each been checked before, so must be lower >= upper.
- *result = policies::raise_domain_error<RealType>(
- function,
- "lower parameter is %1%, but must be less than upper!", lower, pol);
- return false;
+ return true; // All OK.
}
} // bool check_triangular
} // namespace detail
Modified: branches/CMake/release/boost/math/distributions/uniform.hpp
==============================================================================
--- branches/CMake/release/boost/math/distributions/uniform.hpp (original)
+++ branches/CMake/release/boost/math/distributions/uniform.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -89,19 +89,22 @@
RealType upper,
RealType* result, const Policy& pol)
{
- if(check_uniform_lower(function, lower, result, pol)
- && check_uniform_upper(function, upper, result, pol)
- && (lower < upper)) // If lower == upper then 1 / (upper-lower) = 1/0 = +infinity!
+ if((check_uniform_lower(function, lower, result, pol) == false)
+ || (check_uniform_upper(function, upper, result, pol) == false))
{
- return true;
+ return false;
}
- else
+ else if (lower >= upper) // If lower == upper then 1 / (upper-lower) = 1/0 = +infinity!
{ // upper and lower have been checked before, so must be lower >= upper.
*result = policies::raise_domain_error<RealType>(
function,
"lower parameter is %1%, but must be less than upper!", lower, pol);
return false;
}
+ else
+ { // All OK,
+ return true;
+ }
} // bool check_uniform(
} // namespace detail
@@ -141,7 +144,8 @@
inline const std::pair<RealType, RealType> range(const uniform_distribution<RealType, Policy>& /* dist */)
{ // Range of permissible values for random variable x.
using boost::math::tools::max_value;
- return std::pair<RealType, RealType>(-max_value<RealType>(), max_value<RealType>()); // - to + infinity
+ return std::pair<RealType, RealType>(-max_value<RealType>(), max_value<RealType>()); // - to + 'infinity'.
+ // Note RealType infinity is NOT permitted, only max_value.
}
template <class RealType, class Policy>
Modified: branches/CMake/release/boost/math/distributions/weibull.hpp
==============================================================================
--- branches/CMake/release/boost/math/distributions/weibull.hpp (original)
+++ branches/CMake/release/boost/math/distributions/weibull.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -111,7 +111,9 @@
{ // Range of supported values for random variable x.
// This is range where cdf rises from 0 to 1, and outside it, the pdf is zero.
using boost::math::tools::max_value;
- return std::pair<RealType, RealType>(0, max_value<RealType>());
+ using boost::math::tools::min_value;
+ return std::pair<RealType, RealType>(min_value<RealType>(), max_value<RealType>());
+ // A discontinuity at x == 0, so only support down to min_value.
}
template <class RealType, class Policy>
@@ -131,8 +133,9 @@
return result;
if(x == 0)
+ { // Special case, but x == min, pdf = 1 for shape = 1,
return 0;
-
+ }
result = exp(-pow(x / scale, shape));
result *= pow(x / scale, shape) * shape / x;
@@ -283,6 +286,8 @@
{
return result;
}
+ if(shape <= 1)
+ return 0;
result = scale * pow((shape - 1) / shape, 1 / shape);
return result;
}
Modified: branches/CMake/release/boost/math/policies/error_handling.hpp
==============================================================================
--- branches/CMake/release/boost/math/policies/error_handling.hpp (original)
+++ branches/CMake/release/boost/math/policies/error_handling.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -37,6 +37,12 @@
evaluation_error(const std::string& s) : std::runtime_error(s){}
};
+class rounding_error : public std::runtime_error
+{
+public:
+ rounding_error(const std::string& s) : std::runtime_error(s){}
+};
+
namespace policies{
//
// Forward declarations of user error handlers,
@@ -54,6 +60,10 @@
T user_denorm_error(const char* function, const char* message, const T& val);
template <class T>
T user_evaluation_error(const char* function, const char* message, const T& val);
+template <class T>
+T user_rounding_error(const char* function, const char* message, const T& val);
+template <class T>
+T user_indeterminate_result_error(const char* function, const char* message, const T& val);
namespace detail
{
@@ -371,6 +381,104 @@
return user_evaluation_error(function, message, val);
}
+template <class T>
+inline T raise_rounding_error(
+ const char* function,
+ const char* message,
+ const T& val,
+ const ::boost::math::policies::rounding_error< ::boost::math::policies::throw_on_error>&)
+{
+ raise_error<boost::math::rounding_error, T>(function, message, val);
+ // we never get here:
+ return T(0);
+}
+
+template <class T>
+inline T raise_rounding_error(
+ const char* ,
+ const char* ,
+ const T& val,
+ const ::boost::math::policies::rounding_error< ::boost::math::policies::ignore_error>&)
+{
+ // This may or may not do the right thing, but the user asked for the error
+ // to be ignored so here we go anyway:
+ return val;
+}
+
+template <class T>
+inline T raise_rounding_error(
+ const char* ,
+ const char* ,
+ const T& val,
+ const ::boost::math::policies::rounding_error< ::boost::math::policies::errno_on_error>&)
+{
+ errno = ERANGE;
+ // This may or may not do the right thing, but the user asked for the error
+ // to be silent so here we go anyway:
+ return val;
+}
+
+template <class T>
+inline T raise_rounding_error(
+ const char* function,
+ const char* message,
+ const T& val,
+ const ::boost::math::policies::rounding_error< ::boost::math::policies::user_error>&)
+{
+ return user_rounding_error(function, message, val);
+}
+
+template <class T, class R>
+inline T raise_indeterminate_result_error(
+ const char* function,
+ const char* message,
+ const T& val,
+ const R& ,
+ const ::boost::math::policies::indeterminate_result_error< ::boost::math::policies::throw_on_error>&)
+{
+ raise_error<std::domain_error, T>(function, message, val);
+ // we never get here:
+ return std::numeric_limits<T>::quiet_NaN();
+}
+
+template <class T, class R>
+inline T raise_indeterminate_result_error(
+ const char* ,
+ const char* ,
+ const T& ,
+ const R& result,
+ const ::boost::math::policies::indeterminate_result_error< ::boost::math::policies::ignore_error>&)
+{
+ // This may or may not do the right thing, but the user asked for the error
+ // to be ignored so here we go anyway:
+ return result;
+}
+
+template <class T, class R>
+inline T raise_indeterminate_result_error(
+ const char* ,
+ const char* ,
+ const T& ,
+ const R& result,
+ const ::boost::math::policies::indeterminate_result_error< ::boost::math::policies::errno_on_error>&)
+{
+ errno = EDOM;
+ // This may or may not do the right thing, but the user asked for the error
+ // to be silent so here we go anyway:
+ return result;
+}
+
+template <class T, class R>
+inline T raise_indeterminate_result_error(
+ const char* function,
+ const char* message,
+ const T& val,
+ const R& ,
+ const ::boost::math::policies::indeterminate_result_error< ::boost::math::policies::user_error>&)
+{
+ return user_indeterminate_result_error(function, message, val);
+}
+
} // namespace detail
template <class T, class Policy>
@@ -428,6 +536,24 @@
val, policy_type());
}
+template <class T, class Policy>
+inline T raise_rounding_error(const char* function, const char* message, const T& val, const Policy&)
+{
+ typedef typename Policy::rounding_error_type policy_type;
+ return detail::raise_rounding_error(
+ function, message ? message : "Value %1% can not be represented in the target integer type.",
+ val, policy_type());
+}
+
+template <class T, class R, class Policy>
+inline T raise_indeterminate_result_error(const char* function, const char* message, const T& val, const R& result, const Policy&)
+{
+ typedef typename Policy::indeterminate_result_error_type policy_type;
+ return detail::raise_indeterminate_result_error(
+ function, message ? message : "Indeterminate result with value %1%",
+ val, result, policy_type());
+}
+
//
// checked_narrowing_cast:
//
Modified: branches/CMake/release/boost/math/policies/policy.hpp
==============================================================================
--- branches/CMake/release/boost/math/policies/policy.hpp (original)
+++ branches/CMake/release/boost/math/policies/policy.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -54,12 +54,18 @@
#ifndef BOOST_MATH_EVALUATION_ERROR_POLICY
#define BOOST_MATH_EVALUATION_ERROR_POLICY throw_on_error
#endif
+#ifndef BOOST_MATH_ROUNDING_ERROR_POLICY
+#define BOOST_MATH_ROUNDING_ERROR_POLICY throw_on_error
+#endif
#ifndef BOOST_MATH_UNDERFLOW_ERROR_POLICY
#define BOOST_MATH_UNDERFLOW_ERROR_POLICY ignore_error
#endif
#ifndef BOOST_MATH_DENORM_ERROR_POLICY
#define BOOST_MATH_DENORM_ERROR_POLICY ignore_error
#endif
+#ifndef BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY
+#define BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY ignore_error
+#endif
#ifndef BOOST_MATH_DIGITS10_POLICY
#define BOOST_MATH_DIGITS10_POLICY 0
#endif
@@ -178,6 +184,8 @@
BOOST_MATH_META_INT(error_policy_type, underflow_error, BOOST_MATH_UNDERFLOW_ERROR_POLICY)
BOOST_MATH_META_INT(error_policy_type, denorm_error, BOOST_MATH_DENORM_ERROR_POLICY)
BOOST_MATH_META_INT(error_policy_type, evaluation_error, BOOST_MATH_EVALUATION_ERROR_POLICY)
+BOOST_MATH_META_INT(error_policy_type, rounding_error, BOOST_MATH_ROUNDING_ERROR_POLICY)
+BOOST_MATH_META_INT(error_policy_type, indeterminate_result_error, BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY)
//
// Policy types for internal promotion:
@@ -398,6 +406,8 @@
typedef typename detail::find_arg<arg_list, is_underflow_error<mpl::_1>, underflow_error<> >::type underflow_error_type;
typedef typename detail::find_arg<arg_list, is_denorm_error<mpl::_1>, denorm_error<> >::type denorm_error_type;
typedef typename detail::find_arg<arg_list, is_evaluation_error<mpl::_1>, evaluation_error<> >::type evaluation_error_type;
+ typedef typename detail::find_arg<arg_list, is_rounding_error<mpl::_1>, rounding_error<> >::type rounding_error_type;
+ typedef typename detail::find_arg<arg_list, is_indeterminate_result_error<mpl::_1>, indeterminate_result_error<> >::type indeterminate_result_error_type;
private:
//
// Now work out the precision:
@@ -440,6 +450,8 @@
typedef underflow_error<> underflow_error_type;
typedef denorm_error<> denorm_error_type;
typedef evaluation_error<> evaluation_error_type;
+ typedef rounding_error<> rounding_error_type;
+ typedef indeterminate_result_error<> indeterminate_result_error_type;
#if BOOST_MATH_DIGITS10_POLICY == 0
typedef digits2<> precision_type;
#else
@@ -463,6 +475,8 @@
typedef underflow_error<> underflow_error_type;
typedef denorm_error<> denorm_error_type;
typedef evaluation_error<> evaluation_error_type;
+ typedef rounding_error<> rounding_error_type;
+ typedef indeterminate_result_error<> indeterminate_result_error_type;
#if BOOST_MATH_DIGITS10_POLICY == 0
typedef digits2<> precision_type;
#else
@@ -500,6 +514,8 @@
typedef typename detail::find_arg<arg_list, is_underflow_error<mpl::_1>, typename Policy::underflow_error_type >::type underflow_error_type;
typedef typename detail::find_arg<arg_list, is_denorm_error<mpl::_1>, typename Policy::denorm_error_type >::type denorm_error_type;
typedef typename detail::find_arg<arg_list, is_evaluation_error<mpl::_1>, typename Policy::evaluation_error_type >::type evaluation_error_type;
+ typedef typename detail::find_arg<arg_list, is_rounding_error<mpl::_1>, typename Policy::rounding_error_type >::type rounding_error_type;
+ typedef typename detail::find_arg<arg_list, is_indeterminate_result_error<mpl::_1>, typename Policy::indeterminate_result_error_type >::type indeterminate_result_error_type;
//
// Now work out the precision:
//
@@ -534,6 +550,8 @@
underflow_error_type,
denorm_error_type,
evaluation_error_type,
+ rounding_error_type,
+ indeterminate_result_error_type,
precision_type,
promote_float_type,
promote_double_type,
@@ -658,6 +676,13 @@
return result_type();
}
+template <class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11>
+inline typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&, const A6&, const A7&, const A8&, const A9&, const A10&, const A11&)
+{
+ typedef typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>::type result_type;
+ return result_type();
+}
+
//
// Traits class to handle internal promotion:
//
@@ -841,3 +866,4 @@
#endif // BOOST_MATH_POLICY_HPP
+
Modified: branches/CMake/release/boost/math/special_functions.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions.hpp (original)
+++ branches/CMake/release/boost/math/special_functions.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -29,6 +29,7 @@
#include <boost/math/special_functions/ellint_rf.hpp>
#include <boost/math/special_functions/ellint_rj.hpp>
#include <boost/math/special_functions/erf.hpp>
+#include <boost/math/special_functions/expint.hpp>
#include <boost/math/special_functions/expm1.hpp>
#include <boost/math/special_functions/factorials.hpp>
#include <boost/math/special_functions/fpclassify.hpp>
@@ -47,5 +48,11 @@
#include <boost/math/special_functions/sinhc.hpp>
#include <boost/math/special_functions/spherical_harmonic.hpp>
#include <boost/math/special_functions/sqrt1pm1.hpp>
+#include <boost/math/special_functions/zeta.hpp>
+#include <boost/math/special_functions/modf.hpp>
+#include <boost/math/special_functions/round.hpp>
+#include <boost/math/special_functions/trunc.hpp>
+#include <boost/math/special_functions/pow.hpp>
+#include <boost/math/special_functions/next.hpp>
#endif // BOOST_MATH_SPECIAL_FUNCTIONS_HPP
Modified: branches/CMake/release/boost/math/special_functions/acosh.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/acosh.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/acosh.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -10,6 +10,9 @@
#ifndef BOOST_ACOSH_HPP
#define BOOST_ACOSH_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
#include <cmath>
#include <boost/config.hpp>
@@ -110,3 +113,4 @@
+
Modified: branches/CMake/release/boost/math/special_functions/asinh.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/asinh.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/asinh.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -10,6 +10,10 @@
#ifndef BOOST_ASINH_HPP
#define BOOST_ASINH_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <cmath>
#include <boost/config.hpp>
@@ -110,3 +114,4 @@
}
#endif /* BOOST_ASINH_HPP */
+
Modified: branches/CMake/release/boost/math/special_functions/atanh.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/atanh.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/atanh.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -10,6 +10,10 @@
#ifndef BOOST_ATANH_HPP
#define BOOST_ATANH_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <cmath>
#include <boost/config.hpp>
@@ -120,3 +124,4 @@
#endif /* BOOST_ATANH_HPP */
+
Modified: branches/CMake/release/boost/math/special_functions/bessel.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/bessel.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/bessel.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -10,6 +10,10 @@
#ifndef BOOST_MATH_BESSEL_HPP
#define BOOST_MATH_BESSEL_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/detail/bessel_jy.hpp>
#include <boost/math/special_functions/detail/bessel_jn.hpp>
#include <boost/math/special_functions/detail/bessel_yn.hpp>
@@ -20,6 +24,8 @@
#include <boost/math/special_functions/sin_pi.hpp>
#include <boost/math/special_functions/cos_pi.hpp>
#include <boost/math/special_functions/sinc.hpp>
+#include <boost/math/special_functions/trunc.hpp>
+#include <boost/math/special_functions/round.hpp>
#include <boost/math/tools/rational.hpp>
#include <boost/math/tools/promotion.hpp>
@@ -123,7 +129,7 @@
if(floor(v) == v)
{
T r = cyl_bessel_j_imp(v, -x, t, pol);
- if(tools::real_cast<int>(v) & 1)
+ if(iround(v, pol) & 1)
r = -r;
return r;
}
@@ -159,7 +165,7 @@
if(fabs(x) > asymptotic_bessel_j_limit<T>(v, tag_type()))
return asymptotic_bessel_j_large_x_2(v, x);
else
- return bessel_jn(tools::real_cast<int>(v), x, pol);
+ return bessel_jn(iround(v, pol), x, pol);
}
return cyl_bessel_j_imp(v, x, bessel_no_int_tag(), pol);
}
@@ -222,7 +228,7 @@
if(floor(v) == v)
{
T r = cyl_bessel_i_imp(v, -x, pol);
- if(tools::real_cast<int>(v) & 1)
+ if(iround(v, pol) & 1)
r = -r;
return r;
}
@@ -286,7 +292,7 @@
BOOST_MATH_STD_USING
if((floor(v) == v))
{
- return bessel_kn(tools::real_cast<int>(v), x, pol);
+ return bessel_kn(itrunc(v), x, pol);
}
return cyl_bessel_k_imp(v, x, bessel_no_int_tag(), pol);
}
@@ -331,12 +337,12 @@
if((fabs(x) > asymptotic_bessel_y_limit<T>(tag_type())) && (fabs(x) > 5 * abs(v)))
{
T r = asymptotic_bessel_y_large_x_2(static_cast<T>(abs(v)), x);
- if((v < 0) && (tools::real_cast<int>(v) & 1))
+ if((v < 0) && (itrunc(v, pol) & 1))
r = -r;
return r;
}
else
- return bessel_yn(tools::real_cast<int>(v), x, pol);
+ return bessel_yn(itrunc(v, pol), x, pol);
}
return cyl_neumann_imp<T>(v, x, bessel_no_int_tag(), pol);
}
@@ -354,7 +360,7 @@
return r;
}
else
- return bessel_yn(tools::real_cast<int>(v), x, pol);
+ return bessel_yn(v, x, pol);
}
template <class T, class Policy>
@@ -482,3 +488,4 @@
} // namespace boost
#endif // BOOST_MATH_BESSEL_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/beta.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/beta.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/beta.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_SPECIAL_BETA_HPP
#define BOOST_MATH_SPECIAL_BETA_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/math_fwd.hpp>
#include <boost/math/tools/config.hpp>
#include <boost/math/special_functions/gamma.hpp>
@@ -13,6 +17,7 @@
#include <boost/math/special_functions/erf.hpp>
#include <boost/math/special_functions/log1p.hpp>
#include <boost/math/special_functions/expm1.hpp>
+#include <boost/math/special_functions/trunc.hpp>
#include <boost/math/tools/roots.hpp>
#include <boost/static_assert.hpp>
#include <cmath>
@@ -817,7 +822,7 @@
BOOST_MATH_STD_USING // ADL of std names
T result = pow(x, n);
T term = result;
- for(unsigned i = tools::real_cast<unsigned>(n - 1); i > k; --i)
+ for(unsigned i = itrunc(n - 1); i > k; --i)
{
term *= ((i + 1) * y) / ((n - i) * x) ;
result += term;
@@ -1055,7 +1060,7 @@
else if(a > 15)
{
// sidestep so we can use the series representation:
- int n = static_cast<int>(boost::math::tools::real_cast<long double>(floor(b)));
+ int n = itrunc(floor(b), pol);
if(n == b)
--n;
T bbar = b - n;
@@ -1077,7 +1082,7 @@
// the formula here for the non-normalised case is tricky to figure
// out (for me!!), and requires two pochhammer calculations rather
// than one, so leave it for now....
- int n = static_cast<int>(boost::math::tools::real_cast<long double>(floor(b)));
+ int n = itrunc(floor(b), pol);
T bbar = b - n;
if(bbar <= 0)
{
@@ -1348,3 +1353,4 @@
+
Modified: branches/CMake/release/boost/math/special_functions/binomial.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/binomial.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/binomial.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_SF_BINOMIAL_HPP
#define BOOST_MATH_SF_BINOMIAL_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/factorials.hpp>
#include <boost/math/special_functions/beta.hpp>
#include <boost/math/policies/error_handling.hpp>
@@ -73,3 +77,4 @@
#endif // BOOST_MATH_SF_BINOMIAL_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/cbrt.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/cbrt.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/cbrt.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_SF_CBRT_HPP
#define BOOST_MATH_SF_CBRT_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/roots.hpp>
#include <boost/math/special_functions/math_fwd.hpp>
@@ -70,3 +74,4 @@
+
Modified: branches/CMake/release/boost/math/special_functions/cos_pi.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/cos_pi.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/cos_pi.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,16 +6,20 @@
#ifndef BOOST_MATH_COS_PI_HPP
#define BOOST_MATH_COS_PI_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <cmath>
#include <boost/math/tools/config.hpp>
-#include <boost/math/tools/real_cast.hpp>
+#include <boost/math/special_functions/trunc.hpp>
#include <boost/math/tools/promotion.hpp>
#include <boost/math/constants/constants.hpp>
namespace boost{ namespace math{ namespace detail{
-template <class T>
-T cos_pi_imp(T x)
+template <class T, class Policy>
+T cos_pi_imp(T x, const Policy& pol)
{
BOOST_MATH_STD_USING // ADL of std names
// cos of pi*x:
@@ -28,7 +32,7 @@
}
T rem = floor(x);
- if(tools::real_cast<int>(rem) & 1)
+ if(itrunc(rem, pol) & 1)
invert = !invert;
rem = x - rem;
if(rem > 0.5f)
@@ -43,22 +47,22 @@
return invert ? -rem : rem;
}
-}
+} // namespace detail
template <class T, class Policy>
-inline typename tools::promote_args<T>::type cos_pi(T x, const Policy&)
+inline typename tools::promote_args<T>::type cos_pi(T x, const Policy& pol)
{
typedef typename tools::promote_args<T>::type result_type;
- return boost::math::detail::cos_pi_imp<result_type>(x);
+ return boost::math::detail::cos_pi_imp<result_type>(x, pol);
}
template <class T>
inline typename tools::promote_args<T>::type cos_pi(T x)
{
- typedef typename tools::promote_args<T>::type result_type;
- return boost::math::detail::cos_pi_imp<result_type>(x);
+ return boost::math::cos_pi(x, policies::policy<>());
}
} // namespace math
} // namespace boost
#endif
+
Modified: branches/CMake/release/boost/math/special_functions/detail/bessel_i0.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/bessel_i0.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/bessel_i0.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_BESSEL_I0_HPP
#define BOOST_MATH_BESSEL_I0_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/rational.hpp>
#include <boost/assert.hpp>
@@ -94,3 +98,4 @@
}}} // namespaces
#endif // BOOST_MATH_BESSEL_I0_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/detail/bessel_i1.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/bessel_i1.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/bessel_i1.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_BESSEL_I1_HPP
#define BOOST_MATH_BESSEL_I1_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/rational.hpp>
#include <boost/assert.hpp>
@@ -97,3 +101,4 @@
}}} // namespaces
#endif // BOOST_MATH_BESSEL_I1_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/detail/bessel_ik.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/bessel_ik.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/bessel_ik.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,11 @@
#ifndef BOOST_MATH_BESSEL_IK_HPP
#define BOOST_MATH_BESSEL_IK_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
+#include <boost/math/special_functions/round.hpp>
#include <boost/math/special_functions/gamma.hpp>
#include <boost/math/special_functions/sin_pi.hpp>
#include <boost/math/constants/constants.hpp>
@@ -230,7 +235,7 @@
v = -v; // v is non-negative from here
kind |= need_k;
}
- n = tools::real_cast<unsigned>(v + 0.5f);
+ n = iround(v, pol);
u = v - n; // -1/2 <= u < 1/2
BOOST_MATH_INSTRUMENT_VARIABLE(n);
BOOST_MATH_INSTRUMENT_VARIABLE(u);
@@ -329,3 +334,4 @@
}}} // namespaces
#endif // BOOST_MATH_BESSEL_IK_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/detail/bessel_j0.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/bessel_j0.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/bessel_j0.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_BESSEL_J0_HPP
#define BOOST_MATH_BESSEL_J0_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/constants/constants.hpp>
#include <boost/math/tools/rational.hpp>
#include <boost/assert.hpp>
@@ -145,3 +149,4 @@
}}} // namespaces
#endif // BOOST_MATH_BESSEL_J0_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/detail/bessel_j1.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/bessel_j1.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/bessel_j1.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_BESSEL_J1_HPP
#define BOOST_MATH_BESSEL_J1_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/constants/constants.hpp>
#include <boost/math/tools/rational.hpp>
#include <boost/assert.hpp>
@@ -150,3 +154,4 @@
}}} // namespaces
#endif // BOOST_MATH_BESSEL_J1_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/detail/bessel_jn.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/bessel_jn.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/bessel_jn.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_BESSEL_JN_HPP
#define BOOST_MATH_BESSEL_JN_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/detail/bessel_j0.hpp>
#include <boost/math/special_functions/detail/bessel_j1.hpp>
#include <boost/math/special_functions/detail/bessel_jy.hpp>
@@ -84,3 +88,4 @@
}}} // namespaces
#endif // BOOST_MATH_BESSEL_JN_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/detail/bessel_jy.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/bessel_jy.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/bessel_jy.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_BESSEL_JY_HPP
#define BOOST_MATH_BESSEL_JY_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/config.hpp>
#include <boost/math/special_functions/gamma.hpp>
#include <boost/math/special_functions/sign.hpp>
@@ -221,7 +225,7 @@
v = -v; // v is non-negative from here
kind = need_j|need_y; // need both for reflection formula
}
- n = real_cast<unsigned>(v + 0.5L);
+ n = iround(v, pol);
u = v - n; // -1/2 <= u < 1/2
if (x == 0)
@@ -359,3 +363,4 @@
}} // namespaces
#endif // BOOST_MATH_BESSEL_JY_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/detail/bessel_jy_asym.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/bessel_jy_asym.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/bessel_jy_asym.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -12,6 +12,10 @@
#ifndef BOOST_MATH_SF_DETAIL_BESSEL_JY_ASYM_HPP
#define BOOST_MATH_SF_DETAIL_BESSEL_JY_ASYM_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/factorials.hpp>
namespace boost{ namespace math{ namespace detail{
@@ -295,3 +299,4 @@
}}} // namespaces
#endif
+
Modified: branches/CMake/release/boost/math/special_functions/detail/bessel_k0.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/bessel_k0.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/bessel_k0.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_BESSEL_K0_HPP
#define BOOST_MATH_BESSEL_K0_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/rational.hpp>
#include <boost/math/policies/error_handling.hpp>
#include <boost/assert.hpp>
@@ -114,3 +118,4 @@
}}} // namespaces
#endif // BOOST_MATH_BESSEL_K0_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/detail/bessel_k1.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/bessel_k1.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/bessel_k1.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_BESSEL_K1_HPP
#define BOOST_MATH_BESSEL_K1_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/rational.hpp>
#include <boost/math/policies/error_handling.hpp>
#include <boost/assert.hpp>
@@ -110,3 +114,4 @@
}}} // namespaces
#endif // BOOST_MATH_BESSEL_K1_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/detail/bessel_kn.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/bessel_kn.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/bessel_kn.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_BESSEL_KN_HPP
#define BOOST_MATH_BESSEL_KN_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/detail/bessel_k0.hpp>
#include <boost/math/special_functions/detail/bessel_k1.hpp>
#include <boost/math/policies/error_handling.hpp>
@@ -67,3 +71,4 @@
}}} // namespaces
#endif // BOOST_MATH_BESSEL_KN_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/detail/bessel_y0.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/bessel_y0.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/bessel_y0.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_BESSEL_Y0_HPP
#define BOOST_MATH_BESSEL_Y0_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/detail/bessel_j0.hpp>
#include <boost/math/constants/constants.hpp>
#include <boost/math/tools/rational.hpp>
@@ -175,3 +179,4 @@
}}} // namespaces
#endif // BOOST_MATH_BESSEL_Y0_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/detail/bessel_y1.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/bessel_y1.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/bessel_y1.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_BESSEL_Y1_HPP
#define BOOST_MATH_BESSEL_Y1_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/detail/bessel_j1.hpp>
#include <boost/math/constants/constants.hpp>
#include <boost/math/tools/rational.hpp>
@@ -148,3 +152,4 @@
}}} // namespaces
#endif // BOOST_MATH_BESSEL_Y1_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/detail/bessel_yn.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/bessel_yn.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/bessel_yn.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_BESSEL_YN_HPP
#define BOOST_MATH_BESSEL_YN_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/detail/bessel_y0.hpp>
#include <boost/math/special_functions/detail/bessel_y1.hpp>
#include <boost/math/policies/error_handling.hpp>
@@ -77,3 +81,4 @@
}}} // namespaces
#endif // BOOST_MATH_BESSEL_YN_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/detail/erf_inv.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/erf_inv.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/erf_inv.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_SF_ERF_INV_HPP
#define BOOST_MATH_SF_ERF_INV_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
namespace boost{ namespace math{
namespace detail{
@@ -462,3 +466,4 @@
} // namespace boost
#endif // BOOST_MATH_SF_ERF_INV_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/detail/gamma_inva.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/gamma_inva.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/gamma_inva.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -13,6 +13,10 @@
#ifndef BOOST_MATH_SP_DETAIL_GAMMA_INVA
#define BOOST_MATH_SP_DETAIL_GAMMA_INVA
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/toms748_solve.hpp>
#include <boost/cstdint.hpp>
@@ -226,3 +230,4 @@
#endif // BOOST_MATH_SP_DETAIL_GAMMA_INVA
+
Modified: branches/CMake/release/boost/math/special_functions/detail/ibeta_inv_ab.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/ibeta_inv_ab.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/ibeta_inv_ab.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -13,6 +13,10 @@
#ifndef BOOST_MATH_SP_DETAIL_BETA_INV_AB
#define BOOST_MATH_SP_DETAIL_BETA_INV_AB
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/toms748_solve.hpp>
#include <boost/cstdint.hpp>
@@ -317,3 +321,4 @@
#endif // BOOST_MATH_SP_DETAIL_BETA_INV_AB
+
Modified: branches/CMake/release/boost/math/special_functions/detail/ibeta_inverse.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/ibeta_inverse.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/ibeta_inverse.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -7,6 +7,10 @@
#ifndef BOOST_MATH_SPECIAL_FUNCTIONS_IBETA_INVERSE_HPP
#define BOOST_MATH_SPECIAL_FUNCTIONS_IBETA_INVERSE_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/beta.hpp>
#include <boost/math/special_functions/erf.hpp>
#include <boost/math/tools/roots.hpp>
@@ -932,3 +936,4 @@
+
Modified: branches/CMake/release/boost/math/special_functions/detail/igamma_inverse.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/igamma_inverse.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/igamma_inverse.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,11 +6,15 @@
#ifndef BOOST_MATH_SPECIAL_FUNCTIONS_IGAMMA_INVERSE_HPP
#define BOOST_MATH_SPECIAL_FUNCTIONS_IGAMMA_INVERSE_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
+#include <boost/tr1/tuple.hpp>
#include <boost/math/special_functions/gamma.hpp>
#include <boost/math/special_functions/sign.hpp>
#include <boost/math/tools/roots.hpp>
#include <boost/math/policies/error_handling.hpp>
-#include <boost/tr1/tuple.hpp>
namespace boost{ namespace math{
@@ -464,3 +468,4 @@
#endif // BOOST_MATH_SPECIAL_FUNCTIONS_IGAMMA_INVERSE_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/detail/igamma_large.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/igamma_large.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/igamma_large.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -45,6 +45,10 @@
#ifndef BOOST_MATH_DETAIL_IGAMMA_LARGE
#define BOOST_MATH_DETAIL_IGAMMA_LARGE
+#ifdef _MSC_VER
+#pragma once
+#endif
+
namespace boost{ namespace math{ namespace detail{
// This version will never be called (at runtime), it's a stub used
@@ -762,3 +766,4 @@
#endif // BOOST_MATH_DETAIL_IGAMMA_LARGE
+
Modified: branches/CMake/release/boost/math/special_functions/detail/lgamma_small.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/lgamma_small.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/lgamma_small.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_SPECIAL_FUNCTIONS_DETAIL_LGAMMA_SMALL
#define BOOST_MATH_SPECIAL_FUNCTIONS_DETAIL_LGAMMA_SMALL
+#ifdef _MSC_VER
+#pragma once
+#endif
+
namespace boost{ namespace math{ namespace detail{
//
@@ -505,3 +509,4 @@
}}} // namespaces
#endif // BOOST_MATH_SPECIAL_FUNCTIONS_DETAIL_LGAMMA_SMALL
+
Modified: branches/CMake/release/boost/math/special_functions/detail/simple_complex.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/simple_complex.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/simple_complex.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_SF_DETAIL_SIMPLE_COMPLEX_HPP
#define BOOST_MATH_SF_DETAIL_SIMPLE_COMPLEX_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
namespace boost{ namespace math{ namespace detail{ namespace sc{
template <class T>
@@ -165,3 +169,4 @@
#endif
+
Modified: branches/CMake/release/boost/math/special_functions/detail/t_distribution_inv.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/t_distribution_inv.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/t_distribution_inv.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -7,14 +7,20 @@
#ifndef BOOST_MATH_SF_DETAIL_INV_T_HPP
#define BOOST_MATH_SF_DETAIL_INV_T_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/cbrt.hpp>
+#include <boost/math/special_functions/round.hpp>
+#include <boost/math/special_functions/trunc.hpp>
namespace boost{ namespace math{ namespace detail{
//
// The main method used is due to Hill:
//
-// G. W. Hill, Algorithm 396, Students t-Quantiles,
+// G. W. Hill, Algorithm 396, Student's t-Quantiles,
// Communications of the ACM, 13(10): 619-620, Oct., 1970.
//
template <class T, class Policy>
@@ -61,9 +67,9 @@
//
// Tail and body series are due to Shaw:
//
-// www.mth.kcl.ac.uk/shaww/web_page/papers/Tdistribution06.pdf
+// www.mth.kcl.ac.uk/~shaww/web_page/papers/Tdistribution06.pdf
//
-// Shaw, W.T., 2006, "Sampling Students T distribution use of
+// Shaw, W.T., 2006, "Sampling Student's T distribution - use of
// the inverse cumulative distribution function."
// Journal of Computational Finance, Vol 9 Issue 4, pp 37-73, Summer 2006
//
@@ -200,7 +206,7 @@
//
T tolerance = ldexp(1.0f, (2 * policies::digits<T, Policy>()) / 3);
- switch(boost::math::tools::real_cast<int>(df))
+ switch(itrunc(df, Policy()))
{
case 1:
{
@@ -364,7 +370,7 @@
// where we use Shaw's tail series.
// The crossover point is roughly exponential in -df:
//
- T crossover = ldexp(1.0f, tools::real_cast<int>(df / -0.654f));
+ T crossover = ldexp(1.0f, iround(df / -0.654f, pol));
if(u > crossover)
{
result = boost::math::detail::inverse_students_t_hill(df, u, pol);
@@ -507,3 +513,4 @@
#endif // BOOST_MATH_SF_DETAIL_INV_T_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/detail/unchecked_factorial.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/detail/unchecked_factorial.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/detail/unchecked_factorial.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_SP_UC_FACTORIALS_HPP
#define BOOST_MATH_SP_UC_FACTORIALS_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/array.hpp>
#ifdef BOOST_MSVC
#pragma warning(push) // Temporary until lexical cast fixed.
@@ -395,3 +399,4 @@
} // namespace boost
#endif // BOOST_MATH_SP_UC_FACTORIALS_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/digamma.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/digamma.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/digamma.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_SF_DIGAMMA_HPP
#define BOOST_MATH_SF_DIGAMMA_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/rational.hpp>
#include <boost/math/tools/promotion.hpp>
#include <boost/math/policies/error_handling.hpp>
@@ -443,3 +447,4 @@
} // namespace math
} // namespace boost
#endif
+
Modified: branches/CMake/release/boost/math/special_functions/ellint_1.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/ellint_1.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/ellint_1.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -14,6 +14,10 @@
#ifndef BOOST_MATH_ELLINT_1_HPP
#define BOOST_MATH_ELLINT_1_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/ellint_rf.hpp>
#include <boost/math/constants/constants.hpp>
#include <boost/math/policies/error_handling.hpp>
@@ -180,3 +184,4 @@
}} // namespaces
#endif // BOOST_MATH_ELLINT_1_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/ellint_2.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/ellint_2.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/ellint_2.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -14,6 +14,10 @@
#ifndef BOOST_MATH_ELLINT_2_HPP
#define BOOST_MATH_ELLINT_2_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/ellint_rf.hpp>
#include <boost/math/special_functions/ellint_rd.hpp>
#include <boost/math/constants/constants.hpp>
@@ -161,3 +165,4 @@
}} // namespaces
#endif // BOOST_MATH_ELLINT_2_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/ellint_3.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/ellint_3.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/ellint_3.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -14,6 +14,10 @@
#ifndef BOOST_MATH_ELLINT_3_HPP
#define BOOST_MATH_ELLINT_3_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/ellint_rf.hpp>
#include <boost/math/special_functions/ellint_rj.hpp>
#include <boost/math/special_functions/ellint_1.hpp>
@@ -28,9 +32,6 @@
namespace boost { namespace math {
-template <class T1, class T2, class T3, class Policy>
-typename tools::promote_args<T1, T2, T3>::type ellint_3(T1 k, T2 v, T3 phi, const Policy& pol);
-
namespace detail{
template <typename T, typename Policy>
@@ -310,7 +311,7 @@
}
template <class T1, class T2, class T3>
-inline typename tools::promote_args<T1, T2, T3>::type ellint_3(T1 k, T2 v, T3 phi)
+typename detail::ellint_3_result<T1, T2, T3>::type ellint_3(T1 k, T2 v, T3 phi)
{
typedef typename policies::is_policy<T3>::type tag_type;
return detail::ellint_3(k, v, phi, tag_type());
@@ -325,3 +326,4 @@
}} // namespaces
#endif // BOOST_MATH_ELLINT_3_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/ellint_rc.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/ellint_rc.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/ellint_rc.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -13,6 +13,10 @@
#ifndef BOOST_MATH_ELLINT_RC_HPP
#define BOOST_MATH_ELLINT_RC_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/policies/error_handling.hpp>
#include <boost/math/tools/config.hpp>
#include <boost/math/special_functions/math_fwd.hpp>
@@ -108,3 +112,4 @@
}} // namespaces
#endif // BOOST_MATH_ELLINT_RC_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/ellint_rd.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/ellint_rd.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/ellint_rd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -11,6 +11,10 @@
#ifndef BOOST_MATH_ELLINT_RD_HPP
#define BOOST_MATH_ELLINT_RD_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/math_fwd.hpp>
#include <boost/math/tools/config.hpp>
#include <boost/math/policies/error_handling.hpp>
@@ -123,3 +127,4 @@
}} // namespaces
#endif // BOOST_MATH_ELLINT_RD_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/ellint_rf.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/ellint_rf.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/ellint_rf.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -12,6 +12,10 @@
#ifndef BOOST_MATH_ELLINT_RF_HPP
#define BOOST_MATH_ELLINT_RF_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/math_fwd.hpp>
#include <boost/math/tools/config.hpp>
@@ -125,3 +129,4 @@
}} // namespaces
#endif // BOOST_MATH_ELLINT_RF_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/ellint_rj.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/ellint_rj.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/ellint_rj.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -13,6 +13,10 @@
#ifndef BOOST_MATH_ELLINT_RJ_HPP
#define BOOST_MATH_ELLINT_RJ_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/math_fwd.hpp>
#include <boost/math/tools/config.hpp>
#include <boost/math/policies/error_handling.hpp>
@@ -172,3 +176,4 @@
}} // namespaces
#endif // BOOST_MATH_ELLINT_RJ_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/erf.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/erf.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/erf.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_SPECIAL_ERF_HPP
#define BOOST_MATH_SPECIAL_ERF_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/math_fwd.hpp>
#include <boost/math/tools/config.hpp>
#include <boost/math/special_functions/gamma.hpp>
@@ -203,9 +207,27 @@
}
else
{
- static const T n[7] = { 0.00337916709551257778174L, -0.000147024115786688745475L, -0.37463022236812520164L, 0.0163061594494816999803L, -0.0534354147807331748737L, 0.00161898096813581982844L, -0.0059528010489182840404L };
- static const T d[7] = { 1, -0.0435089806536379531594L, 0.442761965043509204727L, -0.017375974533016704678L, 0.0772756490303260060769L, -0.00210552465858669941879L, 0.00544772980263244037286L };
- result = static_cast<T>(z * 1.125f + z * tools::evaluate_polynomial(n, z) / tools::evaluate_polynomial(d, z));
+ // Maximum Deviation Found: 1.561e-17
+ // Expected Error Term: 1.561e-17
+ // Maximum Relative Change in Control Points: 1.155e-04
+ // Max Error found at double precision = 2.961182e-17
+
+ static const T Y = 1.044948577880859375f;
+ static const T P[] = {
+ 0.0834305892146531832907L,
+ -0.338165134459360935041L,
+ -0.0509990735146777432841L,
+ -0.00772758345802133288487L,
+ -0.000322780120964605683831L,
+ };
+ static const T Q[] = {
+ 1L,
+ 0.455004033050794024546L,
+ 0.0875222600142252549554L,
+ 0.00858571925074406212772L,
+ 0.000370900071787748000569L,
+ };
+ result = z * (Y + tools::evaluate_polynomial(P, z * z) / tools::evaluate_polynomial(Q, z * z));
}
}
else if((z < 14) || ((z < 28) && invert))
@@ -214,90 +236,113 @@
// We'll be calculating erfc:
//
invert = !invert;
- T r, b;
- if(z < 0.75)
- {
- // Worst case absolute error found: 8.554649561e-018
- static const T n[5] = { -0.0361790390718262468222L, 0.301888464724047222196L, 0.201731143672633894981L, 0.0659353268087389983319L, 0.00721876720062364930761L };
- static const T d[6] = { 1, 1.58814245739127341535L, 0.99354580430196422336L, 0.291753007176902027213L, 0.033994791234913855515L, -0.000104234653166533504303L };
- static const float f0 = 0.3440242112F;
- r = tools::evaluate_polynomial(n, z - 0.5) / tools::evaluate_polynomial(d, z - 0.5);
- b = f0;
- }
- else if(z < 1.25)
- {
- // Worst case absolute error found: 6.50251514e-018
- static const T n[6] = { -0.039787689261113685983L, 0.160309168830518003303L, 0.163049978514596540313L, 0.0710685660158400750009L, 0.01497188097404877543L, 0.00130080628375002584279L };
- static const T d[6] = { 1, 1.77564880074171280407L, 1.31438791181040008779L, 0.509359151038517059748L, 0.103958527905812829559L, 0.00901292460643094469406L };
- static const float f0 = 0.419990927F;
- r = tools::evaluate_polynomial(n, z - 0.75) / tools::evaluate_polynomial(d, z - 0.75);
- b = f0;
- }
- else if(z < 2.25)
- {
- // Worst case absolute error found: 1.132743504e-017
- static const T n[6] = { -0.0300838560557949724172L, 0.0592886319615167248092L, 0.0622294724048409148736L, 0.0248575228109427909578L, 0.00463781847004901844581L, 0.000347305179334822548368L };
- static const T d[7] = { 1, 1.57915060645728571344L, 1.03342495188878679417L, 0.35158678814344218974L, 0.062469256580984456783L, 0.00466640448020624599948L, 0.290106403940303572448e-6L };
- static const float f0 = 0.4898625016F;
- r = tools::evaluate_polynomial(n, z - 1.25) / tools::evaluate_polynomial(d, z - 1.25);
- b = f0;
- }
- else if(z < 3.5)
- {
- // Worst case absolute error found: 3.446364609e-018
- static const T n[6] = { -0.0117907570137227857015L, 0.0162667227692515660221L, 0.0175329212378413544794L, 0.00620897681269247137578L, 0.000986614895094589251706L, 0.601354618401624353425e-4L };
- static const T d[6] = { 1, 1.33374851361555383557L, 0.73227756904205983415L, 0.207410266363727673685L, 0.0304034048466731110163L, 0.00185296959991832048613L };
- static const float f0 = 0.5317370892F;
- r = tools::evaluate_polynomial(n, z - 2.25) / tools::evaluate_polynomial(d, z - 2.25);
- b = f0;
- }
- else if(z < 5.5)
+ if(z < 1.5f)
{
- // Worst case absolute error found: 1.579588208e-018
- static const T n[6] = { -0.00588219091116732271979L, 0.00434428684527812140098L, 0.00466899990542371512895L, 0.00139937567253199794533L, 0.000179205902444982389766L, 0.845033527560949509345e-5L };
- static const T d[6] = { 1, 1.07389345953392962127L, 0.470965611895885060643L, 0.105594730223366124873L, 0.0121252833787344059719L, 0.000571755036133730341579L };
- static const float f0 = 0.5494099855F;
- r = tools::evaluate_polynomial(n, z - 3.5) / tools::evaluate_polynomial(d, z - 3.5);
- b = f0;
- }
- else if(z < 9)
- {
- // Worst case absolute error found: 1.410768708e-017
- static const T n[5] = { -0.00273864253749621265032L, 0.0013089921066773026803L, 0.000775841526778089659703L, 0.000110909476102006410909L, 0.472577590124068298534e-5L };
- static const T d[6] = { 1, 0.650694792327863647878L, 0.161126734432670927888L, 0.0180081468446110640846L, 0.000767341359508884026192L, -0.287636719206664167616e-9L };
- static const float f0 = 0.5580308437F;
- r = tools::evaluate_polynomial(n, z - 5.5) / tools::evaluate_polynomial(d, z - 5.5);
- b = f0;
- }
- else if(z < 14)
- {
- // Worst case absolute error found: 1.458310511e-018
- static const T n[5] = { -0.000995856413171151859346L, 0.000320252910249376187643L, 0.000129085624923151780987L, 0.121577881306587454509e-4L, 0.33293110334156470348e-6L };
- static const T d[5] = { 1, 0.428034987547594828954L, 0.0692297359775940896439L, 0.00501515176145997560701L, 0.00013733589151338416322L };
- static const float f0 = 0.5617653728F;
- r = tools::evaluate_polynomial(n, z - 9) / tools::evaluate_polynomial(d, z - 9);
- b = f0;
- }
- else if(z < 21)
- {
- // Worst case absolute error found: 1.08182873e-019
- static const T n[5] = { -0.000395463268432048215535L, 0.91155953112698182321e-4L, 0.237451641259281193813e-4L, 0.145759953022524466816e-5L, 0.259395907606548998142e-7L };
- static const T d[5] = { 1, 0.281604524251560309285L, 0.0298468482900092392397L, 0.00141114575715338885136L, 0.251128951158576064819e-4L };
- static const float f0 = 0.5631566644F;
- r = tools::evaluate_polynomial(n, z - 14) / tools::evaluate_polynomial(d, z - 14);
- b = f0;
+ // Maximum Deviation Found: 3.702e-17
+ // Expected Error Term: 3.702e-17
+ // Maximum Relative Change in Control Points: 2.845e-04
+ // Max Error found at double precision = 4.841816e-17
+ static const T Y = 0.405935764312744140625f;
+ static const T P[] = {
+ -0.098090592216281240205L,
+ 0.178114665841120341155L,
+ 0.191003695796775433986L,
+ 0.0888900368967884466578L,
+ 0.0195049001251218801359L,
+ 0.00180424538297014223957L,
+ };
+ static const T Q[] = {
+ 1L,
+ 1.84759070983002217845L,
+ 1.42628004845511324508L,
+ 0.578052804889902404909L,
+ 0.12385097467900864233L,
+ 0.0113385233577001411017L,
+ 0.337511472483094676155e-5L,
+ };
+ result = Y + tools::evaluate_polynomial(P, z - 0.5) / tools::evaluate_polynomial(Q, z - 0.5);
+ result *= exp(-z * z) / z;
+ }
+ else if(z < 2.5f)
+ {
+ // Max Error found at double precision = 6.599585e-18
+ // Maximum Deviation Found: 3.909e-18
+ // Expected Error Term: 3.909e-18
+ // Maximum Relative Change in Control Points: 9.886e-05
+ static const T Y = 0.50672817230224609375f;
+ static const T P[] = {
+ -0.0243500476207698441272L,
+ 0.0386540375035707201728L,
+ 0.04394818964209516296L,
+ 0.0175679436311802092299L,
+ 0.00323962406290842133584L,
+ 0.000235839115596880717416L,
+ };
+ static const T Q[] = {
+ 1L,
+ 1.53991494948552447182L,
+ 0.982403709157920235114L,
+ 0.325732924782444448493L,
+ 0.0563921837420478160373L,
+ 0.00410369723978904575884L,
+ };
+ result = Y + tools::evaluate_polynomial(P, z - 1.5) / tools::evaluate_polynomial(Q, z - 1.5);
+ result *= exp(-z * z) / z;
+ }
+ else if(z < 4.5f)
+ {
+ // Maximum Deviation Found: 1.512e-17
+ // Expected Error Term: 1.512e-17
+ // Maximum Relative Change in Control Points: 2.222e-04
+ // Max Error found at double precision = 2.062515e-17
+ static const T Y = 0.5405750274658203125f;
+ static const T P[] = {
+ 0.00295276716530971662634L,
+ 0.0137384425896355332126L,
+ 0.00840807615555585383007L,
+ 0.00212825620914618649141L,
+ 0.000250269961544794627958L,
+ 0.113212406648847561139e-4L,
+ };
+ static const T Q[] = {
+ 1L,
+ 1.04217814166938418171L,
+ 0.442597659481563127003L,
+ 0.0958492726301061423444L,
+ 0.0105982906484876531489L,
+ 0.000479411269521714493907L,
+ };
+ result = Y + tools::evaluate_polynomial(P, z - 3.5) / tools::evaluate_polynomial(Q, z - 3.5);
+ result *= exp(-z * z) / z;
}
else
{
- // Worst case absolute error found: 7.010370259e-018
- static const T n[4] = { -0.000139182098873874523526L, 0.395254617101737287826e-4L, 0.376801239136290345387e-5L, 0.629017242098850415839e-7L };
- static const T d[4] = { 1, 0.15077096006891495258L, 0.00756136203065884121997L, 0.000126226197336507576933L };
- static const float f0 = 0.5636912584F;
- r = tools::evaluate_polynomial(n, z - 21) / tools::evaluate_polynomial(d, z - 21);
- b = f0;
+ // Max Error found at double precision = 2.997958e-17
+ // Maximum Deviation Found: 2.860e-17
+ // Expected Error Term: 2.859e-17
+ // Maximum Relative Change in Control Points: 1.357e-05
+ static const T Y = 0.5579090118408203125f;
+ static const T P[] = {
+ 0.00628057170626964891937L,
+ 0.0175389834052493308818L,
+ -0.212652252872804219852L,
+ -0.687717681153649930619L,
+ -2.5518551727311523996L,
+ -3.22729451764143718517L,
+ -2.8175401114513378771L,
+ };
+ static const T Q[] = {
+ 1L,
+ 2.79257750980575282228L,
+ 11.0567237927800161565L,
+ 15.930646027911794143L,
+ 22.9367376522880577224L,
+ 13.5064170191802889145L,
+ 5.48409182238641741584L,
+ };
+ result = Y + tools::evaluate_polynomial(P, 1 / z) / tools::evaluate_polynomial(Q, 1 / z);
+ result *= exp(-z * z) / z;
}
- T g = exp(-z * z) / z;
- result = g * b + g * r;
}
else
{
@@ -356,10 +401,28 @@
}
else
{
- // Worst case absolute error found: 6.688618532e-21
- static const T n[8] = { 0.00337916709551257388990745L, -0.00073695653048167948530905L, -0.374732337392919607868241L, 0.0817442448733587196071743L, -0.0421089319936548595203468L, 0.0070165709512095756344528L, -0.00495091255982435110337458L, 0.000871646599037922480317225L };
- static const T d[8] = { 1L, -0.218088218087924645390535L, 0.412542972725442099083918L, -0.0841891147873106755410271L, 0.0655338856400241519690695L, -0.0120019604454941768171266L, 0.00408165558926174048329689L, -0.000615900721557769691924509L };
- result = z * 1.125 + z * tools::evaluate_polynomial(n, z) / tools::evaluate_polynomial(d, z);
+ // Max Error found at long double precision = 1.623299e-20
+ // Maximum Deviation Found: 4.326e-22
+ // Expected Error Term: -4.326e-22
+ // Maximum Relative Change in Control Points: 1.474e-04
+ static const T Y = 1.044948577880859375f;
+ static const T P[] = {
+ 0.0834305892146531988966L,
+ -0.338097283075565413695L,
+ -0.0509602734406067204596L,
+ -0.00904906346158537794396L,
+ -0.000489468651464798669181L,
+ -0.200305626366151877759e-4L,
+ };
+ static const T Q[] = {
+ 1L,
+ 0.455817300515875172439L,
+ 0.0916537354356241792007L,
+ 0.0102722652675910031202L,
+ 0.000650511752687851548735L,
+ 0.189532519105655496778e-4L,
+ };
+ result = z * (Y + tools::evaluate_polynomial(P, z * z) / tools::evaluate_polynomial(Q, z * z));
}
}
else if((z < 110) || ((z < 110) && invert)) // TODO FIXME!!!
@@ -368,134 +431,128 @@
// We'll be calculating erfc:
//
invert = !invert;
- T r, b;
- if(z < 0.75)
+ if(z < 1.5)
{
- // Worst case absolute error found: 5.582813374e-21
- static const T n[6] = { -0.0361790390718262471360258L, 0.292251883444882683221149L, 0.281447041797604512774415L, 0.125610208862766947294894L, 0.0274135028268930549240776L, 0.00250839672168065762786937L };
- static const T d[6] = { 1L, 1.8545005897903486499845L, 1.43575803037831418074962L, 0.582827658753036572454135L, 0.124810476932949746447682L, 0.0113724176546353285778481L };
- static const float f0 = 0.3440242112F;
- r = tools::evaluate_polynomial(n, z - 0.5) / tools::evaluate_polynomial(d, z - 0.5);
- b = f0;
- }
- else if(z < 1.25)
- {
- // Worst case absolute error found: 4.01854729e-21
- static const T n[7] = { -0.0397876892611136856954425L, 0.153165212467878293257683L, 0.191260295600936245503129L, 0.10276327061989304213645L, 0.029637090615738836726027L, 0.0046093486780275489468812L, 0.000307607820348680180548455L };
- static const T d[7] = { 1L, 1.95520072987627704987886L, 1.64762317199384860109595L, 0.768238607022126250082483L, 0.209793185936509782784315L, 0.0319569316899913392596356L, 0.00213363160895785378615014L };
- static const float f0 = 0.419990927F;
- r = tools::evaluate_polynomial(n, z - 0.75) / tools::evaluate_polynomial(d, z - 0.75);
- b = f0;
+ // Max Error found at long double precision = 3.239590e-20
+ // Maximum Deviation Found: 2.241e-20
+ // Expected Error Term: -2.241e-20
+ // Maximum Relative Change in Control Points: 5.110e-03
+ static const T Y = 0.405935764312744140625f;
+ static const T P[] = {
+ -0.0980905922162812031672L,
+ 0.159989089922969141329L,
+ 0.222359821619935712378L,
+ 0.127303921703577362312L,
+ 0.0384057530342762400273L,
+ 0.00628431160851156719325L,
+ 0.000441266654514391746428L,
+ 0.266689068336295642561e-7L,
+ };
+ static const T Q[] = {
+ 1L,
+ 2.03237474985469469291L,
+ 1.78355454954969405222L,
+ 0.867940326293760578231L,
+ 0.248025606990021698392L,
+ 0.0396649631833002269861L,
+ 0.00279220237309449026796L,
+ };
+ result = Y + tools::evaluate_polynomial(P, z - 0.5f) / tools::evaluate_polynomial(Q, z - 0.5f);
+ result *= exp(-z * z) / z;
+ }
+ else if(z < 2.5)
+ {
+ // Max Error found at long double precision = 3.686211e-21
+ // Maximum Deviation Found: 1.495e-21
+ // Expected Error Term: -1.494e-21
+ // Maximum Relative Change in Control Points: 1.793e-04
+ static const T Y = 0.50672817230224609375f;
+ static const T P[] = {
+ -0.024350047620769840217L,
+ 0.0343522687935671451309L,
+ 0.0505420824305544949541L,
+ 0.0257479325917757388209L,
+ 0.00669349844190354356118L,
+ 0.00090807914416099524444L,
+ 0.515917266698050027934e-4L,
+ };
+ static const T Q[] = {
+ 1L,
+ 1.71657861671930336344L,
+ 1.26409634824280366218L,
+ 0.512371437838969015941L,
+ 0.120902623051120950935L,
+ 0.0158027197831887485261L,
+ 0.000897871370778031611439L,
+ };
+ result = Y + tools::evaluate_polynomial(P, z - 1.5f) / tools::evaluate_polynomial(Q, z - 1.5f);
+ result *= exp(-z * z) / z;
+ }
+ else if(z < 4.5)
+ {
+ // Maximum Deviation Found: 1.107e-20
+ // Expected Error Term: -1.106e-20
+ // Maximum Relative Change in Control Points: 1.709e-04
+ // Max Error found at long double precision = 1.446908e-20
+ static const T Y = 0.5405750274658203125f;
+ static const T P[] = {
+ 0.0029527671653097284033L,
+ 0.0141853245895495604051L,
+ 0.0104959584626432293901L,
+ 0.00343963795976100077626L,
+ 0.00059065441194877637899L,
+ 0.523435380636174008685e-4L,
+ 0.189896043050331257262e-5L,
+ };
+ static const T Q[] = {
+ 1L,
+ 1.19352160185285642574L,
+ 0.603256964363454392857L,
+ 0.165411142458540585835L,
+ 0.0259729870946203166468L,
+ 0.00221657568292893699158L,
+ 0.804149464190309799804e-4L,
+ };
+ result = Y + tools::evaluate_polynomial(P, z - 3.5f) / tools::evaluate_polynomial(Q, z - 3.5f);
+ result *= exp(-z * z) / z;
}
- else if(z < 2.25)
- {
- // Worst case absolute error found: 2.866005373e-21
- static const T n[7] = { -0.0300838560557949717328341L, 0.0538578829844454508530552L, 0.0726211541651914182692959L, 0.0367628469888049348429018L, 0.00964629015572527529605267L, 0.00133453480075291076745275L, 0.778087599782504251917881e-4L };
- static const T d[8] = { 1L, 1.75967098147167528287343L, 1.32883571437961120556307L, 0.552528596508757581287907L, 0.133793056941332861912279L, 0.0179509645176280768640766L, 0.00104712440019937356634038L, -0.106640381820357337177643e-7L };
- static const float f0 = 0.4898625016F;
- r = tools::evaluate_polynomial(n, z - 1.25) / tools::evaluate_polynomial(d, z - 1.25);
- b = f0;
- }
- else if(z < 3.5)
+ else
{
- // Worst case absolute error found: 1.045355789e-21
- static const T n[7] = { -0.0117907570137227847827732L, 0.014262132090538809896674L, 0.0202234435902960820020765L, 0.00930668299990432009042239L, 0.00213357802422065994322516L, 0.00025022987386460102395382L, 0.120534912219588189822126e-4L };
- static const T d[7] = { 1L, 1.50376225203620482047419L, 0.965397786204462896346934L, 0.339265230476796681555511L, 0.0689740649541569716897427L, 0.00771060262491768307365526L, 0.000371421101531069302990367L };
- static const float f0 = 0.5317370892F;
- r = tools::evaluate_polynomial(n, z - 2.25) / tools::evaluate_polynomial(d, z - 2.25);
- b = f0;
- }
- else if(z < 5.25)
- {
- // Worst case absolute error found: 8.300028706e-22
- static const T n[7] = { -0.00546954795538729307482955L, 0.00404190278731707110245394L, 0.0054963369553161170521356L, 0.00212616472603945399437862L, 0.000394984014495083900689956L, 0.365565477064442377259271e-4L, 0.135485897109932323253786e-5L };
- static const T d[8] = { 1L, 1.21019697773630784832251L, 0.620914668221143886601045L, 0.173038430661142762569515L, 0.0276550813773432047594539L, 0.00240625974424309709745382L, 0.891811817251336577241006e-4L, -0.465528836283382684461025e-11L };
- static const float f0 = 0.5489973426F;
- r = tools::evaluate_polynomial(n, z - 3.5) / tools::evaluate_polynomial(d, z - 3.5);
- b = f0;
- }
- else if(z < 8)
- {
- // Worst case absolute error found: 1.700157534e-21
- static const T n[6] = { -0.00270722535905778347999196L, 0.0013187563425029400461378L, 0.00119925933261002333923989L, 0.00027849619811344664248235L, 0.267822988218331849989363e-4L, 0.923043672315028197865066e-6L };
- static const T d[7] = { 1L, 0.814632808543141591118279L, 0.268901665856299542168425L, 0.0449877216103041118694989L, 0.00381759663320248459168994L, 0.000131571897888596914350697L, 0.404815359675764138445257e-11L };
- static const float f0 = 0.5571740866F;
- r = tools::evaluate_polynomial(n, z - 5.25) / tools::evaluate_polynomial(d, z - 5.25);
- b = f0;
+ // Max Error found at long double precision = 7.961166e-21
+ // Maximum Deviation Found: 6.677e-21
+ // Expected Error Term: 6.676e-21
+ // Maximum Relative Change in Control Points: 2.319e-05
+ static const T Y = 0.55825519561767578125f;
+ static const T P[] = {
+ 0.00593438793008050214106L,
+ 0.0280666231009089713937L,
+ -0.141597835204583050043L,
+ -0.978088201154300548842L,
+ -5.47351527796012049443L,
+ -13.8677304660245326627L,
+ -27.1274948720539821722L,
+ -29.2545152747009461519L,
+ -16.8865774499799676937L,
+ };
+ static const T Q[] = {
+ 1L,
+ 4.72948911186645394541L,
+ 23.6750543147695749212L,
+ 60.0021517335693186785L,
+ 131.766251645149522868L,
+ 178.167924971283482513L,
+ 182.499390505915222699L,
+ 104.365251479578577989L,
+ 30.8365511891224291717L,
+ };
+ result = Y + tools::evaluate_polynomial(P, 1 / z) / tools::evaluate_polynomial(Q, 1 / z);
+ result *= exp(-z * z) / z;
}
- else if(z < 11.5)
- {
- //Worst case absolute error found: 3.002278011e-22
- static const T n[6] = { -0.00109946720691742196814323L, 0.000406425442750422675169153L, 0.000274499489416900707787024L, 0.465293770646659383436343e-4L, 0.320955425395767463401993e-5L, 0.778286018145020892261936e-7L };
- static const T d[6] = { 1L, 0.588173710611846046373373L, 0.139363331289409746077541L, 0.0166329340417083678763028L, 0.00100023921310234908642639L, 0.24254837521587225125068e-4L };
- static const float f0 = 0.5609807968F;
- r = tools::evaluate_polynomial(n, z - 8) / tools::evaluate_polynomial(d, z - 8);
- b = f0;
- }
- else if(z < 17)
- {
- //Worst case absolute error found: 6.741114695e-21
- static const T n[5] = { -0.00056907993601094962855594L, 0.000169498540373762264416984L, 0.518472354581100890120501e-4L, 0.382819312231928859704678e-5L, 0.824989931281894431781794e-7L };
- static const T d[6] = { 1L, 0.339637250051139347430323L, 0.043472647870310663055044L, 0.00248549335224637114641629L, 0.535633305337152900549536e-4L, -0.117490944405459578783846e-12L };
- static const float f0 = 0.5626493692F;
- r = tools::evaluate_polynomial(n, z - 11.5) / tools::evaluate_polynomial(d, z - 11.5);
- b = f0;
- }
- else if(z < 24)
- {
- // Worst case absolute error found: 7.802346984e-22
- static const T n[5] = { -0.000241313599483991337479091L, 0.574224975202501512365975e-4L, 0.115998962927383778460557e-4L, 0.581762134402593739370875e-6L, 0.853971555085673614607418e-8L };
- static const T d[5] = { 1L, 0.233044138299687841018015L, 0.0204186940546440312625597L, 0.000797185647564398289151125L, 0.117019281670172327758019e-4L };
- static const float f0 = 0.5634598136F;
- r = tools::evaluate_polynomial(n, z - 17) / tools::evaluate_polynomial(d, z - 17);
- b = f0;
- }
- else if(z < 38)
- {
- // Worst case absolute error found: 2.414228989e-22
- static const T n[5] = { -0.000146674699277760365803642L, 0.162666552112280519955647e-4L, 0.269116248509165239294897e-5L, 0.979584479468091935086972e-7L, 0.101994647625723465722285e-8L };
- static const T d[5] = { 1L, 0.165907812944847226546036L, 0.0103361716191505884359634L, 0.000286593026373868366935721L, 0.298401570840900340874568e-5L };
- static const float f0 = 0.5638477802F;
- r = tools::evaluate_polynomial(n, z - 24) / tools::evaluate_polynomial(d, z - 24);
- b = f0;
- }
- else if(z < 60)
- {
- // Worst case absolute error found: 5.896543869e-24
- static const T n[5] = { -0.583905797629771786720406e-4L, 0.412510325105496173512992e-5L, 0.431790922420250949096906e-6L, 0.993365155590013193345569e-8L, 0.653480510020104699270084e-10L };
- static const T d[5] = { 1L, 0.105077086072039915406159L, 0.00414278428675475620830226L, 0.726338754644523769144108e-4L, 0.477818471047398785369849e-6L };
- static const float f0 = 0.5640528202F;
- r = tools::evaluate_polynomial(n, z - 38) / tools::evaluate_polynomial(d, z - 38);
- b = f0;
- }
- else if(z < 85)
- {
- // Worst case absolute error found: 3.080612264e-21
- static const T n[4] = { -0.196457797609229579459841e-4L, 0.157243887666800692441195e-5L, 0.543902511192700878690335e-7L, 0.317472492369117710852685e-9L };
- static const T d[5] = { 1L, 0.052803989240957632204885L, 0.000926876069151753290378112L, 0.541011723226630257077328e-5L, 0.535093845803642394908747e-15L };
- static const float f0 = 0.5641309023F;
- r = tools::evaluate_polynomial(n, z - 60) / tools::evaluate_polynomial(d, z - 60);
- b = f0;
- }
- else
- {
- // Worst case absolute error found: 8.094633491e-22
- static const T n[4] = { -0.789224703978722689089794e-5L, 0.622088451660986955124162e-6L, 0.145728445676882396797184e-7L, 0.603715505542715364529243e-10L };
- static const T d[4] = { 1L, 0.0375328846356293715248719L, 0.000467919535974625308126054L, 0.193847039275845656900547e-5L };
- static const float f0 = 0.5641584396F;
- r = tools::evaluate_polynomial(n, z - 85) / tools::evaluate_polynomial(d, z - 85);
- b = f0;
- }
- T g = exp(-z * z) / z;
- result = g * b + g * r;
- BOOST_MATH_INSTRUMENT_CODE("r = " << r);
- BOOST_MATH_INSTRUMENT_CODE("b = " << b);
- BOOST_MATH_INSTRUMENT_CODE("g = " << g);
}
else
{
//
- // Any value of z larger than 28 will underflow to zero:
+ // Any value of z larger than 110 will underflow to zero:
//
result = 0;
invert = !invert;
@@ -549,184 +606,352 @@
}
else
{
- // Worst case absolute error found: 1.928180863e-35
- static const T n[13] = { 0.0033791670955125738961589031215451706772L, -0.000356604747854533671135323429762519216044L, -0.374476838669183581687167228866769133591L, 0.0395338132469809122364498388174446488042L, -0.070405473508786506375820161461872523315L, 0.00575264725772369303419496752516485264994L, -0.0122324470706306942925087773122510971344L, 0.000982833333252586078523570049842642796291L, -0.000937806155615159592441487275938040285833L, 0.485407838108763091860415874932955355755e-4L, -0.50171236926234625577876479444632561922e-4L, 0.19406068817888598455243350289053451571e-5L, -0.119351103792049576459000102632508734863e-5L };
- static const T d[13] = { 1L, -0.105530368216503232473476334993759958083L, 0.488152943026846232046726653294817930988L, -0.0470361716364117780901924633553851211874L, 0.107663671943702835026199580597519084906L, -0.00919493879447389180633447493128337242362L, 0.0138231121717229362691899919242806829805L, -0.000994048559663865788847688218108232247441L, 0.00109769834527023265969224251892094019735L, -0.600458401801636062015615549258555311545e-4L, 0.51530723974502946291624848874654212384e-4L, -0.164121264470361558910636548509486296153e-5L, 0.112643498977070218963888579607359294396e-5L };
-
- result = z * 1.125 + z * tools::evaluate_rational(n, d, z);
+ // Max Error found at long double precision = 2.342380e-35
+ // Maximum Deviation Found: 6.124e-36
+ // Expected Error Term: -6.124e-36
+ // Maximum Relative Change in Control Points: 3.492e-10
+ static const T Y = 1.0841522216796875f;
+ static const T P[] = {
+ 0.0442269454158250738961589031215451778L,
+ -0.35549265736002144875335323556961233L,
+ -0.0582179564566667896225454670863270393L,
+ -0.0112694696904802304229950538453123925L,
+ -0.000805730648981801146251825329609079099L,
+ -0.566304966591936566229702842075966273e-4L,
+ -0.169655010425186987820201021510002265e-5L,
+ -0.344448249920445916714548295433198544e-7L,
+ };
+ static const T Q[] = {
+ 1L,
+ 0.466542092785657604666906909196052522L,
+ 0.100005087012526447295176964142107611L,
+ 0.0128341535890117646540050072234142603L,
+ 0.00107150448466867929159660677016658186L,
+ 0.586168368028999183607733369248338474e-4L,
+ 0.196230608502104324965623171516808796e-5L,
+ 0.313388521582925207734229967907890146e-7L,
+ };
+ result = z * (Y + tools::evaluate_polynomial(P, z * z) / tools::evaluate_polynomial(Q, z * z));
}
}
- else if((z < 9) || ((z < 110) && invert)) // TODO FIXME!!
+ else if((z < 9) || ((z < 110) && invert))
{
//
// We'll be calculating erfc:
//
invert = !invert;
- T r, b;
- if(z < 0.75)
+ if(z < 1)
+ {
+ // Max Error found at long double precision = 3.246278e-35
+ // Maximum Deviation Found: 1.388e-35
+ // Expected Error Term: 1.387e-35
+ // Maximum Relative Change in Control Points: 6.127e-05
+ static const T Y = 0.371877193450927734375f;
+ static const T P[] = {
+ -0.0640320213544647969396032886581290455L,
+ 0.200769874440155895637857443946706731L,
+ 0.378447199873537170666487408805779826L,
+ 0.30521399466465939450398642044975127L,
+ 0.146890026406815277906781824723458196L,
+ 0.0464837937749539978247589252732769567L,
+ 0.00987895759019540115099100165904822903L,
+ 0.00137507575429025512038051025154301132L,
+ 0.0001144764551085935580772512359680516L,
+ 0.436544865032836914773944382339900079e-5L,
+ };
+ static const T Q[] = {
+ 1L,
+ 2.47651182872457465043733800302427977L,
+ 2.78706486002517996428836400245547955L,
+ 1.87295924621659627926365005293130693L,
+ 0.829375825174365625428280908787261065L,
+ 0.251334771307848291593780143950311514L,
+ 0.0522110268876176186719436765734722473L,
+ 0.00718332151250963182233267040106902368L,
+ 0.000595279058621482041084986219276392459L,
+ 0.226988669466501655990637599399326874e-4L,
+ 0.270666232259029102353426738909226413e-10L,
+ };
+ result = Y + tools::evaluate_polynomial(P, z - 0.5f) / tools::evaluate_polynomial(Q, z - 0.5f);
+ result *= exp(-z * z) / z;
+ }
+ else if(z < 1.5)
+ {
+ // Max Error found at long double precision = 2.215785e-35
+ // Maximum Deviation Found: 1.539e-35
+ // Expected Error Term: 1.538e-35
+ // Maximum Relative Change in Control Points: 6.104e-05
+ static const T Y = 0.45658016204833984375f;
+ static const T P[] = {
+ -0.0289965858925328393392496555094848345L,
+ 0.0868181194868601184627743162571779226L,
+ 0.169373435121178901746317404936356745L,
+ 0.13350446515949251201104889028133486L,
+ 0.0617447837290183627136837688446313313L,
+ 0.0185618495228251406703152962489700468L,
+ 0.00371949406491883508764162050169531013L,
+ 0.000485121708792921297742105775823900772L,
+ 0.376494706741453489892108068231400061e-4L,
+ 0.133166058052466262415271732172490045e-5L,
+ };
+ static const T Q[] = {
+ 1L,
+ 2.32970330146503867261275580968135126L,
+ 2.46325715420422771961250513514928746L,
+ 1.55307882560757679068505047390857842L,
+ 0.644274289865972449441174485441409076L,
+ 0.182609091063258208068606847453955649L,
+ 0.0354171651271241474946129665801606795L,
+ 0.00454060370165285246451879969534083997L,
+ 0.000349871943711566546821198612518656486L,
+ 0.123749319840299552925421880481085392e-4L,
+ };
+ result = Y + tools::evaluate_polynomial(P, z - 1.0f) / tools::evaluate_polynomial(Q, z - 1.0f);
+ result *= exp(-z * z) / z;
+ }
+ else if(z < 2.25)
+ {
+ // Maximum Deviation Found: 1.418e-35
+ // Expected Error Term: 1.418e-35
+ // Maximum Relative Change in Control Points: 1.316e-04
+ // Max Error found at long double precision = 1.998462e-35
+ static const T Y = 0.50250148773193359375f;
+ static const T P[] = {
+ -0.0201233630504573402185161184151016606L,
+ 0.0331864357574860196516686996302305002L,
+ 0.0716562720864787193337475444413405461L,
+ 0.0545835322082103985114927569724880658L,
+ 0.0236692635189696678976549720784989593L,
+ 0.00656970902163248872837262539337601845L,
+ 0.00120282643299089441390490459256235021L,
+ 0.000142123229065182650020762792081622986L,
+ 0.991531438367015135346716277792989347e-5L,
+ 0.312857043762117596999398067153076051e-6L,
+ };
+ static const T Q[] = {
+ 1L,
+ 2.13506082409097783827103424943508554L,
+ 2.06399257267556230937723190496806215L,
+ 1.18678481279932541314830499880691109L,
+ 0.447733186643051752513538142316799562L,
+ 0.11505680005657879437196953047542148L,
+ 0.020163993632192726170219663831914034L,
+ 0.00232708971840141388847728782209730585L,
+ 0.000160733201627963528519726484608224112L,
+ 0.507158721790721802724402992033269266e-5L,
+ 0.18647774409821470950544212696270639e-12L,
+ };
+ result = Y + tools::evaluate_polynomial(P, z - 1.5f) / tools::evaluate_polynomial(Q, z - 1.5f);
+ result *= exp(-z * z) / z;
+ }
+ else if (z < 3)
+ {
+ // Maximum Deviation Found: 3.575e-36
+ // Expected Error Term: 3.575e-36
+ // Maximum Relative Change in Control Points: 7.103e-05
+ // Max Error found at long double precision = 5.794737e-36
+ static const T Y = 0.52896785736083984375f;
+ static const T P[] = {
+ -0.00902152521745813634562524098263360074L,
+ 0.0145207142776691539346923710537580927L,
+ 0.0301681239582193983824211995978678571L,
+ 0.0215548540823305814379020678660434461L,
+ 0.00864683476267958365678294164340749949L,
+ 0.00219693096885585491739823283511049902L,
+ 0.000364961639163319762492184502159894371L,
+ 0.388174251026723752769264051548703059e-4L,
+ 0.241918026931789436000532513553594321e-5L,
+ 0.676586625472423508158937481943649258e-7L,
+ };
+ static const T Q[] = {
+ 1L,
+ 1.93669171363907292305550231764920001L,
+ 1.69468476144051356810672506101377494L,
+ 0.880023580986436640372794392579985511L,
+ 0.299099106711315090710836273697708402L,
+ 0.0690593962363545715997445583603382337L,
+ 0.0108427016361318921960863149875360222L,
+ 0.00111747247208044534520499324234317695L,
+ 0.686843205749767250666787987163701209e-4L,
+ 0.192093541425429248675532015101904262e-5L,
+ };
+ result = Y + tools::evaluate_polynomial(P, z - 2.25f) / tools::evaluate_polynomial(Q, z - 2.25f);
+ result *= exp(-z * z) / z;
+ }
+ else if(z < 3.5)
+ {
+ // Maximum Deviation Found: 8.126e-37
+ // Expected Error Term: -8.126e-37
+ // Maximum Relative Change in Control Points: 1.363e-04
+ // Max Error found at long double precision = 1.747062e-36
+ static const T Y = 0.54037380218505859375f;
+ static const T P[] = {
+ -0.0033703486408887424921155540591370375L,
+ 0.0104948043110005245215286678898115811L,
+ 0.0148530118504000311502310457390417795L,
+ 0.00816693029245443090102738825536188916L,
+ 0.00249716579989140882491939681805594585L,
+ 0.0004655591010047353023978045800916647L,
+ 0.531129557920045295895085236636025323e-4L,
+ 0.343526765122727069515775194111741049e-5L,
+ 0.971120407556888763695313774578711839e-7L,
+ };
+ static const T Q[] = {
+ 1L,
+ 1.59911256167540354915906501335919317L,
+ 1.136006830764025173864831382946934L,
+ 0.468565867990030871678574840738423023L,
+ 0.122821824954470343413956476900662236L,
+ 0.0209670914950115943338996513330141633L,
+ 0.00227845718243186165620199012883547257L,
+ 0.000144243326443913171313947613547085553L,
+ 0.407763415954267700941230249989140046e-5L,
+ };
+ result = Y + tools::evaluate_polynomial(P, z - 3.0f) / tools::evaluate_polynomial(Q, z - 3.0f);
+ result *= exp(-z * z) / z;
+ }
+ else if(z < 5.5)
+ {
+ // Maximum Deviation Found: 5.804e-36
+ // Expected Error Term: -5.803e-36
+ // Maximum Relative Change in Control Points: 2.475e-05
+ // Max Error found at long double precision = 1.349545e-35
+ static const T Y = 0.55000019073486328125f;
+ static const T P[] = {
+ 0.00118142849742309772151454518093813615L,
+ 0.0072201822885703318172366893469382745L,
+ 0.0078782276276860110721875733778481505L,
+ 0.00418229166204362376187593976656261146L,
+ 0.00134198400587769200074194304298642705L,
+ 0.000283210387078004063264777611497435572L,
+ 0.405687064094911866569295610914844928e-4L,
+ 0.39348283801568113807887364414008292e-5L,
+ 0.248798540917787001526976889284624449e-6L,
+ 0.929502490223452372919607105387474751e-8L,
+ 0.156161469668275442569286723236274457e-9L,
+ };
+ static const T Q[] = {
+ 1L,
+ 1.52955245103668419479878456656709381L,
+ 1.06263944820093830054635017117417064L,
+ 0.441684612681607364321013134378316463L,
+ 0.121665258426166960049773715928906382L,
+ 0.0232134512374747691424978642874321434L,
+ 0.00310778180686296328582860464875562636L,
+ 0.000288361770756174705123674838640161693L,
+ 0.177529187194133944622193191942300132e-4L,
+ 0.655068544833064069223029299070876623e-6L,
+ 0.11005507545746069573608988651927452e-7L,
+ };
+ result = Y + tools::evaluate_polynomial(P, z - 4.5f) / tools::evaluate_polynomial(Q, z - 4.5f);
+ result *= exp(-z * z) / z;
+ }
+ else if(z < 7.5)
+ {
+ // Maximum Deviation Found: 1.007e-36
+ // Expected Error Term: 1.007e-36
+ // Maximum Relative Change in Control Points: 1.027e-03
+ // Max Error found at long double precision = 2.646420e-36
+ static const T Y = 0.5574436187744140625f;
+ static const T P[] = {
+ 0.000293236907400849056269309713064107674L,
+ 0.00225110719535060642692275221961480162L,
+ 0.00190984458121502831421717207849429799L,
+ 0.000747757733460111743833929141001680706L,
+ 0.000170663175280949889583158597373928096L,
+ 0.246441188958013822253071608197514058e-4L,
+ 0.229818000860544644974205957895688106e-5L,
+ 0.134886977703388748488480980637704864e-6L,
+ 0.454764611880548962757125070106650958e-8L,
+ 0.673002744115866600294723141176820155e-10L,
+ };
+ static const T Q[] = {
+ 1L,
+ 1.12843690320861239631195353379313367L,
+ 0.569900657061622955362493442186537259L,
+ 0.169094404206844928112348730277514273L,
+ 0.0324887449084220415058158657252147063L,
+ 0.00419252877436825753042680842608219552L,
+ 0.00036344133176118603523976748563178578L,
+ 0.204123895931375107397698245752850347e-4L,
+ 0.674128352521481412232785122943508729e-6L,
+ 0.997637501418963696542159244436245077e-8L,
+ };
+ result = Y + tools::evaluate_polynomial(P, z - 6.5f) / tools::evaluate_polynomial(Q, z - 6.5f);
+ result *= exp(-z * z) / z;
+ }
+ else if(z < 11.5)
{
- // Worst case absolute error found: 9.46579566e-36
- static const T n[10] = { -0.0361790390718262471349157886581290316118L, 0.268773785250238404882137450640472787307L, 0.46350995084084251624649426251701042395L, 0.368375435727102373204587584306335625665L, 0.177618123820303858190236222513516291818L, 0.0566304173556669007529719743050764079095L, 0.0121631149481817424284077180037019529004L, 0.00171397353209314111395429418066990259845L, 0.000144662387395699594624184141956722488753L, 0.559870522050008635715382724858714587198e-5L };
- static const T d[10] = { 1L, 2.50344259590701770420935329380375393716L, 2.84905597172139276093882199286535521011L, 1.93691730181297099541395314232750876411L, 0.868059574796050528229446630538462280596L, 0.266360035323208212078527036132085926692L, 0.0560555526482963925944703505114360693216L, 0.0078174400311465420803366235814673576269L, 0.000657067309046405057499687417839930873806L, 0.254293850077789079098316521097979388983e-4L };
- static const float f0 = 0.3440242112F;
- r = tools::evaluate_rational(n, d, z - 0.5);
- b = f0;
- }
- else if(z < 1.25)
- {
- // Worst case absolute error found: 1.222145602e-35
- static const T n[10] = { -0.03978768926111368569548863384587917014L, 0.136218360681765349252731304877153919181L, 0.252782160406474440925641829129129001834L, 0.198264231106182362320012632943145619752L, 0.0923045825293507328801206570363391760624L, 0.0281157216148097885766639832985410722743L, 0.00573041663561645197870019701493117161792L, 0.000762341440133027349203518836487137709687L, 0.60471020134417423449877859375492618899e-4L, 0.219005333943510376644902615714724932217e-5L };
- static const T d[11] = { 1L, 2.38113277319993574121349184069891082204L, 2.57380422881476860215664207822277590181L, 1.65937045609044738941173490190122101824L, 0.704055811320312044285417250966993014161L, 0.20414913933328592198279939394283925451L, 0.0405162285360227740710964820549709038107L, 0.00531638867177288975915820230980317499728L, 0.000419364368135139398723983192742319455284L, 0.151874665979234971229096136924566078234e-4L, 0.807869459506748684117962248796937508011e-11L };
- static const float f0 = 0.419990927F;
- r = tools::evaluate_polynomial(n, z - 0.75) / tools::evaluate_polynomial(d, z - 0.75);
- b = f0;
- }
- else if(z < 2)
- {
- // Worst case absolute error found: 5.893842955e-36
- static const T n[11] = { -0.0255063683486569102096736247449691465143L, 0.045782379672906795594927072060091308408L, 0.113248439610400562258072020811195716817L, 0.0996016254422112410086711272219455446695L, 0.0508749250027894453228337309651895478017L, 0.0171081937013828309576540212196644542209L, 0.00395354196550210630440706013523069756354L, 0.000629022203390154585475081628606234279007L, 0.664903286194855400689101617763591823345e-4L, 0.423935693893425355108071655059640137208e-5L, 0.124304036910852727351487636048151737214e-6L };
- static const T d[11] = { 1L, 2.39207679390801118396945702674440915308L, 2.62237869972649377524874287442154430843L, 1.73645189911172997548091140085423843725L, 0.769812706091926741262865732006953282036L, 0.238986814887891859065369830215615790694L, 0.0526759147274379214313767032352419949829L, 0.00814993801398361741777997755108018659382L, 0.00084829993036396244429607826663252633817L, 0.537276435448416921594616417908288527881e-4L, 0.157537193656690184073389824392669625417e-5L };
- static const float f0 = 0.4852850139F;
- r = tools::evaluate_rational(n, d, z - 1.25);
- b = f0;
- }
- else if(z < 2.75)
- {
- // Worst case absolute error found: 4.024770853e-36
- static const T n[10] = { -0.0108897177067473013323228381829144739013L, 0.0202210475357865979950082670101965963435L, 0.0403242149078991892599316678797913295452L, 0.0288492313188655084113941326565482276741L, 0.0116982647742533555237861890442866083526L, 0.00301908913020213436098518520436147263177L, 0.000511140165864993121203730804407968689429L, 0.555507897975436549741754647662158917103e-4L, 0.354571088276496768574495922471690102061e-5L, 0.101789333060641482357520298518780163915e-6L };
- static const T d[11] = { 1L, 1.98184247277299581801610266575921553552L, 1.77518826058984218945272444617044495028L, 0.943934346956188464279312722940302202684L, 0.328630002685235061519039528479761588138L, 0.0777535542351039388345270792222146705189L, 0.0125143974181120800829065248546370953609L, 0.00132270605931460450441108147393979771563L, 0.834118048375722123506409257130329786209e-4L, 0.239456257167492104073765911366304033453e-5L, 0.197067742893785800814802969598122120027e-13L };
- static const float f0 = 0.5216810703F;
- r = tools::evaluate_polynomial(n, z - 2) / tools::evaluate_polynomial(d, z - 2);
- b = f0;
- }
- else if(z < 3.75)
- {
- // Worst case absolute error found: 2.119317982e-36
- static const T n[10] = { -0.00669534469911386821762042893742722704704L, 0.00779239067529714323524154862288379264056L, 0.0167670669587476509267036865033136655094L, 0.0113887916348251443051357686146040093464L, 0.00426976750247047946700539147728477144579L, 0.00100469100574064832665606356894416652764L, 0.000153533145320881108157829902752192859922L, 0.149337551064665413462766906201269176262e-4L, 0.846377837919513024118176704010972579138e-6L, 0.214045773545256889299689737489755489478e-7L };
- static const T d[11] = { 1L, 1.78724215851193637544287795626580411105L, 1.44052576962222794702178612920219772782L, 0.687639905608366315245841860669607532265L, 0.214374367225822611754443822822738563207L, 0.0452948320968245754796139856381504201504L, 0.00649108394178118005887118777181540680812L, 0.000608904720665003139414993591868256489088L, 0.33959064390570911588709483563995284603e-4L, 0.858811916085393051026834431509997486704e-6L, 0.618878592093890510233502654703683447468e-15L };
- static const float f0 = 0.5392661095F;
- r = tools::evaluate_polynomial(n, z - 2.75) / tools::evaluate_polynomial(d, z - 2.75);
- b = f0;
- }
- else if(z < 5)
- {
- // Worst case absolute error found: 3.131502824e-36
- static const T n[10] = { -0.00378088626017041998499190989910098718437L, 0.0029008905292996011997575492874095588328L, 0.00662431938391549599757244232386689480515L, 0.00417809740399798845564363621020984935218L, 0.00142019749135652688012034919213168974543L, 0.000299107980170253223293530710056814995102L, 0.405161538841561396150507786831930770839e-4L, 0.346344371670880861875666253626975779945e-5L, 0.171091054330494778613793054233437928605e-6L, 0.373924433717749484258186454458704819755e-8L };
- static const T d[10] = { 1L, 1.5810750672399887547849540367499389454L, 1.12479852885403050655678225945856872694L, 0.47277272679268851560291322980574597267L, 0.129444913616967588584693095240544707208L, 0.0239544490709674941887988416318107990646L, 0.00299775294496053944060700963645084591246L, 0.00024478412843088575835960648397300177201L, 0.118424712755145205302405346348931402917e-4L, 0.2588206250858483868392167535345681119e-6L };
- static const float f0 = 0.549742341F;
- r = tools::evaluate_rational(n, d, z - 3.75);
- b = f0;
- }
- else if(z < 6.5)
- {
- // Worst case absolute error found: 3.352877573e-35
- static const T n[9] = { -0.00210683958249012010206456754123471415706L, 0.00146329021314062287670019911742786780092L, 0.00242029064025351202243048169807220157512L, 0.0011321990764681390160708960047630195582L, 0.000277123780759366982673218537550876769487L, 0.401236501288775561636453586216146028714e-4L, 0.347799938323835778216424009916867086167e-5L, 0.167678812729975154456097184107934455429e-6L, 0.346722083660429051057284107535869165775e-8L };
- static const T d[10] = { 1L, 1.22334833521124956366395053444841951468L, 0.661433457507589455018784737495591428263L, 0.206503622658778732280997770028712044451L, 0.0407323027711252752353388616742333806362L, 0.00519969889874877079704615143005539754407L, 0.000419679230772141031030427156828631265963L, 0.195896640254171597965013007459411704085e-4L, 0.405070207572551760879797790899826058473e-6L, -0.949400883467250846930389103621356900319e-17L };
- static const float f0 = 0.5556300282F;
- r = tools::evaluate_polynomial(n, z - 5) / tools::evaluate_polynomial(d, z - 5);
- b = f0;
- }
- else if(z < 8)
- {
- // Worst case absolute error found: 2.10254551e-36
- static const T n[9] = { -0.00107224589975857477185569028693588970638L, 0.00081159959093417892787006088639848404179L, 0.00105587689576932891666032146026668833287L, 0.000416243954540394829165805666548948771809L, 0.861189599093384016322579078144012057531e-4L, 0.105064862265647286966467927732505059558e-4L, 0.763674245263385902692134637353517251296e-6L, 0.306964079269190247526141442183490066292e-7L, 0.525762928524110511201313708396204710874e-9L };
- static const T d[9] = { 1L, 1.03391233015873996503551085347368889767L, 0.471295765635712684194436077437130977978L, 0.123736066749315618886080242926593910851L, 0.0204690897886919138685460664198600282119L, 0.00218521816743913946855947853274936296576L, 0.000147057386621380823003258590658747813774L, 0.570514093706434168568509838021466564264e-5L, 0.977166974697066620826028345712327325748e-7L };
- static const float f0 = 0.5588091016F;
- r = tools::evaluate_rational(n, d, z - 6.5);
- b = f0;
- }
- else if(z < 10)
- {
- // Worst case absolute error found: 8.006848023e-37
- static const T n[9] = { -0.000764310289345400483607004463638641680792L, 0.000375959928342415987920641866513058424701L, 0.000477297615927227258961911005347799033473L, 0.000165573027183931250708334564452626717999L, 0.296617493157889183515359094859055088531e-4L, 0.310848843632513098624143817615592253324e-5L, 0.192932185180269434271810693046412848027e-6L, 0.658630702075882625552897504189436319318e-8L, 0.952880249971934343233104137698620618851e-10L };
- static const T d[9] = { 1L, 0.885953297549629585611202995885653291163L, 0.345435500008639080844920938390800739845L, 0.0774289910213823638414558561872084410517L, 0.0109142290775434200609901181618181718948L, 0.000990815749814504617347317658063197107511L, 0.565801964505889288566864514277149126893e-4L, 0.185846832474795168475989869562411740416e-5L, 0.268875677412705938842038805073576012915e-7L };
- static const float f0 = 0.5606456399F;
- r = tools::evaluate_rational(n, d, z - 8);
- b = f0;
- }
- else if(z < 12.5)
- {
- // Worst case absolute error found: 1.920487881e-37
- static const T n[9] = { -0.00049563543942917072170112779531688430711L, 0.000181627479476470045833245371263435213396L, 0.000205326116055098869964168775605689851547L, 0.602131211119027087508128340443602490578e-4L, 0.904046610725767796892834734953040318357e-5L, 0.790026495730279360618915285828083295597e-6L, 0.407154634490633661408148126521656550974e-7L, 0.114947371191075676274146563385045083492e-8L, 0.136959786076422777905476122283384578138e-10L };
- static const T d[9] = { 1L, 0.738936412939629363226408445024616124644L, 0.239911614287295587917806937612822134282L, 0.0447038494121568822243673246874110377585L, 0.00522920850086320874490830611785659031521L, 0.000393238307986133717620560371515858231357L, 0.18566831172454022627187937328433090172e-4L, 0.503267648562793696253090536560738864711e-6L, 0.599643373938283798258195761814169705225e-8L };
- static const float f0 = 0.5619055629F;
- r = tools::evaluate_rational(n, d, z - 10);
- b = f0;
- }
- else if(z < 15.5)
- {
- // Worst case absolute error found: 1.257535398e-36
- static const T n[8] = { -0.000310716603972278501158850534578560332617L, 0.00011678083970731888844953949114132723885L, 0.800190190430061077253903477346761222901e-4L, 0.156297703728913451581100601056534652076e-4L, 0.151432948873760306237990776980248434808e-5L, 0.798843820137664551611401320879346402013e-7L, 0.219398460602279142004550137383605410162e-8L, 0.244774638611231694720102050826438123042e-10L };
- static const T d[9] = { 1L, 0.536396467095662522242258924420035847546L, 0.12368534422025248132153213926057643819L, 0.0158935327926481775020421628983323726346L, 0.00122923842249710594941031294559763761829L, 0.572250268558063378795115723535491980973e-4L, 0.148480028895780193980507551658637328542e-5L, 0.165653602646537759781637790321962585489e-7L, 0.159564067829807076335030582566349996674e-21L };
- static const float f0 = 0.5627119541F;
- r = tools::evaluate_polynomial(n, z - 12.5) / tools::evaluate_polynomial(d, z - 12.5);
- b = f0;
- }
- else if(z < 20)
- {
- // Worst case absolute error found: 8.757869781e-37
- static const T n[8] = { -0.000232165799411403604511899928682939571679L, 0.473280617901953093430938763139716601257e-4L, 0.322197983787538821545512424866901113822e-4L, 0.53341606003892328294004958671866936958e-5L, 0.429392533762301420884052643595872389588e-6L, 0.186707830002841677949013638707964861935e-7L, 0.420531779988891521855765212230340499168e-9L, 0.38311153882270641561622347190918577449e-11L };
- static const T d[9] = { 1L, 0.440698415779467873589164469370853517393L, 0.0834079018864546179293964148377602724235L, 0.00878845776227345123101968908701592510214L, 0.000556792236817609981676018545344816931862L, 0.212109697877283363015270621439889468055e-4L, 0.449886743173619367191275104721917344569e-6L, 0.409854405005280582884236774230760402868e-8L, 0.185071069100878210011727114952196630136e-23L };
- static const float f0 = 0.5632548332F;
- r = tools::evaluate_polynomial(n, z - 15.5) / tools::evaluate_polynomial(d, z - 15.5);
- b = f0;
- }
- else if(z < 26)
- {
- // Worst case absolute error found: 6.571456853e-37
- static const T n[8] = { -0.000143129243915019877016909310584833592972L, 0.203555078616578752774553439209122798188e-4L, 0.116664173863253360297276766667046754002e-4L, 0.153607643549360281089355497044679566329e-5L, 0.976486412462035616905934994399021437658e-7L, 0.33416295362298759817564985788402188186e-8L, 0.590812660432887787644458409396105030781e-10L, 0.421471133628743008309458424282421874073e-12L };
- static const T d[8] = { 1L, 0.346848503043261151874606241871432055165L, 0.0516236057301875770334953837585483539519L, 0.0042740199483843978391191804633398315544L, 0.000212586135154357046245694533825075007902L, 0.635258188334431428038271842518161892901e-5L, 0.105600415847309067601860633252823051505e-6L, 0.753327238218310630683194279382721367469e-9L };
- static const float f0 = 0.5636301041F;
- r = tools::evaluate_polynomial(n, z - 20) / tools::evaluate_polynomial(d, z - 20);
- b = f0;
- }
- else if(z < 34)
- {
- // Worst case absolute error found: 2.529847851e-38
- static const T n[8] = { -0.863162280463127451272161303767299107489e-4L, 0.876391266908317792353253474461536821127e-5L, 0.407624004719762912183133597708988715137e-5L, 0.418371930808379615690956857824418800194e-6L, 0.206376792034344913360458422974245946873e-7L, 0.546878311460852031076829190722479684e-9L, 0.74760305098509923829341087347518769626e-11L, 0.411832046806658129073165530819472782663e-13L };
- static const T d[9] = { 1L, 0.268714425336129161136892060316889824437L, 0.0309686025544536788982104017649851516554L, 0.00198426609900573235086828549632290797514L, 0.763402107420631006526499294753645914808e-4L, 0.176354119917411263184292422389304506735e-5L, 0.226504369338582253171306523992412653547e-7L, 0.124774448034213281307712525982862926228e-9L, 0.541581693417048102342931921476367282462e-28L };
- static const float f0 = 0.5638595223F;
- r = tools::evaluate_polynomial(n, z - 26) / tools::evaluate_polynomial(d, z - 26);
- b = f0;
- }
- else if(z < 46)
- {
- // Worst case absolute error found: 4.880939969e-36
- static const T n[7] = { -0.552701065525823960321509114250962372959e-4L, 0.459798238451342341380837226471283129117e-5L, 0.117462487430397988459985818542278619172e-5L, 0.704965053290383355071079647747711714696e-7L, 0.191250482739845326510859812663255140286e-8L, 0.245913419605775857221974833985059356312e-10L, 0.120466123381598216554945834019040289508e-12L };
- static const T d[8] = { 1L, 0.175852634004021068883919193145643406305L, 0.0128923775281953424344037205817061020944L, 0.000504385604406829419856756492198778141939L, 0.111061123996047697713589874603922096536e-4L, 0.130499191758882778721577274330215931713e-6L, 0.639279131688964342759306361922751772829e-9L, -0.10503012469906917938721140272475203112e-26L };
- static const float f0 = 0.564001143F;
- r = tools::evaluate_polynomial(n, z - 34) / tools::evaluate_polynomial(d, z - 34);
- b = f0;
- }
- else if(z < 62)
- {
- // Worst case absolute error found: 8.634961697e-37
- static const T n[7] = { -0.299551937061912926289705712581858190494e-4L, 0.188783643501597286680709990049243153264e-5L, 0.353403900815908094401075506391935032602e-6L, 0.156779149815977342177830075875441013335e-7L, 0.31456307256618424444443489905810774564e-9L, 0.29912544832845265905351204765862702307e-11L, 0.108360038290329929702659864116372774364e-13L };
- static const T d[7] = { 1L, 0.13020345740128026085404079010013007005L, 0.00706598549835633149505923515407700416484L, 0.000204578844720147762058725212299415091588L, 0.333280847765611305843836201217690887394e-5L, 0.289666303356425428524772241712503072453e-7L, 0.104933404691983708511908027657434756019e-9L };
- static const float f0 = 0.564086318F;
- r = tools::evaluate_polynomial(n, z - 46) / tools::evaluate_polynomial(d, z - 46);
- b = f0;
- }
- else if(z < 80)
- {
- // Worst case absolute error found: 6.10700166e-39
- static const T n[7] = { -0.146162619512779884168960178459825270831e-4L, 0.952303834226435420147786300516273108344e-6L, 0.114559890033396819882468040960469980168e-6L, 0.368994353517438072494331750992706039868e-8L, 0.545158660461829568567388818070830588533e-10L, 0.383569328729331398089160922704933035281e-12L, 0.103104113324271568678309317039606225294e-14L };
- static const T d[7] = { 1L, 0.0966822058944670599111360985490948186413L, 0.00389546596914826027568119425228340291579L, 0.837237328321088890541798035513749762375e-4L, 0.101236677684940943809478588316884539423e-5L, 0.652985528810044575089151077574382356898e-8L, 0.175523663960756825512727785416137345625e-10L };
- static const float f0 = 0.5641308427F;
- r = tools::evaluate_polynomial(n, z - 62) / tools::evaluate_polynomial(d, z - 62);
- b = f0;
- }
- else
- {
- // Worst case absolute error found: 3.409761622e-39
- static const T n[7] = { -0.103600733768855845278685109220598569282e-4L, 0.324846376725138276091774803419773168357e-6L, 0.376580042454826796817160322889753111347e-7L, 0.971125540805193703472871419997820785081e-9L, 0.112499588573918670534994853431614458564e-10L, 0.6161310085325929027114924903443564594e-13L, 0.128358125353302055468778305481781957985e-15L };
- static const T d[7] = { 1L, 0.0749579802028981336679035635535776767532L, 0.00234137768051079846068630120744888560113L, 0.390095348825177571970348898222511084593e-4L, 0.365628111271063883320224395719085602867e-6L, 0.182790705425846241876560215158605843026e-8L, 0.380806548535012144489621218246876843627e-11L };
- static const float f0 = 0.5641558766F;
- r = tools::evaluate_polynomial(n, z - 80) / tools::evaluate_polynomial(d, z - 80);
- b = f0;
+ // Maximum Deviation Found: 8.380e-36
+ // Expected Error Term: 8.380e-36
+ // Maximum Relative Change in Control Points: 2.632e-06
+ // Max Error found at long double precision = 9.849522e-36
+ static const T Y = 0.56083202362060546875f;
+ static const T P[] = {
+ 0.000282420728751494363613829834891390121L,
+ 0.00175387065018002823433704079355125161L,
+ 0.0021344978564889819420775336322920375L,
+ 0.00124151356560137532655039683963075661L,
+ 0.000423600733566948018555157026862139644L,
+ 0.914030340865175237133613697319509698e-4L,
+ 0.126999927156823363353809747017945494e-4L,
+ 0.110610959842869849776179749369376402e-5L,
+ 0.55075079477173482096725348704634529e-7L,
+ 0.119735694018906705225870691331543806e-8L,
+ };
+ static const T Q[] = {
+ 1L,
+ 1.69889613396167354566098060039549882L,
+ 1.28824647372749624464956031163282674L,
+ 0.572297795434934493541628008224078717L,
+ 0.164157697425571712377043857240773164L,
+ 0.0315311145224594430281219516531649562L,
+ 0.00405588922155632380812945849777127458L,
+ 0.000336929033691445666232029762868642417L,
+ 0.164033049810404773469413526427932109e-4L,
+ 0.356615210500531410114914617294694857e-6L,
+ };
+ result = Y + tools::evaluate_polynomial(P, z / 2 - 4.75f) / tools::evaluate_polynomial(Q, z / 2 - 4.75f);
+ result *= exp(-z * z) / z;
+ }
+ else
+ {
+ // Maximum Deviation Found: 1.132e-35
+ // Expected Error Term: -1.132e-35
+ // Maximum Relative Change in Control Points: 4.674e-04
+ // Max Error found at long double precision = 1.162590e-35
+ static const T Y = 0.5632686614990234375f;
+ static const T P[] = {
+ 0.000920922048732849448079451574171836943L,
+ 0.00321439044532288750501700028748922439L,
+ -0.250455263029390118657884864261823431L,
+ -0.906807635364090342031792404764598142L,
+ -8.92233572835991735876688745989985565L,
+ -21.7797433494422564811782116907878495L,
+ -91.1451915251976354349734589601171659L,
+ -144.1279109655993927069052125017673L,
+ -313.845076581796338665519022313775589L,
+ -273.11378811923343424081101235736475L,
+ -271.651566205951067025696102600443452L,
+ -60.0530577077238079968843307523245547L,
+ };
+ static const T Q[] = {
+ 1L,
+ 3.49040448075464744191022350947892036L,
+ 34.3563592467165971295915749548313227L,
+ 84.4993232033879023178285731843850461L,
+ 376.005865281206894120659401340373818L,
+ 629.95369438888946233003926191755125L,
+ 1568.35771983533158591604513304269098L,
+ 1646.02452040831961063640827116581021L,
+ 2299.96860633240298708910425594484895L,
+ 1222.73204392037452750381340219906374L,
+ 799.359797306084372350264298361110448L,
+ 72.7415265778588087243442792401576737L,
+ };
+ result = Y + tools::evaluate_polynomial(P, 1 / z) / tools::evaluate_polynomial(Q, 1 / z);
+ result *= exp(-z * z) / z;
}
- T g = exp(-z * z) / z;
- result = g * b + g * r;
}
else
{
@@ -856,3 +1081,4 @@
+
Modified: branches/CMake/release/boost/math/special_functions/expm1.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/expm1.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/expm1.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_EXPM1_INCLUDED
#define BOOST_MATH_EXPM1_INCLUDED
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <cmath>
#include <math.h> // platform's ::expm1
#include <boost/limits.hpp>
@@ -267,3 +271,4 @@
#endif // BOOST_MATH_HYPOT_INCLUDED
+
Modified: branches/CMake/release/boost/math/special_functions/factorials.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/factorials.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/factorials.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_SP_FACTORIALS_HPP
#define BOOST_MATH_SP_FACTORIALS_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/gamma.hpp>
#include <boost/math/special_functions/math_fwd.hpp>
#include <boost/math/special_functions/detail/unchecked_factorial.hpp>
@@ -159,7 +163,7 @@
// handle it, split the product up into three parts:
//
T xp1 = x + 1;
- unsigned n2 = tools::real_cast<unsigned>(floor(xp1));
+ unsigned n2 = itrunc(floor(xp1), pol);
if(n2 == xp1)
return 0;
T result = boost::math::tgamma_delta_ratio(xp1, -static_cast<T>(n2), pol);
@@ -222,3 +226,4 @@
} // namespace boost
#endif // BOOST_MATH_SP_FACTORIALS_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/fpclassify.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/fpclassify.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/fpclassify.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_FPCLASSIFY_HPP
#define BOOST_MATH_FPCLASSIFY_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <math.h>
#include <cmath>
#include <boost/limits.hpp>
@@ -34,8 +38,15 @@
#define BOOST_HAS_FPCLASSIFY
#ifndef fpclassify
-# if (defined(__GLIBCPP__) || defined(__GLIBCXX__)) && defined(_GLIBCXX_USE_C99_MATH) && !(defined(_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC) && (_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC != 0))
-# define BOOST_FPCLASSIFY_PREFIX ::std::
+# if (defined(__GLIBCPP__) || defined(__GLIBCXX__)) \
+ && defined(_GLIBCXX_USE_C99_MATH) \
+ && !(defined(_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC) \
+ && (_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC != 0))
+# ifdef _STLP_VENDOR_CSTD
+# define BOOST_FPCLASSIFY_PREFIX ::_STLP_VENDOR_CSTD::
+# else
+# define BOOST_FPCLASSIFY_PREFIX ::std::
+# endif
# else
# undef BOOST_HAS_FPCLASSIFY
# define BOOST_FPCLASSIFY_PREFIX
@@ -69,7 +80,7 @@
#ifdef isnan
return isnan(t);
#else // BOOST_HAS_FPCLASSIFY
- return (BOOST_FPCLASSIFY_PREFIX fpclassify(t) == FP_NAN);
+ return (BOOST_FPCLASSIFY_PREFIX fpclassify(t) == (int)FP_NAN);
#endif
}
@@ -173,7 +184,7 @@
case _FPCLASS_SNAN /* Signaling NaN */ :
case _FPCLASS_QNAN /* Quiet NaN */ :
return FP_NAN;
- case _FPCLASS_NINF /*Negative infinity ( INF) */ :
+ case _FPCLASS_NINF /*Negative infinity ( -INF) */ :
case _FPCLASS_PINF /* Positive infinity (+INF) */ :
return FP_INFINITE;
case _FPCLASS_NN /* Negative normalized non-zero */ :
@@ -182,7 +193,7 @@
case _FPCLASS_ND /* Negative denormalized */:
case _FPCLASS_PD /* Positive denormalized */ :
return FP_SUBNORMAL;
- case _FPCLASS_NZ /* Negative zero ( 0) */ :
+ case _FPCLASS_NZ /* Negative zero ( - 0) */ :
case _FPCLASS_PZ /* Positive 0 (+0) */ :
return FP_ZERO;
default:
@@ -196,19 +207,19 @@
inline bool isfinite BOOST_NO_MACRO_EXPAND(T z)
{
int t = (::boost::math::fpclassify)(z);
- return (t != FP_NAN) && (t != FP_INFINITE);
+ return (t != (int)FP_NAN) && (t != (int)FP_INFINITE);
}
template <class T>
inline bool isinf BOOST_NO_MACRO_EXPAND(T t)
{
- return (::boost::math::fpclassify)(t) == FP_INFINITE;
+ return (::boost::math::fpclassify)(t) == (int)FP_INFINITE;
}
template <class T>
inline bool isnan BOOST_NO_MACRO_EXPAND(T t)
{
- return (::boost::math::fpclassify)(t) == FP_NAN;
+ return (::boost::math::fpclassify)(t) == (int)FP_NAN;
}
#ifdef isnan
template <> inline bool isnan BOOST_NO_MACRO_EXPAND<float>(float t){ return ::boost::math_detail::is_nan_helper(t, boost::true_type()); }
@@ -228,7 +239,7 @@
template <class T>
inline bool isnormal BOOST_NO_MACRO_EXPAND(T t)
{
- return (::boost::math::fpclassify)(t) == FP_NORMAL;
+ return (::boost::math::fpclassify)(t) == (int)FP_NORMAL;
}
} // namespace math
@@ -238,3 +249,5 @@
+
+
Modified: branches/CMake/release/boost/math/special_functions/gamma.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/gamma.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/gamma.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -8,6 +8,10 @@
#ifndef BOOST_MATH_SF_GAMMA_HPP
#define BOOST_MATH_SF_GAMMA_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/config.hpp>
#ifdef BOOST_MSVC
# pragma warning(push)
@@ -23,12 +27,12 @@
#include <boost/math/tools/series.hpp>
#include <boost/math/tools/fraction.hpp>
#include <boost/math/tools/precision.hpp>
-#include <boost/math/tools/real_cast.hpp>
#include <boost/math/tools/promotion.hpp>
#include <boost/math/policies/error_handling.hpp>
#include <boost/math/constants/constants.hpp>
#include <boost/math/special_functions/math_fwd.hpp>
#include <boost/math/special_functions/log1p.hpp>
+#include <boost/math/special_functions/trunc.hpp>
#include <boost/math/special_functions/powm1.hpp>
#include <boost/math/special_functions/sqrt1pm1.hpp>
#include <boost/math/special_functions/lanczos.hpp>
@@ -138,30 +142,33 @@
#endif
static const char* function = "boost::math::tgamma<%1%>(%1%)";
- if((z <= 0) && (floor(z) == z))
- return policies::raise_pole_error<T>(function, "Evaluation of tgamma at a negative integer %1%.", z, pol);
- if(z <= -20)
+ if(z <= 0)
{
- result = gamma_imp(-z, pol, l) * sinpx(z);
- if((fabs(result) < 1) && (tools::max_value<T>() * fabs(result) < boost::math::constants::pi<T>()))
- return policies::raise_overflow_error<T>(function, "Result of tgamma is too large to represent.", pol);
- result = -boost::math::constants::pi<T>() / result;
- if(result == 0)
- return policies::raise_underflow_error<T>(function, "Result of tgamma is too small to represent.", pol);
- if((boost::math::fpclassify)(result) == FP_SUBNORMAL)
- return policies::raise_denorm_error<T>(function, "Result of tgamma is denormalized.", result, pol);
- return result;
- }
+ if(floor(z) == z)
+ return policies::raise_pole_error<T>(function, "Evaluation of tgamma at a negative integer %1%.", z, pol);
+ if(z <= -20)
+ {
+ result = gamma_imp(-z, pol, l) * sinpx(z);
+ if((fabs(result) < 1) && (tools::max_value<T>() * fabs(result) < boost::math::constants::pi<T>()))
+ return policies::raise_overflow_error<T>(function, "Result of tgamma is too large to represent.", pol);
+ result = -boost::math::constants::pi<T>() / result;
+ if(result == 0)
+ return policies::raise_underflow_error<T>(function, "Result of tgamma is too small to represent.", pol);
+ if((boost::math::fpclassify)(result) == (int)FP_SUBNORMAL)
+ return policies::raise_denorm_error<T>(function, "Result of tgamma is denormalized.", result, pol);
+ return result;
+ }
- // shift z to > 1:
- while(z < 1)
- {
- result /= z;
- z += 1;
+ // shift z to > 1:
+ while(z < 0)
+ {
+ result /= z;
+ z += 1;
+ }
}
if((floor(z) == z) && (z < max_factorial<T>::value))
{
- result *= unchecked_factorial<T>(tools::real_cast<unsigned>(z) - 1);
+ result *= unchecked_factorial<T>(itrunc(z, pol) - 1);
}
else
{
@@ -348,7 +355,7 @@
result = -boost::math::constants::pi<T>() / result;
if(result == 0)
return policies::raise_underflow_error<T>(function, "Result of tgamma is too small to represent.", pol);
- if((boost::math::fpclassify)(result) == FP_SUBNORMAL)
+ if((boost::math::fpclassify)(result) == (int)FP_SUBNORMAL)
return policies::raise_denorm_error<T>(function, "Result of tgamma is denormalized.", result, pol);
return result;
}
@@ -366,7 +373,7 @@
BOOST_MATH_INSTRUMENT_CODE(prefix);
if((floor(z) == z) && (z < max_factorial<T>::value))
{
- prefix *= unchecked_factorial<T>(tools::real_cast<unsigned>(z) - 1);
+ prefix *= unchecked_factorial<T>(itrunc(z, pol) - 1);
}
else
{
@@ -580,7 +587,7 @@
// This error handling isn't very good: it happens after the fact
// rather than before it...
//
- if((boost::math::fpclassify)(prefix) == FP_INFINITE)
+ if((boost::math::fpclassify)(prefix) == (int)FP_INFINITE)
policies::raise_overflow_error<T>("boost::math::detail::full_igamma_prefix<%1%>(%1%, %1%)", "Result of incomplete gamma function is too large to represent.", pol);
return prefix;
@@ -1091,7 +1098,7 @@
//
if((z <= max_factorial<T>::value) && (z + delta <= max_factorial<T>::value))
{
- return unchecked_factorial<T>(tools::real_cast<unsigned>(z) - 1) / unchecked_factorial<T>(tools::real_cast<unsigned>(z + delta) - 1);
+ return unchecked_factorial<T>((unsigned)itrunc(z, pol) - 1) / unchecked_factorial<T>((unsigned)itrunc(z + delta) - 1);
}
}
if(fabs(delta) < 20)
@@ -1469,3 +1476,4 @@
+
Modified: branches/CMake/release/boost/math/special_functions/hermite.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/hermite.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/hermite.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -7,6 +7,10 @@
#ifndef BOOST_MATH_SPECIAL_HERMITE_HPP
#define BOOST_MATH_SPECIAL_HERMITE_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/math_fwd.hpp>
#include <boost/math/tools/config.hpp>
#include <boost/math/policies/error_handling.hpp>
@@ -69,3 +73,4 @@
#endif // BOOST_MATH_SPECIAL_HERMITE_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/hypot.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/hypot.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/hypot.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_HYPOT_INCLUDED
#define BOOST_MATH_HYPOT_INCLUDED
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/config.hpp>
#include <boost/math/tools/precision.hpp>
#include <boost/math/policies/error_handling.hpp>
@@ -79,3 +83,4 @@
#endif // BOOST_MATH_HYPOT_INCLUDED
+
Modified: branches/CMake/release/boost/math/special_functions/laguerre.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/laguerre.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/laguerre.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -7,6 +7,10 @@
#ifndef BOOST_MATH_SPECIAL_LAGUERRE_HPP
#define BOOST_MATH_SPECIAL_LAGUERRE_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/math_fwd.hpp>
#include <boost/math/tools/config.hpp>
#include <boost/math/policies/error_handling.hpp>
@@ -132,3 +136,4 @@
#endif // BOOST_MATH_SPECIAL_LAGUERRE_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/lanczos.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/lanczos.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/lanczos.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_SPECIAL_FUNCTIONS_LANCZOS
#define BOOST_MATH_SPECIAL_FUNCTIONS_LANCZOS
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/config.hpp>
#include <boost/mpl/if.hpp>
#include <boost/limits.hpp>
@@ -1225,7 +1229,12 @@
} // namespace math
} // namespace boost
+#if (defined(_M_IX86_FP) && (_M_IX86_FP >= 2)) || defined(__SSE2__)
+#include <boost/math/special_functions/detail/lanczos_sse2.hpp>
+#endif
+
#endif // BOOST_MATH_SPECIAL_FUNCTIONS_LANCZOS
+
Modified: branches/CMake/release/boost/math/special_functions/legendre.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/legendre.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/legendre.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -7,6 +7,10 @@
#ifndef BOOST_MATH_SPECIAL_LEGENDRE_HPP
#define BOOST_MATH_SPECIAL_LEGENDRE_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/math_fwd.hpp>
#include <boost/math/special_functions/factorials.hpp>
#include <boost/math/tools/config.hpp>
@@ -187,3 +191,4 @@
#endif // BOOST_MATH_SPECIAL_LEGENDRE_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/log1p.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/log1p.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/log1p.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,11 +6,16 @@
#ifndef BOOST_MATH_LOG1P_INCLUDED
#define BOOST_MATH_LOG1P_INCLUDED
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <cmath>
#include <math.h> // platform's ::log1p
#include <boost/limits.hpp>
#include <boost/math/tools/config.hpp>
#include <boost/math/tools/series.hpp>
+#include <boost/math/tools/rational.hpp>
#include <boost/math/policies/error_handling.hpp>
#include <boost/math/special_functions/math_fwd.hpp>
@@ -55,8 +60,6 @@
log1p_series& operator=(const log1p_series&);
};
-} // namespace detail
-
// Algorithm log1p is part of C99, but is not yet provided by many compilers.
//
// This version uses a Taylor series expansion for 0.5 > x > epsilon, which may
@@ -67,9 +70,8 @@
// it performs no better than log(1+x): which is to say not very well at all.
//
template <class T, class Policy>
-typename tools::promote_args<T>::type log1p(T x, const Policy& pol)
+T log1p_imp(T const & x, const Policy& pol, const mpl::int_<0>&)
{ // The function returns the natural logarithm of 1 + x.
- // A domain error occurs if x < -1. TODO should there be a check?
typedef typename tools::promote_args<T>::type result_type;
BOOST_MATH_STD_USING
using std::abs;
@@ -102,6 +104,192 @@
return result;
}
+template <class T, class Policy>
+T log1p_imp(T const& x, const Policy& pol, const mpl::int_<53>&)
+{ // The function returns the natural logarithm of 1 + x.
+ BOOST_MATH_STD_USING
+
+ static const char* function = "boost::math::log1p<%1%>(%1%)";
+
+ if(x < -1)
+ return policies::raise_domain_error<T>(
+ function, "log1p(x) requires x > -1, but got x = %1%.", x, pol);
+ if(x == -1)
+ return -policies::raise_overflow_error<T>(
+ function, 0, pol);
+
+ T a = fabs(x);
+ if(a > 0.5f)
+ return log(1 + x);
+ // Note that without numeric_limits specialisation support,
+ // epsilon just returns zero, and our "optimisation" will always fail:
+ if(a < tools::epsilon<T>())
+ return x;
+
+ // Maximum Deviation Found: 1.846e-017
+ // Expected Error Term: 1.843e-017
+ // Maximum Relative Change in Control Points: 8.138e-004
+ // Max Error found at double precision = 3.250766e-016
+ static const T P[] = {
+ 0.15141069795941984e-16L,
+ 0.35495104378055055e-15L,
+ 0.33333333333332835L,
+ 0.99249063543365859L,
+ 1.1143969784156509L,
+ 0.58052937949269651L,
+ 0.13703234928513215L,
+ 0.011294864812099712L
+ };
+ static const T Q[] = {
+ 1L,
+ 3.7274719063011499L,
+ 5.5387948649720334L,
+ 4.159201143419005L,
+ 1.6423855110312755L,
+ 0.31706251443180914L,
+ 0.022665554431410243L,
+ -0.29252538135177773e-5L
+ };
+
+ T result = 1 - x / 2 + tools::evaluate_polynomial(P, x) / tools::evaluate_polynomial(Q, x);
+ result *= x;
+
+ return result;
+}
+
+template <class T, class Policy>
+T log1p_imp(T const& x, const Policy& pol, const mpl::int_<64>&)
+{ // The function returns the natural logarithm of 1 + x.
+ BOOST_MATH_STD_USING
+
+ static const char* function = "boost::math::log1p<%1%>(%1%)";
+
+ if(x < -1)
+ return policies::raise_domain_error<T>(
+ function, "log1p(x) requires x > -1, but got x = %1%.", x, pol);
+ if(x == -1)
+ return -policies::raise_overflow_error<T>(
+ function, 0, pol);
+
+ T a = fabs(x);
+ if(a > 0.5f)
+ return log(1 + x);
+ // Note that without numeric_limits specialisation support,
+ // epsilon just returns zero, and our "optimisation" will always fail:
+ if(a < tools::epsilon<T>())
+ return x;
+
+ // Maximum Deviation Found: 8.089e-20
+ // Expected Error Term: 8.088e-20
+ // Maximum Relative Change in Control Points: 9.648e-05
+ // Max Error found at long double precision = 2.242324e-19
+ static const T P[] = {
+ -0.807533446680736736712e-19L,
+ -0.490881544804798926426e-18L,
+ 0.333333333333333373941L,
+ 1.17141290782087994162L,
+ 1.62790522814926264694L,
+ 1.13156411870766876113L,
+ 0.408087379932853785336L,
+ 0.0706537026422828914622L,
+ 0.00441709903782239229447L
+ };
+ static const T Q[] = {
+ 1L,
+ 4.26423872346263928361L,
+ 7.48189472704477708962L,
+ 6.94757016732904280913L,
+ 3.6493508622280767304L,
+ 1.06884863623790638317L,
+ 0.158292216998514145947L,
+ 0.00885295524069924328658L,
+ -0.560026216133415663808e-6L
+ };
+
+ T result = 1 - x / 2 + tools::evaluate_polynomial(P, x) / tools::evaluate_polynomial(Q, x);
+ result *= x;
+
+ return result;
+}
+
+template <class T, class Policy>
+T log1p_imp(T const& x, const Policy& pol, const mpl::int_<24>&)
+{ // The function returns the natural logarithm of 1 + x.
+ BOOST_MATH_STD_USING
+
+ static const char* function = "boost::math::log1p<%1%>(%1%)";
+
+ if(x < -1)
+ return policies::raise_domain_error<T>(
+ function, "log1p(x) requires x > -1, but got x = %1%.", x, pol);
+ if(x == -1)
+ return -policies::raise_overflow_error<T>(
+ function, 0, pol);
+
+ T a = fabs(x);
+ if(a > 0.5f)
+ return log(1 + x);
+ // Note that without numeric_limits specialisation support,
+ // epsilon just returns zero, and our "optimisation" will always fail:
+ if(a < tools::epsilon<T>())
+ return x;
+
+ // Maximum Deviation Found: 6.910e-08
+ // Expected Error Term: 6.910e-08
+ // Maximum Relative Change in Control Points: 2.509e-04
+ // Max Error found at double precision = 6.910422e-08
+ // Max Error found at float precision = 8.357242e-08
+ static const T P[] = {
+ -0.671192866803148236519e-7L,
+ 0.119670999140731844725e-6L,
+ 0.333339469182083148598L,
+ 0.237827183019664122066L
+ };
+ static const T Q[] = {
+ 1L,
+ 1.46348272586988539733L,
+ 0.497859871350117338894L,
+ -0.00471666268910169651936L
+ };
+
+ T result = 1 - x / 2 + tools::evaluate_polynomial(P, x) / tools::evaluate_polynomial(Q, x);
+ result *= x;
+
+ return result;
+}
+
+} // namespace detail
+
+template <class T, class Policy>
+inline typename tools::promote_args<T>::type log1p(T x, const Policy&)
+{
+ typedef typename tools::promote_args<T>::type result_type;
+ typedef typename policies::evaluation<result_type, Policy>::type value_type;
+ typedef typename policies::precision<result_type, Policy>::type precision_type;
+ typedef typename policies::normalise<
+ Policy,
+ policies::promote_float<false>,
+ policies::promote_double<false>,
+ policies::discrete_quantile<>,
+ policies::assert_undefined<> >::type forwarding_policy;
+
+ typedef typename mpl::if_<
+ mpl::less_equal<precision_type, mpl::int_<0> >,
+ mpl::int_<0>,
+ typename mpl::if_<
+ mpl::less_equal<precision_type, mpl::int_<53> >,
+ mpl::int_<53>, // double
+ typename mpl::if_<
+ mpl::less_equal<precision_type, mpl::int_<64> >,
+ mpl::int_<64>, // 80-bit long double
+ mpl::int_<0> // too many bits, use generic version.
+ >::type
+ >::type
+ >::type tag_type;
+ return policies::checked_narrowing_cast<result_type, forwarding_policy>(
+ detail::log1p_imp(static_cast<value_type>(x), forwarding_policy(), tag_type()), "boost::math::log1p<%1%>(%1%)");
+}
+
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
// These overloads work around a type deduction bug:
inline float log1p(float z)
@@ -275,3 +463,4 @@
#endif // BOOST_MATH_LOG1P_INCLUDED
+
Modified: branches/CMake/release/boost/math/special_functions/math_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/math_fwd.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/math_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,6 +19,11 @@
#ifndef BOOST_MATH_SPECIAL_MATH_FWD_HPP
#define BOOST_MATH_SPECIAL_MATH_FWD_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
+#include <boost/math/special_functions/detail/round_fwd.hpp>
#include <boost/math/tools/promotion.hpp> // for argument promotion.
#include <boost/math/policies/policy.hpp>
#include <boost/mpl/comparison.hpp>
@@ -311,8 +316,23 @@
template <class T1, class T2, class Policy>
typename tools::promote_args<T1, T2>::type ellint_1(T1 k, T2 phi, const Policy& pol);
+ namespace detail{
+
+ template <class T, class U, class V>
+ struct ellint_3_result
+ {
+ typedef typename mpl::if_<
+ policies::is_policy<V>,
+ typename tools::promote_args<T, U>::type,
+ typename tools::promote_args<T, U, V>::type
+ >::type type;
+ };
+
+ } // namespace detail
+
+
template <class T1, class T2, class T3>
- typename tools::promote_args<T1, T2, T3>::type ellint_3(T1 k, T2 v, T3 phi);
+ typename detail::ellint_3_result<T1, T2, T3>::type ellint_3(T1 k, T2 v, T3 phi);
template <class T1, class T2, class T3, class Policy>
typename tools::promote_args<T1, T2, T3>::type ellint_3(T1 k, T2 v, T3 phi, const Policy& pol);
@@ -621,10 +641,85 @@
template <class T>
bool isnormal BOOST_NO_MACRO_EXPAND(T t);
+ // Exponential integrals:
+ namespace detail{
+
+ template <class T, class U>
+ struct expint_result
+ {
+ typedef typename mpl::if_<
+ policies::is_policy<U>,
+ typename tools::promote_args<T>::type,
+ typename tools::promote_args<U>::type
+ >::type type;
+ };
+
+ } // namespace detail
+
+ template <class T, class Policy>
+ typename tools::promote_args<T>::type expint(unsigned n, T z, const Policy&);
+
+ template <class T, class U>
+ typename detail::expint_result<T, U>::type expint(T const z, U const u);
+
+ template <class T>
+ typename tools::promote_args<T>::type expint(T z);
+
+ // Zeta:
+ template <class T, class Policy>
+ typename tools::promote_args<T>::type zeta(T s, const Policy&);
+
+ template <class T>
+ typename tools::promote_args<T>::type zeta(T s);
+
+ // pow:
+ template <int N, typename T, class Policy>
+ typename tools::promote_args<T>::type pow(T base, const Policy& policy);
+
+ template <int N, typename T>
+ typename tools::promote_args<T>::type pow(T base);
+
+ // next:
+ template <class T, class Policy>
+ T nextafter(const T&, const T&, const Policy&);
+ template <class T>
+ T nextafter(const T&, const T&);
+ template <class T, class Policy>
+ T float_next(const T&, const Policy&);
+ template <class T>
+ T float_next(const T&);
+ template <class T, class Policy>
+ T float_prior(const T&, const Policy&);
+ template <class T>
+ T float_prior(const T&);
+ template <class T, class Policy>
+ T float_distance(const T&, const T&, const Policy&);
+ template <class T>
+ T float_distance(const T&, const T&);
+
} // namespace math
} // namespace boost
+#ifdef BOOST_HAS_LONG_LONG
+#define BOOST_MATH_DETAIL_LL_FUNC(Policy)\
+ \
+ template <class T>\
+ inline T modf(const T& v, boost::long_long_type* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\
+ \
+ template <class T>\
+ inline boost::long_long_type lltrunc(const T& v){ using boost::math::lltrunc; return lltrunc(v, Policy()); }\
+ \
+ template <class T>\
+ inline boost::long_long_type llround(const T& v){ using boost::math::llround; return llround(v, Policy()); }\
+
+#else
+#define BOOST_MATH_DETAIL_LL_FUNC(Policy)
+#endif
+
#define BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS(Policy)\
+ \
+ BOOST_MATH_DETAIL_LL_FUNC(Policy)\
+ \
template <class RT1, class RT2>\
inline typename boost::math::tools::promote_args<RT1, RT2>::type \
beta(RT1 a, RT2 b) { return ::boost::math::beta(a, b, Policy()); }\
@@ -907,6 +1002,53 @@
using boost::math::isfinite;\
using boost::math::isinf;\
using boost::math::isnan;\
- using boost::math::isnormal;
+ using boost::math::isnormal;\
+ \
+ template <class T, class U>\
+ inline typename boost::math::tools::promote_args<T,U>::type expint(T const& z, U const& u)\
+ { return boost::math::expint(z, u, Policy()); }\
+ \
+ template <class T>\
+ inline typename boost::math::tools::promote_args<T>::type expint(T z){ return boost::math::expint(z, Policy()); }\
+ \
+ template <class T>\
+ inline typename boost::math::tools::promote_args<T>::type zeta(T s){ return boost::math::zeta(s, Policy()); }\
+ \
+ template <class T>\
+ inline T round(const T& v){ using boost::math::round; return round(v, Policy()); }\
+ \
+ template <class T>\
+ inline int iround(const T& v){ using boost::math::iround; return iround(v, Policy()); }\
+ \
+ template <class T>\
+ inline long lround(const T& v){ using boost::math::lround; return lround(v, Policy()); }\
+ \
+ template <class T>\
+ inline T trunc(const T& v){ using boost::math::trunc; return trunc(v, Policy()); }\
+ \
+ template <class T>\
+ inline int itrunc(const T& v){ using boost::math::itrunc; return itrunc(v, Policy()); }\
+ \
+ template <class T>\
+ inline long ltrunc(const T& v){ using boost::math::ltrunc; return ltrunc(v, Policy()); }\
+ \
+ template <class T>\
+ inline T modf(const T& v, T* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\
+ \
+ template <class T>\
+ inline T modf(const T& v, int* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\
+ \
+ template <class T>\
+ inline T modf(const T& v, long* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\
+ \
+ template <int N, class T>\
+ inline typename boost::math::tools::promote_args<T>::type pow(T v){ return boost::math::pow<N>(v, Policy()); }\
+ \
+ template <class T> T nextafter(const T& a, const T& b){ return boost::math::nextafter(a, b, Policy()); }\
+ template <class T> T float_next(const T& a){ return boost::math::float_next(a, Policy()); }\
+ template <class T> T float_prior(const T& a){ return boost::math::float_prior(a, Policy()); }\
+ template <class T> T float_distance(const T& a, const T& b){ return boost::math::float_distance(a, b, Policy()); }\
#endif // BOOST_MATH_SPECIAL_MATH_FWD_HPP
+
+
Modified: branches/CMake/release/boost/math/special_functions/powm1.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/powm1.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/powm1.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_POWM1
#define BOOST_MATH_POWM1
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/log1p.hpp>
#include <boost/math/special_functions/expm1.hpp>
#include <boost/math/special_functions/math_fwd.hpp>
@@ -54,3 +58,4 @@
+
Modified: branches/CMake/release/boost/math/special_functions/sign.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/sign.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/sign.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_TOOLS_SIGN_HPP
#define BOOST_MATH_TOOLS_SIGN_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/config.hpp>
#include <boost/math/special_functions/math_fwd.hpp>
@@ -36,3 +40,4 @@
#endif // BOOST_MATH_TOOLS_SIGN_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/sin_pi.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/sin_pi.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/sin_pi.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,18 +6,24 @@
#ifndef BOOST_MATH_SIN_PI_HPP
#define BOOST_MATH_SIN_PI_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <cmath>
#include <boost/math/tools/config.hpp>
-#include <boost/math/tools/real_cast.hpp>
+#include <boost/math/special_functions/trunc.hpp>
#include <boost/math/tools/promotion.hpp>
#include <boost/math/constants/constants.hpp>
namespace boost{ namespace math{ namespace detail{
-template <class T>
-T sin_pi_imp(T x)
+template <class T, class Policy>
+T sin_pi_imp(T x, const Policy& pol)
{
BOOST_MATH_STD_USING // ADL of std names
+ if(x < 0)
+ return -sin_pi(-x);
// sin of pi*x:
bool invert;
if(x < 0.5)
@@ -31,7 +37,7 @@
invert = false;
T rem = floor(x);
- if(tools::real_cast<int>(rem) & 1)
+ if(itrunc(rem, pol) & 1)
invert = !invert;
rem = x - rem;
if(rem > 0.5f)
@@ -43,22 +49,22 @@
return invert ? -rem : rem;
}
-}
+} // namespace detail
template <class T, class Policy>
-inline typename tools::promote_args<T>::type sin_pi(T x, const Policy&)
+inline typename tools::promote_args<T>::type sin_pi(T x, const Policy& pol)
{
typedef typename tools::promote_args<T>::type result_type;
- return boost::math::detail::sin_pi_imp<result_type>(x);
+ return boost::math::detail::sin_pi_imp<result_type>(x, pol);
}
template <class T>
inline typename tools::promote_args<T>::type sin_pi(T x)
{
- typedef typename tools::promote_args<T>::type result_type;
- return boost::math::detail::sin_pi_imp<result_type>(x);
+ return boost::math::sin_pi(x, policies::policy<>());
}
} // namespace math
} // namespace boost
#endif
+
Modified: branches/CMake/release/boost/math/special_functions/sinc.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/sinc.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/sinc.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -11,6 +11,10 @@
#define BOOST_SINC_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/config.hpp>
#include <boost/math/tools/precision.hpp>
#include <boost/math/policies/policy.hpp>
@@ -170,3 +174,4 @@
}
#endif /* BOOST_SINC_HPP */
+
Modified: branches/CMake/release/boost/math/special_functions/sinhc.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/sinhc.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/sinhc.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -11,6 +11,10 @@
#define BOOST_SINHC_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/config.hpp>
#include <boost/math/tools/precision.hpp>
#include <boost/math/special_functions/math_fwd.hpp>
@@ -161,3 +165,4 @@
}
#endif /* BOOST_SINHC_HPP */
+
Modified: branches/CMake/release/boost/math/special_functions/spherical_harmonic.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/spherical_harmonic.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/spherical_harmonic.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -7,6 +7,10 @@
#ifndef BOOST_MATH_SPECIAL_SPHERICAL_HARMONIC_HPP
#define BOOST_MATH_SPECIAL_SPHERICAL_HARMONIC_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/legendre.hpp>
#include <boost/math/tools/workaround.hpp>
#include <complex>
@@ -197,3 +201,4 @@
#endif // BOOST_MATH_SPECIAL_SPHERICAL_HARMONIC_HPP
+
Modified: branches/CMake/release/boost/math/special_functions/sqrt1pm1.hpp
==============================================================================
--- branches/CMake/release/boost/math/special_functions/sqrt1pm1.hpp (original)
+++ branches/CMake/release/boost/math/special_functions/sqrt1pm1.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_SQRT1PM1
#define BOOST_MATH_SQRT1PM1
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/special_functions/log1p.hpp>
#include <boost/math/special_functions/expm1.hpp>
#include <boost/math/special_functions/math_fwd.hpp>
@@ -41,3 +45,4 @@
+
Modified: branches/CMake/release/boost/math/tools/config.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/config.hpp (original)
+++ branches/CMake/release/boost/math/tools/config.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_TOOLS_CONFIG_HPP
#define BOOST_MATH_TOOLS_CONFIG_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/cstdint.hpp> // for boost::uintmax_t
#include <boost/config.hpp>
#include <boost/detail/workaround.hpp>
@@ -17,6 +21,7 @@
#endif
#include <boost/math/tools/user.hpp>
+#include <boost/math/special_functions/detail/round_fwd.hpp>
#if defined(__CYGWIN__) || defined(__FreeBSD__) || defined(__hppa)
# define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
@@ -55,6 +60,11 @@
# define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
#endif
+#if defined(BOOST_MSVC) && !defined(_WIN32_WCE)
+ // Better safe than sorry, our tests don't support hardware exceptions:
+# define BOOST_MATH_CONTROL_FP _control87(MCW_EM,MCW_EM)
+#endif
+
#ifdef __IBMCPP__
# define BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS
#endif
@@ -180,7 +190,14 @@
using std::ceil;\
using std::floor;\
using std::log10;\
- using std::sqrt;
+ using std::sqrt;\
+ using boost::math::round;\
+ using boost::math::iround;\
+ using boost::math::lround;\
+ using boost::math::trunc;\
+ using boost::math::itrunc;\
+ using boost::math::ltrunc;\
+ using boost::math::modf;
namespace boost{ namespace math{
@@ -244,3 +261,5 @@
+
+
Modified: branches/CMake/release/boost/math/tools/fraction.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/fraction.hpp (original)
+++ branches/CMake/release/boost/math/tools/fraction.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_TOOLS_FRACTION_INCLUDED
#define BOOST_MATH_TOOLS_FRACTION_INCLUDED
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <cmath>
#include <boost/cstdint.hpp>
#include <boost/type_traits/integral_constant.hpp>
@@ -257,3 +261,4 @@
} // namespace boost
#endif // BOOST_MATH_TOOLS_FRACTION_INCLUDED
+
Modified: branches/CMake/release/boost/math/tools/minima.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/minima.hpp (original)
+++ branches/CMake/release/boost/math/tools/minima.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -7,6 +7,10 @@
#ifndef BOOST_MATH_TOOLS_MINIMA_HPP
#define BOOST_MATH_TOOLS_MINIMA_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <utility>
#include <cmath>
#include <boost/math/tools/precision.hpp>
@@ -145,3 +149,4 @@
+
Modified: branches/CMake/release/boost/math/tools/polynomial.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/polynomial.hpp (original)
+++ branches/CMake/release/boost/math/tools/polynomial.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,15 +6,99 @@
#ifndef BOOST_MATH_TOOLS_POLYNOMIAL_HPP
#define BOOST_MATH_TOOLS_POLYNOMIAL_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/assert.hpp>
#include <boost/math/tools/rational.hpp>
#include <boost/math/tools/real_cast.hpp>
+#include <boost/math/special_functions/binomial.hpp>
#include <vector>
+#include <ostream>
+#include <algorithm>
namespace boost{ namespace math{ namespace tools{
template <class T>
+T chebyshev_coefficient(unsigned n, unsigned m)
+{
+ BOOST_MATH_STD_USING
+ if(m > n)
+ return 0;
+ if((n & 1) != (m & 1))
+ return 0;
+ if(n == 0)
+ return 1;
+ T result = T(n) / 2;
+ unsigned r = n - m;
+ r /= 2;
+
+ BOOST_ASSERT(n - 2 * r == m);
+
+ if(r & 1)
+ result = -result;
+ result /= n - r;
+ result *= boost::math::binomial_coefficient<T>(n - r, r);
+ result *= ldexp(1.0f, m);
+ return result;
+}
+
+template <class Seq>
+Seq polynomial_to_chebyshev(const Seq& s)
+{
+ // Converts a Polynomial into Chebyshev form:
+ typedef typename Seq::value_type value_type;
+ typedef typename Seq::difference_type difference_type;
+ Seq result(s);
+ difference_type order = s.size() - 1;
+ difference_type even_order = order & 1 ? order - 1 : order;
+ difference_type odd_order = order & 1 ? order : order - 1;
+
+ for(difference_type i = even_order; i >= 0; i -= 2)
+ {
+ value_type val = s[i];
+ for(difference_type k = even_order; k > i; k -= 2)
+ {
+ val -= result[k] * chebyshev_coefficient<value_type>(static_cast<unsigned>(k), static_cast<unsigned>(i));
+ }
+ val /= chebyshev_coefficient<value_type>(static_cast<unsigned>(i), static_cast<unsigned>(i));
+ result[i] = val;
+ }
+ result[0] *= 2;
+
+ for(difference_type i = odd_order; i >= 0; i -= 2)
+ {
+ value_type val = s[i];
+ for(difference_type k = odd_order; k > i; k -= 2)
+ {
+ val -= result[k] * chebyshev_coefficient<value_type>(static_cast<unsigned>(k), static_cast<unsigned>(i));
+ }
+ val /= chebyshev_coefficient<value_type>(static_cast<unsigned>(i), static_cast<unsigned>(i));
+ result[i] = val;
+ }
+ return result;
+}
+
+template <class Seq, class T>
+T evaluate_chebyshev(const Seq& a, const T& x)
+{
+ // Clenshaw's formula:
+ typedef typename Seq::difference_type difference_type;
+ T yk2 = 0;
+ T yk1 = 0;
+ T yk = 0;
+ for(difference_type i = a.size() - 1; i >= 1; --i)
+ {
+ yk2 = yk1;
+ yk1 = yk;
+ yk = 2 * x * yk1 - yk2 + a[i];
+ }
+ return a[0] / 2 + yk * x - yk1;
+}
+
+template <class T>
class polynomial
{
public:
@@ -63,6 +147,10 @@
{
return boost::math::tools::evaluate_polynomial(&m_data[0], z, m_data.size());;
}
+ std::vector<T> chebyshev()const
+ {
+ return polynomial_to_chebyshev(m_data);
+ }
// operators:
template <class U>
@@ -232,3 +320,4 @@
#endif // BOOST_MATH_TOOLS_POLYNOMIAL_HPP
+
Modified: branches/CMake/release/boost/math/tools/precision.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/precision.hpp (original)
+++ branches/CMake/release/boost/math/tools/precision.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_TOOLS_PRECISION_INCLUDED
#define BOOST_MATH_TOOLS_PRECISION_INCLUDED
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/limits.hpp>
#include <boost/assert.hpp>
#include <boost/static_assert.hpp>
@@ -233,3 +237,4 @@
} // namespace boost
#endif // BOOST_MATH_TOOLS_PRECISION_INCLUDED
+
Modified: branches/CMake/release/boost/math/tools/promotion.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/promotion.hpp (original)
+++ branches/CMake/release/boost/math/tools/promotion.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -18,6 +18,10 @@
#ifndef BOOST_MATH_PROMOTION_HPP
#define BOOST_MATH_PROMOTION_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
// Boost type traits:
#include <boost/math/tools/config.hpp>
#include <boost/type_traits/is_floating_point.hpp> // for boost::is_floating_point;
@@ -118,3 +122,4 @@
} // namespace boost
#endif // BOOST_MATH_PROMOTION_HPP
+
Modified: branches/CMake/release/boost/math/tools/rational.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/rational.hpp (original)
+++ branches/CMake/release/boost/math/tools/rational.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_TOOLS_RATIONAL_HPP
#define BOOST_MATH_TOOLS_RATIONAL_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/array.hpp>
#include <boost/math/tools/config.hpp>
#include <boost/mpl/int.hpp>
@@ -204,3 +208,4 @@
+
Modified: branches/CMake/release/boost/math/tools/real_cast.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/real_cast.hpp (original)
+++ branches/CMake/release/boost/math/tools/real_cast.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_TOOLS_REAL_CAST_HPP
#define BOOST_MATH_TOOLS_REAL_CAST_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
namespace boost{ namespace math
{
namespace tools
@@ -22,3 +26,4 @@
#endif // BOOST_MATH_TOOLS_REAL_CAST_HPP
+
Modified: branches/CMake/release/boost/math/tools/remez.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/remez.hpp (original)
+++ branches/CMake/release/boost/math/tools/remez.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_TOOLS_REMEZ_HPP
#define BOOST_MATH_TOOLS_REMEZ_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/solve.hpp>
#include <boost/math/tools/minima.hpp>
#include <boost/math/tools/roots.hpp>
@@ -660,3 +664,4 @@
#endif // BOOST_MATH_TOOLS_REMEZ_HPP
+
Modified: branches/CMake/release/boost/math/tools/roots.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/roots.hpp (original)
+++ branches/CMake/release/boost/math/tools/roots.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,10 +6,15 @@
#ifndef BOOST_MATH_TOOLS_NEWTON_SOLVER_HPP
#define BOOST_MATH_TOOLS_NEWTON_SOLVER_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <utility>
#include <cmath>
#include <stdexcept>
+#include <boost/tr1/tuple.hpp>
#include <boost/math/tools/config.hpp>
#include <boost/cstdint.hpp>
#include <boost/assert.hpp>
@@ -520,3 +525,4 @@
#endif // BOOST_MATH_TOOLS_NEWTON_SOLVER_HPP
+
Modified: branches/CMake/release/boost/math/tools/series.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/series.hpp (original)
+++ branches/CMake/release/boost/math/tools/series.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_TOOLS_SERIES_INCLUDED
#define BOOST_MATH_TOOLS_SERIES_INCLUDED
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <cmath>
#include <boost/cstdint.hpp>
#include <boost/math/tools/config.hpp>
@@ -169,3 +173,4 @@
} // namespace boost
#endif // BOOST_MATH_TOOLS_SERIES_INCLUDED
+
Modified: branches/CMake/release/boost/math/tools/solve.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/solve.hpp (original)
+++ branches/CMake/release/boost/math/tools/solve.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_TOOLS_SOLVE_HPP
#define BOOST_MATH_TOOLS_SOLVE_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/config.hpp>
#include <boost/assert.hpp>
@@ -72,3 +76,4 @@
#endif // BOOST_MATH_TOOLS_SOLVE_HPP
+
Modified: branches/CMake/release/boost/math/tools/stats.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/stats.hpp (original)
+++ branches/CMake/release/boost/math/tools/stats.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_TOOLS_STATS_INCLUDED
#define BOOST_MATH_TOOLS_STATS_INCLUDED
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <cmath>
#include <boost/cstdint.hpp>
#include <boost/math/tools/precision.hpp>
@@ -81,3 +85,4 @@
} // namespace boost
#endif
+
Modified: branches/CMake/release/boost/math/tools/test.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/test.hpp (original)
+++ branches/CMake/release/boost/math/tools/test.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_TOOLS_TEST_HPP
#define BOOST_MATH_TOOLS_TEST_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/config.hpp>
#include <boost/math/tools/stats.hpp>
#include <boost/math/special_functions/fpclassify.hpp>
@@ -240,3 +244,4 @@
#endif
+
Modified: branches/CMake/release/boost/math/tools/test_data.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/test_data.hpp (original)
+++ branches/CMake/release/boost/math/tools/test_data.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_TOOLS_TEST_DATA_HPP
#define BOOST_MATH_TOOLS_TEST_DATA_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/config.hpp>
#include <boost/assert.hpp>
#ifdef BOOST_MSVC
@@ -27,6 +31,7 @@
#include <set>
#include <vector>
+#include <iostream>
#ifdef BOOST_MSVC
# pragma warning(push)
@@ -753,3 +758,4 @@
#endif // BOOST_MATH_TOOLS_TEST_DATA_HPP
+
Modified: branches/CMake/release/boost/math/tools/toms748_solve.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/toms748_solve.hpp (original)
+++ branches/CMake/release/boost/math/tools/toms748_solve.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_TOOLS_SOLVE_ROOT_HPP
#define BOOST_MATH_TOOLS_SOLVE_ROOT_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/precision.hpp>
#include <boost/math/policies/error_handling.hpp>
#include <boost/math/tools/config.hpp>
@@ -92,11 +96,11 @@
}
else if(c <= a + fabs(a) * tol)
{
- c = a * (1 + tol);
+ c = a + fabs(a) * tol;
}
else if(c >= b - fabs(b) * tol)
{
- c = b * (1 - tol);
+ c = b - fabs(a) * tol;
}
//
// OK, lets invoke f(c):
@@ -505,7 +509,7 @@
if((max_iter - count) % 20 == 0)
factor *= 2;
//
- // Now go ahead and move are guess by "factor":
+ // Now go ahead and move our guess by "factor":
//
a = b;
fa = fb;
@@ -577,3 +581,4 @@
#endif // BOOST_MATH_TOOLS_SOLVE_ROOT_HPP
+
Modified: branches/CMake/release/boost/math/tools/traits.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/traits.hpp (original)
+++ branches/CMake/release/boost/math/tools/traits.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -21,6 +21,10 @@
#ifndef BOOST_STATS_IS_DISTRIBUTION_HPP
#define BOOST_STATS_IS_DISTRIBUTION_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/mpl/has_xxx.hpp>
// should be the last #include
#include <boost/type_traits/detail/bool_trait_def.hpp>
@@ -104,3 +108,4 @@
#endif
+
Modified: branches/CMake/release/boost/math/tools/user.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/user.hpp (original)
+++ branches/CMake/release/boost/math/tools/user.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,6 +9,10 @@
#ifndef BOOST_MATH_TOOLS_USER_HPP
#define BOOST_MATH_TOOLS_USER_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
// This file can be modified by the user to change the default policies.
// See "Changing the Policy Defaults" in documentation.
@@ -90,3 +94,4 @@
#endif // BOOST_MATH_TOOLS_USER_HPP
+
Modified: branches/CMake/release/boost/math/tools/workaround.hpp
==============================================================================
--- branches/CMake/release/boost/math/tools/workaround.hpp (original)
+++ branches/CMake/release/boost/math/tools/workaround.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,10 @@
#ifndef BOOST_MATH_TOOLS_WORHAROUND_HPP
#define BOOST_MATH_TOOLS_WORHAROUND_HPP
+#ifdef _MSC_VER
+#pragma once
+#endif
+
#include <boost/math/tools/config.hpp>
namespace boost{ namespace math{ namespace tools{
@@ -31,3 +35,4 @@
}}} // namespaces
#endif // BOOST_MATH_TOOLS_WORHAROUND_HPP
+
Modified: branches/CMake/release/boost/parameter/aux_/cast.hpp
==============================================================================
--- branches/CMake/release/boost/parameter/aux_/cast.hpp (original)
+++ branches/CMake/release/boost/parameter/aux_/cast.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -5,6 +5,8 @@
#ifndef BOOST_PARAMETER_CAST_060902_HPP
# define BOOST_PARAMETER_CAST_060902_HPP
+# include <boost/detail/workaround.hpp>
+
# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
&& !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
# include <boost/type_traits/add_reference.hpp>
Modified: branches/CMake/release/boost/parameter/aux_/default.hpp
==============================================================================
--- branches/CMake/release/boost/parameter/aux_/default.hpp (original)
+++ branches/CMake/release/boost/parameter/aux_/default.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -4,7 +4,9 @@
// http://www.boost.org/LICENSE_1_0.txt)
#ifndef DEFAULT_050329_HPP
-#define DEFAULT_050329_HPP
+# define DEFAULT_050329_HPP
+
+# include <boost/detail/workaround.hpp>
namespace boost { namespace parameter { namespace aux {
@@ -27,7 +29,7 @@
// the user when resolving the value of the parameter with the
// given keyword
//
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 300)
+# if BOOST_WORKAROUND(__EDG_VERSION__, <= 300)
// These compilers need a little extra help with overload
// resolution; we have empty_arg_list's operator[] accept a base
// class to make that overload less preferable.
@@ -48,8 +50,8 @@
: lazy_default_base<KW,DefaultComputer>(x)
{}
};
-# define BOOST_PARAMETER_lazy_default_fallback lazy_default_base
-#else
+# define BOOST_PARAMETER_lazy_default_fallback lazy_default_base
+# else
template <class KW, class DefaultComputer>
struct lazy_default
{
@@ -58,8 +60,8 @@
{}
DefaultComputer const& compute_default;
};
-# define BOOST_PARAMETER_lazy_default_fallback lazy_default
-#endif
+# define BOOST_PARAMETER_lazy_default_fallback lazy_default
+# endif
}}} // namespace boost::parameter::aux
Modified: branches/CMake/release/boost/parameter/aux_/python/invoker.hpp
==============================================================================
--- branches/CMake/release/boost/parameter/aux_/python/invoker.hpp (original)
+++ branches/CMake/release/boost/parameter/aux_/python/invoker.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -8,6 +8,7 @@
# include <boost/mpl/begin.hpp>
# include <boost/mpl/next.hpp>
# include <boost/mpl/deref.hpp>
+# include <boost/mpl/size.hpp>
# include <boost/parameter/keyword.hpp>
# include <boost/preprocessor/iteration/iterate.hpp>
Modified: branches/CMake/release/boost/parameter/aux_/set.hpp
==============================================================================
--- branches/CMake/release/boost/parameter/aux_/set.hpp (original)
+++ branches/CMake/release/boost/parameter/aux_/set.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -5,6 +5,8 @@
#ifndef BOOST_PARAMETER_SET_060912_HPP
# define BOOST_PARAMETER_SET_060912_HPP
+# include <boost/detail/workaround.hpp>
+
# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) \
&& !BOOST_WORKAROUND(__GNUC__, < 3)
# include <boost/mpl/insert.hpp>
Modified: branches/CMake/release/boost/parameter/aux_/tagged_argument.hpp
==============================================================================
--- branches/CMake/release/boost/parameter/aux_/tagged_argument.hpp (original)
+++ branches/CMake/release/boost/parameter/aux_/tagged_argument.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -14,6 +14,7 @@
# include <boost/mpl/and.hpp>
# include <boost/mpl/not.hpp>
# include <boost/type_traits/is_same.hpp>
+# include <boost/type_traits/is_convertible.hpp>
# include <boost/type_traits/is_reference.hpp>
namespace boost { namespace parameter { namespace aux {
Modified: branches/CMake/release/boost/parameter/macros.hpp
==============================================================================
--- branches/CMake/release/boost/parameter/macros.hpp (original)
+++ branches/CMake/release/boost/parameter/macros.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -15,6 +15,7 @@
#include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/repetition/enum_binary_params.hpp>
#include <boost/preprocessor/cat.hpp>
+#include <boost/detail/workaround.hpp>
#define BOOST_PARAMETER_FUN_TEMPLATE_HEAD1(n) \
template<BOOST_PP_ENUM_PARAMS(n, class T)>
Modified: branches/CMake/release/boost/parameter/preprocessor.hpp
==============================================================================
--- branches/CMake/release/boost/parameter/preprocessor.hpp (original)
+++ branches/CMake/release/boost/parameter/preprocessor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -149,7 +149,8 @@
, typename Parameters::deduced_list
, tag_keyword_arg
, mpl::false_
- >::type type;
+ >::type result;
+ typedef typename mpl::first<result>::type type;
};
# if 1 //BOOST_WORKAROUND(BOOST_MSVC, < 1300)
Modified: branches/CMake/release/boost/pointer_cast.hpp
==============================================================================
--- branches/CMake/release/boost/pointer_cast.hpp (original)
+++ branches/CMake/release/boost/pointer_cast.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,6 +1,6 @@
//////////////////////////////////////////////////////////////////////////////
//
-// (C) Copyright Ion Gaztañaga 2005.
+// (C) Copyright Ion Gaztanaga 2005.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/CMake/release/boost/pointer_to_other.hpp
==============================================================================
--- branches/CMake/release/boost/pointer_to_other.hpp (original)
+++ branches/CMake/release/boost/pointer_to_other.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -4,7 +4,7 @@
//
// pointer_to_other.hpp
//
-// (C) Copyright Ion Gaztañaga 2005.
+// (C) Copyright Ion Gaztanaga 2005.
// Copyright (c) 2005 Peter Dimov.
//
// Distributed under the Boost Software License, Version 1.0.
Modified: branches/CMake/release/boost/program_options/detail/utf8_codecvt_facet.hpp
==============================================================================
--- branches/CMake/release/boost/program_options/detail/utf8_codecvt_facet.hpp (original)
+++ branches/CMake/release/boost/program_options/detail/utf8_codecvt_facet.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,4 +1,4 @@
-// Copyright © 2001 Ronald Garcia, Indiana University (garcia_at_[hidden])
+// Copyright (c) 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"
Modified: branches/CMake/release/boost/progress.hpp
==============================================================================
--- branches/CMake/release/boost/progress.hpp (original)
+++ branches/CMake/release/boost/progress.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -51,7 +51,7 @@
std::istream::fmtflags old_flags = m_os.setf( std::istream::fixed,
std::istream::floatfield );
std::streamsize old_prec = m_os.precision( 2 );
- m_os << elapsed() << " s\n" // "s" is System International d'Unités std
+ m_os << elapsed() << " s\n" // "s" is System International d'Unites std
<< std::endl;
m_os.flags( old_flags );
m_os.precision( old_prec );
Modified: branches/CMake/release/boost/python/iterator.hpp
==============================================================================
--- branches/CMake/release/boost/python/iterator.hpp (original)
+++ branches/CMake/release/boost/python/iterator.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -14,6 +14,16 @@
# include <boost/type_traits/cv_traits.hpp>
# include <boost/type_traits/transform_traits.hpp>
+# if defined(BOOST_MSVC) && (BOOST_MSVC == 1400) /*
+> warning C4180: qualifier applied to function type has no meaning; ignored
+Peter Dimov wrote:
+This warning is caused by an overload resolution bug in VC8 that cannot be
+worked around and will probably not be fixed by MS in the VC8 line. The
+problematic overload is only instantiated and never called, and the code
+works correctly. */
+# pragma warning(disable: 4180)
+# endif
+
# include <boost/bind.hpp>
# include <boost/bind/protect.hpp>
Modified: branches/CMake/release/boost/python/object_attributes.hpp
==============================================================================
--- branches/CMake/release/boost/python/object_attributes.hpp (original)
+++ branches/CMake/release/boost/python/object_attributes.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -17,6 +17,7 @@
{
typedef char const* key_type;
static object get(object const& target, char const* key);
+ static object get(object const& target, object const& key);
};
struct attribute_policies : const_attribute_policies
@@ -25,6 +26,18 @@
static void del(object const&target, char const* key);
};
+struct const_objattribute_policies
+{
+ typedef object const key_type;
+ static object get(object const& target, object const& key);
+};
+
+struct objattribute_policies : const_objattribute_policies
+{
+ static object const& set(object const& target, object const& key, object const& value);
+ static void del(object const&target, object const& key);
+};
+
//
// implementation
//
@@ -42,11 +55,30 @@
return const_object_attribute(x, name);
}
+template <class U>
+inline object_objattribute object_operators<U>::attr(object const& name)
+{
+ object_cref2 x = *static_cast<U*>(this);
+ return object_objattribute(x, name);
+}
+
+template <class U>
+inline const_object_objattribute object_operators<U>::attr(object const& name) const
+{
+ object_cref2 x = *static_cast<U const*>(this);
+ return const_object_objattribute(x, name);
+}
+
inline object const_attribute_policies::get(object const& target, char const* key)
{
return python::getattr(target, key);
}
+inline object const_objattribute_policies::get(object const& target, object const& key)
+{
+ return python::getattr(target, key);
+}
+
inline object const& attribute_policies::set(
object const& target
, char const* key
@@ -56,6 +88,15 @@
return value;
}
+inline object const& objattribute_policies::set(
+ object const& target
+ , object const& key
+ , object const& value)
+{
+ python::setattr(target, key, value);
+ return value;
+}
+
inline void attribute_policies::del(
object const& target
, char const* key)
@@ -63,6 +104,13 @@
python::delattr(target, key);
}
+inline void objattribute_policies::del(
+ object const& target
+ , object const& key)
+{
+ python::delattr(target, key);
+}
+
}}} // namespace boost::python::api
#endif // OBJECT_ATTRIBUTES_DWA2002615_HPP
Modified: branches/CMake/release/boost/python/object_core.hpp
==============================================================================
--- branches/CMake/release/boost/python/object_core.hpp (original)
+++ branches/CMake/release/boost/python/object_core.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -59,6 +59,8 @@
struct const_attribute_policies;
struct attribute_policies;
+ struct const_objattribute_policies;
+ struct objattribute_policies;
struct const_item_policies;
struct item_policies;
struct const_slice_policies;
@@ -67,6 +69,8 @@
typedef proxy<const_attribute_policies> const_object_attribute;
typedef proxy<attribute_policies> object_attribute;
+ typedef proxy<const_objattribute_policies> const_object_objattribute;
+ typedef proxy<objattribute_policies> object_objattribute;
typedef proxy<const_item_policies> const_object_item;
typedef proxy<item_policies> object_item;
typedef proxy<const_slice_policies> const_object_slice;
@@ -108,6 +112,8 @@
//
const_object_attribute attr(char const*) const;
object_attribute attr(char const*);
+ const_object_objattribute attr(object const&) const;
+ object_objattribute attr(object const&);
// item access
//
Modified: branches/CMake/release/boost/python/suite/indexing/container_utils.hpp
==============================================================================
--- branches/CMake/release/boost/python/suite/indexing/container_utils.hpp (original)
+++ branches/CMake/release/boost/python/suite/indexing/container_utils.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -7,9 +7,12 @@
#ifndef PY_CONTAINER_UTILS_JDG20038_HPP
# define PY_CONTAINER_UTILS_JDG20038_HPP
+# include <utility>
+# include <boost/foreach.hpp>
# include <boost/python/object.hpp>
# include <boost/python/handle.hpp>
# include <boost/python/extract.hpp>
+# include <boost/python/stl_iterator.hpp>
namespace boost { namespace python { namespace container_utils {
@@ -19,11 +22,13 @@
{
typedef typename Container::value_type data_type;
- // l must be a list or some container
-
- for (int i = 0; i < l.attr("__len__")(); i++)
+ // l must be iterable
+ BOOST_FOREACH(object elem,
+ std::make_pair(
+ boost::python::stl_input_iterator<object>(l),
+ boost::python::stl_input_iterator<object>()
+ ))
{
- object elem(l[i]);
extract<data_type const&> x(elem);
// try if elem is an exact data_type type
if (x.check())
Modified: branches/CMake/release/boost/python/type_id.hpp
==============================================================================
--- branches/CMake/release/boost/python/type_id.hpp (original)
+++ branches/CMake/release/boost/python/type_id.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -11,6 +11,7 @@
# include <boost/operators.hpp>
# include <typeinfo>
# include <cstring>
+# include <ostream>
# include <boost/static_assert.hpp>
# include <boost/detail/workaround.hpp>
# include <boost/type_traits/same_traits.hpp>
Modified: branches/CMake/release/boost/python/with_custodian_and_ward.hpp
==============================================================================
--- branches/CMake/release/boost/python/with_custodian_and_ward.hpp (original)
+++ branches/CMake/release/boost/python/with_custodian_and_ward.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -68,8 +68,9 @@
bool result = BasePolicy_::precall(args_);
- if (!result)
+ if (!result) {
Py_DECREF(life_support);
+ }
return result;
}
Modified: branches/CMake/release/boost/random/detail/signed_unsigned_tools.hpp
==============================================================================
--- branches/CMake/release/boost/random/detail/signed_unsigned_tools.hpp (original)
+++ branches/CMake/release/boost/random/detail/signed_unsigned_tools.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -13,87 +13,12 @@
#include <boost/limits.hpp>
#include <boost/config.hpp>
+#include <boost/type_traits/make_unsigned.hpp>
namespace boost {
namespace random {
namespace detail {
-/*
- * Given an (integral) type T, returns the type "unsigned T".
- * (type_traits appears to be lacking the feature)
- */
-
-template<class T>
-struct make_unsigned { };
-
-template<>
-struct make_unsigned<char>
-{
- typedef unsigned char type;
-};
-
-template<>
-struct make_unsigned<signed char>
-{
- typedef unsigned char type;
-};
-
-template<>
-struct make_unsigned<unsigned char>
-{
- typedef unsigned char type;
-};
-
-template<>
-struct make_unsigned<short>
-{
- typedef unsigned short type;
-};
-
-template<>
-struct make_unsigned<unsigned short>
-{
- typedef unsigned short type;
-};
-
-template<>
-struct make_unsigned<int>
-{
- typedef unsigned int type;
-};
-
-template<>
-struct make_unsigned<unsigned int>
-{
- typedef unsigned int type;
-};
-
-template<>
-struct make_unsigned<long>
-{
- typedef unsigned long type;
-};
-
-template<>
-struct make_unsigned<unsigned long>
-{
- typedef unsigned long type;
-};
-
-#ifdef BOOST_HAS_LONG_LONG
-template<>
-struct make_unsigned<long long>
-{
- typedef unsigned long long type;
-};
-
-template<>
-struct make_unsigned<unsigned long long>
-{
- typedef unsigned long long type;
-};
-#endif
-
/*
* Compute x - y, we know that x >= y, return an unsigned value.
Modified: branches/CMake/release/boost/random/uniform_int.hpp
==============================================================================
--- branches/CMake/release/boost/random/uniform_int.hpp (original)
+++ branches/CMake/release/boost/random/uniform_int.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -25,6 +25,7 @@
#include <boost/detail/workaround.hpp>
#include <boost/random/uniform_smallint.hpp>
#include <boost/random/detail/signed_unsigned_tools.hpp>
+#include <boost/type_traits/make_unsigned.hpp>
#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
#include <boost/type_traits/is_float.hpp>
#endif
@@ -38,7 +39,7 @@
public:
typedef IntType input_type;
typedef IntType result_type;
- typedef typename random::detail::make_unsigned<result_type>::type range_type;
+ typedef typename make_unsigned<result_type>::type range_type;
explicit uniform_int(IntType min_arg = 0, IntType max_arg = 9)
: _min(min_arg), _max(max_arg)
@@ -61,7 +62,7 @@
{
typedef typename Engine::result_type base_result;
// ranges are always unsigned
- typedef typename random::detail::make_unsigned<base_result>::type base_unsigned;
+ typedef typename make_unsigned<base_result>::type base_unsigned;
const base_result bmin = (eng.min)();
const base_unsigned brange =
random::detail::subtract<base_result>()((eng.max)(), (eng.min)());
Modified: branches/CMake/release/boost/random/uniform_real.hpp
==============================================================================
--- branches/CMake/release/boost/random/uniform_real.hpp (original)
+++ branches/CMake/release/boost/random/uniform_real.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -40,7 +40,7 @@
#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
BOOST_STATIC_ASSERT(!std::numeric_limits<RealType>::is_integer);
#endif
- assert(min_arg < max_arg);
+ assert(min_arg <= max_arg);
}
// compiler-generated copy ctor and assignment operator are fine
Modified: branches/CMake/release/boost/random/uniform_smallint.hpp
==============================================================================
--- branches/CMake/release/boost/random/uniform_smallint.hpp (original)
+++ branches/CMake/release/boost/random/uniform_smallint.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -81,7 +81,7 @@
{
_min = min_arg;
_max = max_arg;
- assert(min_arg < max_arg);
+ assert(min_arg <= max_arg);
_range = static_cast<base_result>(_max-_min)+1;
_factor = 1;
@@ -122,7 +122,7 @@
BOOST_STATIC_ASSERT(!std::numeric_limits<typename base_type::result_type>::is_integer);
#endif
- assert(min_arg < max_arg);
+ assert(min_arg <= max_arg);
set(min_arg, max_arg);
}
Modified: branches/CMake/release/boost/regex/concepts.hpp
==============================================================================
--- branches/CMake/release/boost/regex/concepts.hpp (original)
+++ branches/CMake/release/boost/regex/concepts.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -368,8 +368,6 @@
// access:
const Regex ce;
- bool b = ce.empty();
- ignore_unused_variable_warning(b);
unsigned i = ce.mark_count();
ignore_unused_variable_warning(i);
m_flags = ce.flags();
@@ -385,7 +383,7 @@
typedef typename sub_match_type::iterator sub_iter_type;
BOOST_STATIC_ASSERT((::boost::is_same<sub_value_type, value_type>::value));
BOOST_STATIC_ASSERT((::boost::is_same<sub_iter_type, BidiIterator>::value));
- b = m_sub.matched;
+ bool b = m_sub.matched;
ignore_unused_variable_warning(b);
BidiIterator bi = m_sub.first;
ignore_unused_variable_warning(bi);
@@ -806,6 +804,8 @@
ignore_unused_variable_warning(i2);
bool b = ce == ce2;
ignore_unused_variable_warning(b);
+ b = ce.empty();
+ ignore_unused_variable_warning(b);
b = ce != ce2;
ignore_unused_variable_warning(b);
b = ce < ce2;
Modified: branches/CMake/release/boost/regex/pending/object_cache.hpp
==============================================================================
--- branches/CMake/release/boost/regex/pending/object_cache.hpp (original)
+++ branches/CMake/release/boost/regex/pending/object_cache.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -119,7 +119,7 @@
//
// Add it to the list, and index it:
//
- s_data.cont.push_back(value_type(result, 0));
+ s_data.cont.push_back(value_type(result, static_cast<Key const*>(0)));
s_data.index.insert(std::make_pair(k, --(s_data.cont.end())));
s_data.cont.back().second = &(s_data.index.find(k)->first);
map_size_type s = s_data.index.size();
Modified: branches/CMake/release/boost/regex/pending/unicode_iterator.hpp
==============================================================================
--- branches/CMake/release/boost/regex/pending/unicode_iterator.hpp (original)
+++ branches/CMake/release/boost/regex/pending/unicode_iterator.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -68,6 +68,7 @@
#include <stdexcept>
#ifndef BOOST_NO_STD_LOCALE
#include <sstream>
+#include <ios>
#endif
#include <limits.h> // CHAR_BIT
Modified: branches/CMake/release/boost/regex/v4/basic_regex_creator.hpp
==============================================================================
--- branches/CMake/release/boost/regex/v4/basic_regex_creator.hpp (original)
+++ branches/CMake/release/boost/regex/v4/basic_regex_creator.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1270,6 +1270,19 @@
state = state->next.p;
continue;
}
+ if((static_cast<re_brace*>(state)->index == -1)
+ || (static_cast<re_brace*>(state)->index == -2))
+ {
+ // skip past the zero width assertion:
+ state = static_cast<const re_jump*>(state->next.p)->alt.p->next.p;
+ continue;
+ }
+ if(static_cast<re_brace*>(state)->index == -3)
+ {
+ // Have to skip the leading jump state:
+ state = state->next.p->next.p;
+ continue;
+ }
return;
case syntax_element_endmark:
case syntax_element_start_line:
Modified: branches/CMake/release/boost/regex/v4/cpp_regex_traits.hpp
==============================================================================
--- branches/CMake/release/boost/regex/v4/cpp_regex_traits.hpp (original)
+++ branches/CMake/release/boost/regex/v4/cpp_regex_traits.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -293,7 +293,9 @@
//
if((int)cat >= 0)
{
+#ifndef BOOST_NO_EXCEPTIONS
try{
+#endif
for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i)
{
string_type mss = this->m_pmessages->get(cat, 0, i, get_default_message(i));
@@ -303,12 +305,14 @@
}
}
this->m_pmessages->close(cat);
+#ifndef BOOST_NO_EXCEPTIONS
}
catch(...)
{
this->m_pmessages->close(cat);
throw;
}
+#endif
}
else
{
@@ -1055,3 +1059,4 @@
#endif
+
Modified: branches/CMake/release/boost/regex/v4/instances.hpp
==============================================================================
--- branches/CMake/release/boost/regex/v4/instances.hpp (original)
+++ branches/CMake/release/boost/regex/v4/instances.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -71,32 +71,39 @@
# ifdef __GNUC__
# define template __extension__ extern template
# else
+# if BOOST_MSVC > 1310
+# define BOOST_REGEX_TEMPLATE_DECL
+# endif
# define template extern template
# endif
# endif
+#ifndef BOOST_REGEX_TEMPLATE_DECL
+# define BOOST_REGEX_TEMPLATE_DECL BOOST_REGEX_DECL
+#endif
+
# ifdef BOOST_MSVC
# pragma warning(push)
# pragma warning(disable : 4251 4231 4660)
# endif
-template class BOOST_REGEX_DECL basic_regex< BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >;
+template class BOOST_REGEX_TEMPLATE_DECL basic_regex< BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >;
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-template class BOOST_REGEX_DECL match_results< const BOOST_REGEX_CHAR_T* >;
+template class BOOST_REGEX_TEMPLATE_DECL match_results< const BOOST_REGEX_CHAR_T* >;
#endif
#ifndef BOOST_NO_STD_ALLOCATOR
-template class BOOST_REGEX_DECL ::boost::re_detail::perl_matcher<BOOST_REGEX_CHAR_T const *, match_results< const BOOST_REGEX_CHAR_T* >::allocator_type BOOST_REGEX_TRAITS_T >;
+template class BOOST_REGEX_TEMPLATE_DECL ::boost::re_detail::perl_matcher<BOOST_REGEX_CHAR_T const *, match_results< const BOOST_REGEX_CHAR_T* >::allocator_type BOOST_REGEX_TRAITS_T >;
#endif
#if !(defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB <= 1))\
&& !(defined(BOOST_INTEL_CXX_VERSION) && (BOOST_INTEL_CXX_VERSION <= 800))\
&& !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))\
&& !defined(BOOST_REGEX_ICU_INSTANCES)
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-template class BOOST_REGEX_DECL match_results< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator >;
+template class BOOST_REGEX_TEMPLATE_DECL match_results< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator >;
#endif
#ifndef BOOST_NO_STD_ALLOCATOR
-template class BOOST_REGEX_DECL ::boost::re_detail::perl_matcher< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator, match_results< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator >::allocator_type, boost::regex_traits<BOOST_REGEX_CHAR_T > >;
+template class BOOST_REGEX_TEMPLATE_DECL ::boost::re_detail::perl_matcher< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator, match_results< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator >::allocator_type, boost::regex_traits<BOOST_REGEX_CHAR_T > >;
#endif
#endif
@@ -109,6 +116,8 @@
# undef template
# endif
+#undef BOOST_REGEX_TEMPLATE_DECL
+
#elif (defined(__GNUC__) && (__GNUC__ >= 3))
# ifndef BOOST_REGEX_INSTANTIATE
Modified: branches/CMake/release/boost/regex/v4/perl_matcher_common.hpp
==============================================================================
--- branches/CMake/release/boost/regex/v4/perl_matcher_common.hpp (original)
+++ branches/CMake/release/boost/regex/v4/perl_matcher_common.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -535,7 +535,7 @@
if(position == last)
return false;
// both prev and this character must be m_word_mask:
- if(traits_inst.isctype(*position, m_word_mask))
+ bool prev = traits_inst.isctype(*position, m_word_mask);
{
bool b;
if((position == backstop) && ((m_match_flags & match_prev_avail) == 0))
@@ -546,7 +546,7 @@
b = traits_inst.isctype(*position, m_word_mask);
++position;
}
- if(b)
+ if(b == prev)
{
pstate = pstate->next.p;
return true;
Modified: branches/CMake/release/boost/regex/v4/perl_matcher_non_recursive.hpp
==============================================================================
--- branches/CMake/release/boost/regex/v4/perl_matcher_non_recursive.hpp (original)
+++ branches/CMake/release/boost/regex/v4/perl_matcher_non_recursive.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1193,6 +1193,9 @@
pstate = rep->next.p;
}while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip));
}
+ // remember where we got to if this is a leading repeat:
+ if((rep->leading) && (count < rep->max))
+ restart = position;
if(position == last)
{
// can't repeat any more, remove the pushed state:
@@ -1259,6 +1262,9 @@
pstate = rep->next.p;
}while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip));
}
+ // remember where we got to if this is a leading repeat:
+ if((rep->leading) && (count < rep->max))
+ restart = position;
if(position == last)
{
// can't repeat any more, remove the pushed state:
@@ -1326,6 +1332,9 @@
pstate = rep->next.p;
}while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip));
}
+ // remember where we got to if this is a leading repeat:
+ if((rep->leading) && (count < rep->max))
+ restart = position;
if(position == last)
{
// can't repeat any more, remove the pushed state:
Modified: branches/CMake/release/boost/scoped_array.hpp
==============================================================================
--- branches/CMake/release/boost/scoped_array.hpp (original)
+++ branches/CMake/release/boost/scoped_array.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -46,6 +46,9 @@
typedef scoped_array<T> this_type;
+ void operator==( scoped_array const& ) const;
+ void operator!=( scoped_array const& ) const;
+
public:
typedef T element_type;
Modified: branches/CMake/release/boost/scoped_ptr.hpp
==============================================================================
--- branches/CMake/release/boost/scoped_ptr.hpp (original)
+++ branches/CMake/release/boost/scoped_ptr.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -47,6 +47,9 @@
typedef scoped_ptr<T> this_type;
+ void operator==( scoped_ptr const& ) const;
+ void operator!=( scoped_ptr const& ) const;
+
public:
typedef T element_type;
Modified: branches/CMake/release/boost/serialization/export.hpp
==============================================================================
--- branches/CMake/release/boost/serialization/export.hpp (original)
+++ branches/CMake/release/boost/serialization/export.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -104,18 +104,24 @@
ptr_serialization_support<Archive,Serializable>::instantiate()
{
export_impl<Archive,Serializable>::enable_save(
- BOOST_DEDUCED_TYPENAME Archive::is_saving()
+ #if ! defined(__BORLANDC__)
+ BOOST_DEDUCED_TYPENAME
+ #endif
+ Archive::is_saving()
);
export_impl<Archive,Serializable>::enable_load(
- BOOST_DEDUCED_TYPENAME Archive::is_loading()
+ #if ! defined(__BORLANDC__)
+ BOOST_DEDUCED_TYPENAME
+ #endif
+ Archive::is_loading()
);
}
template<class T>
struct guid_initializer
{
- const guid_initializer & export_guid(char const* key, mpl::false_){
+ const guid_initializer & export_guid(char const* /* key */, mpl::false_){
// generates the statically-initialized objects whose constructors
// register the information allowing serialization of T objects
// through pointers to their base classes.
Modified: branches/CMake/release/boost/shared_ptr.hpp
==============================================================================
--- branches/CMake/release/boost/shared_ptr.hpp (original)
+++ branches/CMake/release/boost/shared_ptr.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -5,7 +5,7 @@
// shared_ptr.hpp
//
// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-// Copyright (c) 2001-2007 Peter Dimov
+// Copyright (c) 2001-2008 Peter Dimov
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
@@ -20,18 +20,35 @@
#include <boost/detail/shared_ptr_nmt.hpp>
#else
-#include <memory> // for std::auto_ptr
+// In order to avoid circular dependencies with Boost.TR1
+// we make sure that our include of <memory> doesn't try to
+// pull in the TR1 headers: that's why we use this header
+// rather than including <memory> directly:
+#include <boost/config/no_tr1/memory.hpp> // std::auto_ptr
#include <boost/assert.hpp>
#include <boost/checked_delete.hpp>
#include <boost/throw_exception.hpp>
#include <boost/detail/shared_count.hpp>
#include <boost/detail/workaround.hpp>
+#include <boost/detail/sp_convertible.hpp>
+
+#if !defined(BOOST_SP_NO_ATOMIC_ACCESS)
+#include <boost/detail/spinlock_pool.hpp>
+#include <boost/memory_order.hpp>
+#endif
#include <algorithm> // for std::swap
#include <functional> // for std::less
#include <typeinfo> // for std::bad_cast
+
+#if !defined(BOOST_NO_IOSTREAM)
+#if !defined(BOOST_NO_IOSFWD)
#include <iosfwd> // for std::basic_ostream
+#else
+#include <ostream>
+#endif
+#endif
#ifdef BOOST_MSVC // moved here to work around VC++ compiler crash
# pragma warning(push)
@@ -208,7 +225,25 @@
}
template<class Y>
- shared_ptr(shared_ptr<Y> const & r): px(r.px), pn(r.pn) // never throws
+ shared_ptr( weak_ptr<Y> const & r, boost::detail::sp_nothrow_tag ): px( 0 ), pn( r.pn, boost::detail::sp_nothrow_tag() ) // never throws
+ {
+ if( !pn.empty() )
+ {
+ px = r.px;
+ }
+ }
+
+ template<class Y>
+#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
+
+ shared_ptr( shared_ptr<Y> const & r, typename detail::sp_enable_if_convertible<Y,T>::type = detail::sp_empty() )
+
+#else
+
+ shared_ptr( shared_ptr<Y> const & r )
+
+#endif
+ : px( r.px ), pn( r.pn ) // never throws
{
}
@@ -317,7 +352,16 @@
}
template<class Y>
- shared_ptr( shared_ptr<Y> && r ): px( r.px ), pn() // never throws
+#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
+
+ shared_ptr( shared_ptr<Y> && r, typename detail::sp_enable_if_convertible<Y,T>::type = detail::sp_empty() )
+
+#else
+
+ shared_ptr( shared_ptr<Y> && r )
+
+#endif
+ : px( r.px ), pn() // never throws
{
pn.swap( r.pn );
r.px = 0;
@@ -375,7 +419,7 @@
BOOST_ASSERT(px != 0);
return px;
}
-
+
T * get() const // never throws
{
return px;
@@ -409,13 +453,13 @@
( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) )
typedef T * (this_type::*unspecified_bool_type)() const;
-
+
operator unspecified_bool_type() const // never throws
{
return px == 0? 0: &this_type::get;
}
-#else
+#else
typedef T * this_type::*unspecified_bool_type;
@@ -459,6 +503,11 @@
return pn.get_deleter( ti );
}
+ bool _internal_equiv( shared_ptr const & r ) const
+ {
+ return px == r.px && pn == r.pn;
+ }
+
// Tasteless as this may seem, making all members public allows member templates
// to work in the absence of member template friends. (Matthew Langston)
@@ -555,7 +604,9 @@
// operator<<
-#if defined(__GNUC__) && (__GNUC__ < 3)
+#if !defined(BOOST_NO_IOSTREAM)
+
+#if defined(BOOST_NO_TEMPLATED_IOSTREAMS) || ( defined(__GNUC__) && (__GNUC__ < 3) )
template<class Y> std::ostream & operator<< (std::ostream & os, shared_ptr<Y> const & p)
{
@@ -574,7 +625,7 @@
template<class E, class T, class Y> basic_ostream<E, T> & operator<< (basic_ostream<E, T> & os, shared_ptr<Y> const & p)
# else
template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, shared_ptr<Y> const & p)
-# endif
+# endif
{
os << p.get();
return os;
@@ -584,6 +635,8 @@
#endif // __GNUC__ < 3
+#endif // !defined(BOOST_NO_IOSTREAM)
+
// get_deleter
#if ( defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3) ) || \
@@ -608,11 +661,90 @@
#endif
+// atomic access
+
+#if !defined(BOOST_SP_NO_ATOMIC_ACCESS)
+
+template<class T> inline bool atomic_is_lock_free( shared_ptr<T> const * /*p*/ )
+{
+ return false;
+}
+
+template<class T> shared_ptr<T> atomic_load( shared_ptr<T> const * p )
+{
+ boost::detail::spinlock_pool<2>::scoped_lock lock( p );
+ return *p;
+}
+
+template<class T> inline shared_ptr<T> atomic_load_explicit( shared_ptr<T> const * p, memory_order /*mo*/ )
+{
+ return atomic_load( p );
+}
+
+template<class T> void atomic_store( shared_ptr<T> * p, shared_ptr<T> r )
+{
+ boost::detail::spinlock_pool<2>::scoped_lock lock( p );
+ p->swap( r );
+}
+
+template<class T> inline void atomic_store_explicit( shared_ptr<T> * p, shared_ptr<T> r, memory_order /*mo*/ )
+{
+ atomic_store( p, r ); // std::move( r )
+}
+
+template<class T> shared_ptr<T> atomic_exchange( shared_ptr<T> * p, shared_ptr<T> r )
+{
+ boost::detail::spinlock & sp = boost::detail::spinlock_pool<2>::spinlock_for( p );
+
+ sp.lock();
+ p->swap( r );
+ sp.unlock();
+
+ return r; // return std::move( r )
+}
+
+template<class T> shared_ptr<T> atomic_exchange_explicit( shared_ptr<T> * p, shared_ptr<T> r, memory_order /*mo*/ )
+{
+ return atomic_exchange( p, r ); // std::move( r )
+}
+
+template<class T> bool atomic_compare_exchange( shared_ptr<T> * p, shared_ptr<T> * v, shared_ptr<T> w )
+{
+ boost::detail::spinlock & sp = boost::detail::spinlock_pool<2>::spinlock_for( p );
+
+ sp.lock();
+
+ if( p->_internal_equiv( *v ) )
+ {
+ p->swap( w );
+
+ sp.unlock();
+
+ return true;
+ }
+ else
+ {
+ shared_ptr<T> tmp( *p );
+
+ sp.unlock();
+
+ tmp.swap( *v );
+ return false;
+ }
+}
+
+template<class T> inline bool atomic_compare_exchange_explicit( shared_ptr<T> * p, shared_ptr<T> * v, shared_ptr<T> w, memory_order /*success*/, memory_order /*failure*/ )
+{
+ return atomic_compare_exchange( p, v, w ); // std::move( w )
+}
+
+#endif
+
} // namespace boost
#ifdef BOOST_MSVC
# pragma warning(pop)
-#endif
+#endif
#endif // #if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
Modified: branches/CMake/release/boost/spirit/actor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor.hpp (original)
+++ branches/CMake/release/boost/spirit/actor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_ACTOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_ACTOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_actor.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_actor.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/actor/assign_actor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor/assign_actor.hpp (original)
+++ branches/CMake/release/boost/spirit/actor/assign_actor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_ASSIGN_ACTOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_ASSIGN_ACTOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_assign_actor.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_assign_actor.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/actor/assign_key_actor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor/assign_key_actor.hpp (original)
+++ branches/CMake/release/boost/spirit/actor/assign_key_actor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_ASSIGN_KEY_ACTOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_ASSIGN_KEY_ACTOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_assign_key_actor.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_assign_key_actor.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/actor/clear_actor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor/clear_actor.hpp (original)
+++ branches/CMake/release/boost/spirit/actor/clear_actor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_CLEAR_ACTOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_CLEAR_ACTOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_clear_actor.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_clear_actor.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/actor/decrement_actor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor/decrement_actor.hpp (original)
+++ branches/CMake/release/boost/spirit/actor/decrement_actor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_DECREMENT_ACTOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_DECREMENT_ACTOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_decrement_actor.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_decrement_actor.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/actor/erase_actor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor/erase_actor.hpp (original)
+++ branches/CMake/release/boost/spirit/actor/erase_actor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_ERASE_ACTOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_ERASE_ACTOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_erase_actor.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_erase_actor.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/actor/increment_actor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor/increment_actor.hpp (original)
+++ branches/CMake/release/boost/spirit/actor/increment_actor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_INCREMENT_ACTOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_INCREMENT_ACTOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_increment_actor.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_increment_actor.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/actor/insert_at_actor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor/insert_at_actor.hpp (original)
+++ branches/CMake/release/boost/spirit/actor/insert_at_actor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_INSERT_AT_ACTOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_INSERT_AT_ACTOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_insert_at_actor.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_insert_at_actor.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/actor/insert_key_actor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor/insert_key_actor.hpp (original)
+++ branches/CMake/release/boost/spirit/actor/insert_key_actor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_INSERT_KEY_ACTOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_INSERT_KEY_ACTOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_insert_key_actor.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_insert_key_actor.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/actor/push_back_actor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor/push_back_actor.hpp (original)
+++ branches/CMake/release/boost/spirit/actor/push_back_actor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_PUSH_BACK_ACTOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_PUSH_BACK_ACTOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_push_back_actor.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_push_back_actor.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/actor/push_front_actor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor/push_front_actor.hpp (original)
+++ branches/CMake/release/boost/spirit/actor/push_front_actor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_PUSH_FRONT_ACTOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_PUSH_FRONT_ACTOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_push_front_actor.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_push_front_actor.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/actor/ref_actor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor/ref_actor.hpp (original)
+++ branches/CMake/release/boost/spirit/actor/ref_actor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_REF_ACTOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_REF_ACTOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_ref_actor.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_ref_actor.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/actor/ref_const_ref_actor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor/ref_const_ref_actor.hpp (original)
+++ branches/CMake/release/boost/spirit/actor/ref_const_ref_actor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_REF_CONST_REF_ACTOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_REF_CONST_REF_ACTOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_ref_const_ref_actor.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_ref_const_ref_actor.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/actor/ref_const_ref_const_ref_a.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor/ref_const_ref_const_ref_a.hpp (original)
+++ branches/CMake/release/boost/spirit/actor/ref_const_ref_const_ref_a.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_REF_CONST_REF_CONST_REF_A
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_REF_CONST_REF_CONST_REF_A
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_ref_const_ref_const_ref_a.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_ref_const_ref_const_ref_a.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/actor/ref_const_ref_value_actor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor/ref_const_ref_value_actor.hpp (original)
+++ branches/CMake/release/boost/spirit/actor/ref_const_ref_value_actor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_REF_CONST_REF_VALUE_ACTOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_REF_CONST_REF_VALUE_ACTOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_ref_const_ref_value_actor.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_ref_const_ref_value_actor.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/actor/ref_value_actor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor/ref_value_actor.hpp (original)
+++ branches/CMake/release/boost/spirit/actor/ref_value_actor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_REF_VALUE_ACTOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_REF_VALUE_ACTOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_ref_value_actor.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_ref_value_actor.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/actor/swap_actor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor/swap_actor.hpp (original)
+++ branches/CMake/release/boost/spirit/actor/swap_actor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SWAP_ACTOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SWAP_ACTOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_swap_actor.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_swap_actor.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/actor/typeof.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/actor/typeof.hpp (original)
+++ branches/CMake/release/boost/spirit/actor/typeof.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/attribute.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/attribute.hpp (original)
+++ branches/CMake/release/boost/spirit/attribute.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_ATTRIBUTE
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_ATTRIBUTE
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_attribute.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_attribute.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/attribute/closure.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/attribute/closure.hpp (original)
+++ branches/CMake/release/boost/spirit/attribute/closure.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_CLOSURE
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_CLOSURE
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_closure.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_closure.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/attribute/closure_context.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/attribute/closure_context.hpp (original)
+++ branches/CMake/release/boost/spirit/attribute/closure_context.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_CLOSURE_CONTEXT
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_CLOSURE_CONTEXT
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_closure_context.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_closure_context.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/attribute/closure_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/attribute/closure_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/attribute/closure_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_CLOSURE_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_CLOSURE_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_closure_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_closure_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/attribute/parametric.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/attribute/parametric.hpp (original)
+++ branches/CMake/release/boost/spirit/attribute/parametric.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_PARAMETRIC
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_PARAMETRIC
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_parametric.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_parametric.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/attribute/typeof.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/attribute/typeof.hpp (original)
+++ branches/CMake/release/boost/spirit/attribute/typeof.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core.hpp (original)
+++ branches/CMake/release/boost/spirit/core.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_CORE
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_CORE
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_core.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_core.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/assert.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/assert.hpp (original)
+++ branches/CMake/release/boost/spirit/core/assert.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_ASSERT
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_ASSERT
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_assert.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_assert.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/composite/actions.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/composite/actions.hpp (original)
+++ branches/CMake/release/boost/spirit/core/composite/actions.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_ACTIONS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_ACTIONS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_actions.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_actions.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/composite/alternative.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/composite/alternative.hpp (original)
+++ branches/CMake/release/boost/spirit/core/composite/alternative.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_ALTERNATIVE
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_ALTERNATIVE
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_alternative.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_alternative.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/composite/composite.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/composite/composite.hpp (original)
+++ branches/CMake/release/boost/spirit/core/composite/composite.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_COMPOSITE
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_COMPOSITE
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_composite.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_composite.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/composite/difference.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/composite/difference.hpp (original)
+++ branches/CMake/release/boost/spirit/core/composite/difference.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_DIFFERENCE
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_DIFFERENCE
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_difference.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_difference.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/composite/directives.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/composite/directives.hpp (original)
+++ branches/CMake/release/boost/spirit/core/composite/directives.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_DIRECTIVES
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_DIRECTIVES
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_directives.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_directives.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/composite/epsilon.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/composite/epsilon.hpp (original)
+++ branches/CMake/release/boost/spirit/core/composite/epsilon.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_EPSILON
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_EPSILON
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_epsilon.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_epsilon.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/composite/exclusive_or.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/composite/exclusive_or.hpp (original)
+++ branches/CMake/release/boost/spirit/core/composite/exclusive_or.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_EXCLUSIVE_OR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_EXCLUSIVE_OR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_exclusive_or.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_exclusive_or.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/composite/intersection.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/composite/intersection.hpp (original)
+++ branches/CMake/release/boost/spirit/core/composite/intersection.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_INTERSECTION
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_INTERSECTION
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_intersection.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_intersection.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/composite/kleene_star.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/composite/kleene_star.hpp (original)
+++ branches/CMake/release/boost/spirit/core/composite/kleene_star.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_KLEENE_STAR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_KLEENE_STAR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_kleene_star.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_kleene_star.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/composite/list.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/composite/list.hpp (original)
+++ branches/CMake/release/boost/spirit/core/composite/list.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_LIST
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_LIST
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_list.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_list.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/composite/no_actions.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/composite/no_actions.hpp (original)
+++ branches/CMake/release/boost/spirit/core/composite/no_actions.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_NO_ACTIONS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_NO_ACTIONS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_no_actions.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_no_actions.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/composite/operators.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/composite/operators.hpp (original)
+++ branches/CMake/release/boost/spirit/core/composite/operators.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_OPERATORS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_OPERATORS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_operators.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_operators.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/composite/optional.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/composite/optional.hpp (original)
+++ branches/CMake/release/boost/spirit/core/composite/optional.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_OPTIONAL
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_OPTIONAL
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_optional.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_optional.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/composite/positive.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/composite/positive.hpp (original)
+++ branches/CMake/release/boost/spirit/core/composite/positive.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_POSITIVE
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_POSITIVE
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_positive.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_positive.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/composite/sequence.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/composite/sequence.hpp (original)
+++ branches/CMake/release/boost/spirit/core/composite/sequence.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SEQUENCE
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SEQUENCE
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_sequence.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_sequence.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/composite/sequential_and.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/composite/sequential_and.hpp (original)
+++ branches/CMake/release/boost/spirit/core/composite/sequential_and.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SEQUENTIAL_AND
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SEQUENTIAL_AND
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_sequential_and.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_sequential_and.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/composite/sequential_or.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/composite/sequential_or.hpp (original)
+++ branches/CMake/release/boost/spirit/core/composite/sequential_or.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SEQUENTIAL_OR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SEQUENTIAL_OR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_sequential_or.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_sequential_or.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/config.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/config.hpp (original)
+++ branches/CMake/release/boost/spirit/core/config.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_CONFIG
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_CONFIG
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_config.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_config.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/match.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/match.hpp (original)
+++ branches/CMake/release/boost/spirit/core/match.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_MATCH
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_MATCH
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_match.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_match.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/nil.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/nil.hpp (original)
+++ branches/CMake/release/boost/spirit/core/nil.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_NIL
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_NIL
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_nil.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_nil.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/non_terminal/grammar.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/non_terminal/grammar.hpp (original)
+++ branches/CMake/release/boost/spirit/core/non_terminal/grammar.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_GRAMMAR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_GRAMMAR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_grammar.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_grammar.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/non_terminal/parser_context.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/non_terminal/parser_context.hpp (original)
+++ branches/CMake/release/boost/spirit/core/non_terminal/parser_context.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_PARSER_CONTEXT
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_PARSER_CONTEXT
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_parser_context.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_parser_context.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/non_terminal/parser_id.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/non_terminal/parser_id.hpp (original)
+++ branches/CMake/release/boost/spirit/core/non_terminal/parser_id.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_PARSER_ID
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_PARSER_ID
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_parser_id.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_parser_id.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/non_terminal/rule.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/non_terminal/rule.hpp (original)
+++ branches/CMake/release/boost/spirit/core/non_terminal/rule.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_RULE
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_RULE
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_rule.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_rule.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/non_terminal/subrule.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/non_terminal/subrule.hpp (original)
+++ branches/CMake/release/boost/spirit/core/non_terminal/subrule.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SUBRULE
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SUBRULE
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_subrule.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_subrule.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/non_terminal/subrule_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/non_terminal/subrule_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/core/non_terminal/subrule_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SUBRULE_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SUBRULE_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_subrule_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_subrule_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/parser.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/parser.hpp (original)
+++ branches/CMake/release/boost/spirit/core/parser.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_PARSER
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_PARSER
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_parser.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_parser.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/primitives/numerics.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/primitives/numerics.hpp (original)
+++ branches/CMake/release/boost/spirit/core/primitives/numerics.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_NUMERICS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_NUMERICS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_numerics.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_numerics.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/primitives/numerics_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/primitives/numerics_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/core/primitives/numerics_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_NUMERICS_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_NUMERICS_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_numerics_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_numerics_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/primitives/primitives.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/primitives/primitives.hpp (original)
+++ branches/CMake/release/boost/spirit/core/primitives/primitives.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_PRIMITIVES
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_PRIMITIVES
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_primitives.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_primitives.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/safe_bool.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/safe_bool.hpp (original)
+++ branches/CMake/release/boost/spirit/core/safe_bool.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SAFE_BOOL
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SAFE_BOOL
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_safe_bool.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_safe_bool.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/scanner/scanner.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/scanner/scanner.hpp (original)
+++ branches/CMake/release/boost/spirit/core/scanner/scanner.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SCANNER
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SCANNER
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_scanner.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_scanner.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/scanner/scanner_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/scanner/scanner_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/core/scanner/scanner_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SCANNER_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SCANNER_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_scanner_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_scanner_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/scanner/skipper.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/scanner/skipper.hpp (original)
+++ branches/CMake/release/boost/spirit/core/scanner/skipper.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SKIPPER
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SKIPPER
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_skipper.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_skipper.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/scanner/skipper_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/scanner/skipper_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/core/scanner/skipper_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SKIPPER_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SKIPPER_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_skipper_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_skipper_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/core/typeof.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/core/typeof.hpp (original)
+++ branches/CMake/release/boost/spirit/core/typeof.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/debug.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/debug.hpp (original)
+++ branches/CMake/release/boost/spirit/debug.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_DEBUG
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_DEBUG
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_debug.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_debug.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/debug/debug_node.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/debug/debug_node.hpp (original)
+++ branches/CMake/release/boost/spirit/debug/debug_node.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_DEBUG_NODE
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_DEBUG_NODE
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_debug_node.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_debug_node.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/debug/minimal.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/debug/minimal.hpp (original)
+++ branches/CMake/release/boost/spirit/debug/minimal.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_MINIMAL
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_MINIMAL
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_minimal.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_minimal.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/debug/parser_names.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/debug/parser_names.hpp (original)
+++ branches/CMake/release/boost/spirit/debug/parser_names.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_PARSER_NAMES
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_PARSER_NAMES
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_parser_names.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_parser_names.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/debug/typeof.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/debug/typeof.hpp (original)
+++ branches/CMake/release/boost/spirit/debug/typeof.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/dynamic.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/dynamic.hpp (original)
+++ branches/CMake/release/boost/spirit/dynamic.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_DYNAMIC
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_DYNAMIC
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_dynamic.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_dynamic.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/dynamic/for.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/dynamic/for.hpp (original)
+++ branches/CMake/release/boost/spirit/dynamic/for.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_FOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_FOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_for.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_for.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/dynamic/if.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/dynamic/if.hpp (original)
+++ branches/CMake/release/boost/spirit/dynamic/if.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_IF
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_IF
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_if.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_if.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/dynamic/lazy.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/dynamic/lazy.hpp (original)
+++ branches/CMake/release/boost/spirit/dynamic/lazy.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_LAZY
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_LAZY
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_lazy.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_lazy.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/dynamic/rule_alias.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/dynamic/rule_alias.hpp (original)
+++ branches/CMake/release/boost/spirit/dynamic/rule_alias.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_RULE_ALIAS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_RULE_ALIAS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_rule_alias.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_rule_alias.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/dynamic/select.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/dynamic/select.hpp (original)
+++ branches/CMake/release/boost/spirit/dynamic/select.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SELECT
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SELECT
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_select.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_select.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/dynamic/stored_rule.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/dynamic/stored_rule.hpp (original)
+++ branches/CMake/release/boost/spirit/dynamic/stored_rule.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_STORED_RULE
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_STORED_RULE
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_stored_rule.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_stored_rule.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/dynamic/stored_rule_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/dynamic/stored_rule_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/dynamic/stored_rule_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_STORED_RULE_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_STORED_RULE_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_stored_rule_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_stored_rule_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/dynamic/switch.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/dynamic/switch.hpp (original)
+++ branches/CMake/release/boost/spirit/dynamic/switch.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SWITCH
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SWITCH
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_switch.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_switch.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/dynamic/typeof.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/dynamic/typeof.hpp (original)
+++ branches/CMake/release/boost/spirit/dynamic/typeof.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/dynamic/while.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/dynamic/while.hpp (original)
+++ branches/CMake/release/boost/spirit/dynamic/while.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_WHILE
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_WHILE
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_while.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_while.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/error_handling.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/error_handling.hpp (original)
+++ branches/CMake/release/boost/spirit/error_handling.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_ERROR_HANDLING
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_ERROR_HANDLING
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_error_handling.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_error_handling.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/error_handling/exceptions.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/error_handling/exceptions.hpp (original)
+++ branches/CMake/release/boost/spirit/error_handling/exceptions.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_EXCEPTIONS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_EXCEPTIONS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_exceptions.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_exceptions.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/error_handling/exceptions_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/error_handling/exceptions_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/error_handling/exceptions_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_EXCEPTIONS_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_EXCEPTIONS_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_exceptions_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_exceptions_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/error_handling/typeof.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/error_handling/typeof.hpp (original)
+++ branches/CMake/release/boost/spirit/error_handling/typeof.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/home/classic/core/non_terminal/impl/static.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/classic/core/non_terminal/impl/static.hpp (original)
+++ branches/CMake/release/boost/spirit/home/classic/core/non_terminal/impl/static.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -42,29 +42,33 @@
struct static_
: boost::noncopyable
{
- typedef T value_type;
- typedef typename boost::call_traits<T>::reference reference;
- typedef typename boost::call_traits<T>::const_reference const_reference;
+ private:
- static_(Tag = Tag())
+ struct destructor
{
- struct destructor
+ ~destructor()
{
- ~destructor()
- {
- static_::get_address()->~value_type();
- }
- };
+ static_::get_address()->~value_type();
+ }
+ };
- struct default_ctor
+ struct default_ctor
+ {
+ static void construct()
{
- static void construct()
- {
- ::new (static_::get_address()) value_type();
- static destructor d;
- }
- };
+ ::new (static_::get_address()) value_type();
+ static destructor d;
+ }
+ };
+
+ public:
+ typedef T value_type;
+ typedef typename boost::call_traits<T>::reference reference;
+ typedef typename boost::call_traits<T>::const_reference const_reference;
+
+ static_(Tag = Tag())
+ {
boost::call_once(&default_ctor::construct, constructed_);
}
Modified: branches/CMake/release/boost/spirit/home/classic/tree/impl/tree_to_xml.ipp
==============================================================================
--- branches/CMake/release/boost/spirit/home/classic/tree/impl/tree_to_xml.ipp (original)
+++ branches/CMake/release/boost/spirit/home/classic/tree/impl/tree_to_xml.ipp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -15,6 +15,7 @@
#include <cstdarg>
#include <locale>
#include <string>
+#include <cstring>
#include <map>
#include <iostream>
@@ -24,7 +25,7 @@
#ifdef BOOST_NO_STRINGSTREAM
#include <strstream>
#define BOOST_SPIRIT_OSSTREAM std::ostrstream
-inline
+inline
std::string BOOST_SPIRIT_GETSTRING(std::ostrstream& ss)
{
ss << std::ends;
@@ -45,32 +46,32 @@
namespace impl {
///////////////////////////////////////////////////////////////////////////
- template <typename CharT>
+ template <typename CharT>
struct string_lit;
-
- template <>
+
+ template <>
struct string_lit<char>
{
static char get(char c) { return c; }
static std::string get(char const* str = "") { return str; }
};
- template <>
+ template <>
struct string_lit<wchar_t>
{
- static wchar_t get(char c)
- {
+ static wchar_t get(char c)
+ {
typedef std::ctype<wchar_t> ctype_t;
- return std::use_facet<ctype_t>(std::locale()).widen(c);
+ return std::use_facet<ctype_t>(std::locale()).widen(c);
}
- static std::basic_string<wchar_t> get(char const* source = "")
- {
+ static std::basic_string<wchar_t> get(char const* source = "")
+ {
using namespace std; // some systems have size_t in ns std
size_t len = strlen(source);
std::auto_ptr<wchar_t> result (new wchar_t[len+1]);
result.get()[len] = '\0';
- // working with wide character streams is supported only if the
+ // working with wide character streams is supported only if the
// platform provides the std::ctype<wchar_t> facet
BOOST_ASSERT(std::has_facet<std::ctype<wchar_t> >(std::locale()));
@@ -126,8 +127,8 @@
{
}
- attribute (std::basic_string<CharT> const& key_,
- std::basic_string<CharT> const& value_)
+ attribute (std::basic_string<CharT> const& key_,
+ std::basic_string<CharT> const& value_)
: key (key_), value(value_)
{
}
@@ -147,8 +148,8 @@
{
if (0 == attr.key.size())
return ostrm;
- ostrm << impl::string_lit<CharT>::get(" ") << encode(attr.key)
- << impl::string_lit<CharT>::get("=\"") << encode(attr.value)
+ ostrm << impl::string_lit<CharT>::get(" ") << encode(attr.key)
+ << impl::string_lit<CharT>::get("=\"") << encode(attr.value)
<< impl::string_lit<CharT>::get("\"");
return ostrm;
}
@@ -158,7 +159,7 @@
class element
{
protected:
- element(std::basic_ostream<CharT> &ostrm_, bool incr_indent_ = true)
+ element(std::basic_ostream<CharT> &ostrm_, bool incr_indent_ = true)
: ostrm(ostrm_), incr_indent(incr_indent_)
{
if (incr_indent) ++get_indent();
@@ -192,29 +193,29 @@
class node : public element<CharT>
{
public:
- node (std::basic_ostream<CharT> &ostrm_,
- std::basic_string<CharT> const& tag_, attribute<CharT> &attr)
+ node (std::basic_ostream<CharT> &ostrm_,
+ std::basic_string<CharT> const& tag_, attribute<CharT> &attr)
: element<CharT>(ostrm_), tag(tag_)
{
this->output_space();
- this->ostrm
- << impl::string_lit<CharT>::get("<") << tag_ << attr
+ this->ostrm
+ << impl::string_lit<CharT>::get("<") << tag_ << attr
<< impl::string_lit<CharT>::get(">\n");
}
- node (std::basic_ostream<CharT> &ostrm_,
- std::basic_string<CharT> const& tag_)
+ node (std::basic_ostream<CharT> &ostrm_,
+ std::basic_string<CharT> const& tag_)
: element<CharT>(ostrm_), tag(tag_)
{
this->output_space();
- this->ostrm
- << impl::string_lit<CharT>::get("<") << tag_
+ this->ostrm
+ << impl::string_lit<CharT>::get("<") << tag_
<< impl::string_lit<CharT>::get(">\n");
}
~node()
{
this->output_space();
- this->ostrm
- << impl::string_lit<CharT>::get("</") << tag
+ this->ostrm
+ << impl::string_lit<CharT>::get("</") << tag
<< impl::string_lit<CharT>::get(">\n");
}
@@ -226,44 +227,44 @@
class text : public element<CharT>
{
public:
- text (std::basic_ostream<CharT> &ostrm_,
- std::basic_string<CharT> const& tag,
- std::basic_string<CharT> const& textlit)
+ text (std::basic_ostream<CharT> &ostrm_,
+ std::basic_string<CharT> const& tag,
+ std::basic_string<CharT> const& textlit)
: element<CharT>(ostrm_)
{
this->output_space();
- this->ostrm
- << impl::string_lit<CharT>::get("<") << tag
+ this->ostrm
+ << impl::string_lit<CharT>::get("<") << tag
<< impl::string_lit<CharT>::get(">") << encode(textlit)
- << impl::string_lit<CharT>::get("</") << tag
+ << impl::string_lit<CharT>::get("</") << tag
<< impl::string_lit<CharT>::get(">\n");
}
- text (std::basic_ostream<CharT> &ostrm_,
- std::basic_string<CharT> const& tag,
- std::basic_string<CharT> const& textlit,
- attribute<CharT> &attr)
+ text (std::basic_ostream<CharT> &ostrm_,
+ std::basic_string<CharT> const& tag,
+ std::basic_string<CharT> const& textlit,
+ attribute<CharT> &attr)
: element<CharT>(ostrm_)
{
this->output_space();
- this->ostrm
- << impl::string_lit<CharT>::get("<") << tag << attr
+ this->ostrm
+ << impl::string_lit<CharT>::get("<") << tag << attr
<< impl::string_lit<CharT>::get(">") << encode(textlit)
- << impl::string_lit<CharT>::get("</") << tag
+ << impl::string_lit<CharT>::get("</") << tag
<< impl::string_lit<CharT>::get(">\n");
}
- text (std::basic_ostream<CharT> &ostrm_,
- std::basic_string<CharT> const& tag,
- std::basic_string<CharT> const& textlit,
- attribute<CharT> &attr1, attribute<CharT> &attr2)
+ text (std::basic_ostream<CharT> &ostrm_,
+ std::basic_string<CharT> const& tag,
+ std::basic_string<CharT> const& textlit,
+ attribute<CharT> &attr1, attribute<CharT> &attr2)
: element<CharT>(ostrm_)
{
this->output_space();
- this->ostrm
- << impl::string_lit<CharT>::get("<") << tag << attr1 << attr2
+ this->ostrm
+ << impl::string_lit<CharT>::get("<") << tag << attr1 << attr2
<< impl::string_lit<CharT>::get(">") << encode(textlit)
- << impl::string_lit<CharT>::get("</") << tag
+ << impl::string_lit<CharT>::get("</") << tag
<< impl::string_lit<CharT>::get(">\n");
}
};
@@ -273,15 +274,15 @@
class comment : public element<CharT>
{
public:
- comment (std::basic_ostream<CharT> &ostrm_,
- std::basic_string<CharT> const& commentlit)
+ comment (std::basic_ostream<CharT> &ostrm_,
+ std::basic_string<CharT> const& commentlit)
: element<CharT>(ostrm_, false)
{
if ('\0' != commentlit[0])
{
this->output_space();
- this->ostrm << impl::string_lit<CharT>::get("<!-- ")
- << encode(commentlit)
+ this->ostrm << impl::string_lit<CharT>::get("<!-- ")
+ << encode(commentlit)
<< impl::string_lit<CharT>::get(" -->\n");
}
}
@@ -292,7 +293,7 @@
class document : public element<CharT>
{
public:
- document (std::basic_ostream<CharT> &ostrm_)
+ document (std::basic_ostream<CharT> &ostrm_)
: element<CharT>(ostrm_)
{
this->get_indent() = -1;
@@ -300,9 +301,9 @@
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n");
}
- document (std::basic_ostream<CharT> &ostrm_,
- std::basic_string<CharT> const& mainnode,
- std::basic_string<CharT> const& dtd)
+ document (std::basic_ostream<CharT> &ostrm_,
+ std::basic_string<CharT> const& mainnode,
+ std::basic_string<CharT> const& dtd)
: element<CharT>(ostrm_)
{
this->get_indent() = -1;
@@ -310,7 +311,7 @@
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n");
this->output_space();
- this->ostrm << impl::string_lit<CharT>::get("<!DOCTYPE ") << mainnode
+ this->ostrm << impl::string_lit<CharT>::get("<!DOCTYPE ") << mainnode
<< impl::string_lit<CharT>::get(" SYSTEM \"") << dtd
<< impl::string_lit<CharT>::get("\">\n");
}
@@ -324,7 +325,7 @@
namespace impl {
- ///////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////
// look up the rule name from the given parser_id
template <typename AssocContainerT>
inline typename AssocContainerT::value_type::second_type
@@ -343,23 +344,23 @@
typename CharT, typename IteratorT, typename GetIdT, typename GetValueT
>
inline void
- token_to_xml (std::basic_ostream<CharT> &ostrm, IteratorT const &it,
+ token_to_xml (std::basic_ostream<CharT> &ostrm, IteratorT const &it,
bool is_root, GetIdT const &get_token_id, GetValueT const &get_token_value)
{
BOOST_SPIRIT_OSSTREAM stream;
stream << get_token_id(*it) << std::ends;
xml::attribute<CharT> token_id (
- impl::string_lit<CharT>::get("id"),
+ impl::string_lit<CharT>::get("id"),
BOOST_SPIRIT_GETSTRING(stream).c_str());
xml::attribute<CharT> is_root_attr (
- impl::string_lit<CharT>::get("is_root"),
+ impl::string_lit<CharT>::get("is_root"),
impl::string_lit<CharT>::get(is_root ? "1" : ""));
xml::attribute<CharT> nil;
- xml::text<CharT>(ostrm,
- impl::string_lit<CharT>::get("token"),
+ xml::text<CharT>(ostrm,
+ impl::string_lit<CharT>::get("token"),
get_token_value(*it).c_str(),
- token_id,
+ token_id,
is_root_attr.has_value() ? is_root_attr : nil);
}
@@ -385,7 +386,7 @@
xml::attribute<CharT> id (
impl::string_lit<CharT>::get("rule"),
get_rulename(id_to_name_map, (*it).value.id()).c_str());
- xml::node<CharT> currnode (ostrm,
+ xml::node<CharT> currnode (ostrm,
impl::string_lit<CharT>::get("parsenode"),
(*it).value.id() != 0 && id.has_value() ? id : nil);
@@ -399,7 +400,7 @@
}
else if (cnt > 1)
{
- xml::node<CharT> value (ostrm,
+ xml::node<CharT> value (ostrm,
impl::string_lit<CharT>::get("value"));
bool is_root = (*it).value.is_root();
@@ -431,7 +432,7 @@
xml::attribute<CharT> id (
impl::string_lit<CharT>::get("rule"),
get_rulename(id_to_name_map, (*it).value.id()).c_str());
- xml::node<CharT> currnode (ostrm,
+ xml::node<CharT> currnode (ostrm,
impl::string_lit<CharT>::get("parsenode"),
(*it).value.id() != parser_id() && id.has_value() ? id : nil);
@@ -446,7 +447,7 @@
xml::attribute<CharT> is_root (
impl::string_lit<CharT>::get("is_root"),
impl::string_lit<CharT>::get((*it).value.is_root() ? "1" : ""));
- xml::text<CharT>(ostrm,
+ xml::text<CharT>(ostrm,
impl::string_lit<CharT>::get("value"), tokens.c_str(),
is_root.has_value() ? is_root : nil);
}
@@ -471,14 +472,14 @@
GetIdT const &get_token_id, GetValueT const &get_token_value)
{
// generate xml dump
- xml::document<CharT> doc (ostrm,
- impl::string_lit<CharT>::get("parsetree"),
+ xml::document<CharT> doc (ostrm,
+ impl::string_lit<CharT>::get("parsetree"),
impl::string_lit<CharT>::get("parsetree.dtd"));
xml::comment<CharT> input (ostrm, input_line.c_str());
xml::attribute<CharT> ver (
- impl::string_lit<CharT>::get("version"),
+ impl::string_lit<CharT>::get("version"),
impl::string_lit<CharT>::get("1.0"));
- xml::node<CharT> mainnode (ostrm,
+ xml::node<CharT> mainnode (ostrm,
impl::string_lit<CharT>::get("parsetree"), ver);
impl::tree_node_to_xml (ostrm, tree, id_to_name, get_token_id,
@@ -489,18 +490,18 @@
template <typename CharT, typename TreeNodeT, typename AssocContainerT>
inline void
basic_tree_to_xml (std::basic_ostream<CharT> &ostrm, TreeNodeT const &tree,
- std::basic_string<CharT> const &input_line,
+ std::basic_string<CharT> const &input_line,
AssocContainerT const& id_to_name)
{
// generate xml dump
- xml::document<CharT> doc (ostrm,
- impl::string_lit<CharT>::get("parsetree"),
+ xml::document<CharT> doc (ostrm,
+ impl::string_lit<CharT>::get("parsetree"),
impl::string_lit<CharT>::get("parsetree.dtd"));
xml::comment<CharT> input (ostrm, input_line.c_str());
xml::attribute<CharT> ver (
- impl::string_lit<CharT>::get("version"),
+ impl::string_lit<CharT>::get("version"),
impl::string_lit<CharT>::get("1.0"));
- xml::node<CharT> mainnode (ostrm,
+ xml::node<CharT> mainnode (ostrm,
impl::string_lit<CharT>::get("parsetree"), ver);
impl::tree_node_to_xml(ostrm, tree, id_to_name);
Modified: branches/CMake/release/boost/spirit/home/karma/action/action.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/action/action.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/action/action.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -49,7 +49,7 @@
result_of::left<Component>::type::director
director;
typedef typename is_same<director, sequence>::type is_sequence;
-
+
typedef typename
attribute<Component, Context, unused_type>::type
param_type;
@@ -65,8 +65,7 @@
// call the function, passing the parameter, the context
// and a bool flag that the client can set to false to
- // fail parsing.
- // call the function, passing the attribute, the context.
+ // fail generating.
// The client can return false to fail parsing.
bool pass = spirit::detail::action_dispatch(
spirit::right(component), p, ctx, is_sequence());
@@ -75,13 +74,13 @@
director::generate(spirit::left(component), sink, ctx, d, p);
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
typedef typename
spirit::result_of::left<Component>::type::director
director;
- return director::what(spirit::left(component));
+ return director::what(spirit::left(component), ctx);
}
};
Modified: branches/CMake/release/boost/spirit/home/karma/auxiliary.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/auxiliary.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/auxiliary.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -8,6 +8,7 @@
#include <boost/spirit/home/karma/auxiliary/none.hpp>
#include <boost/spirit/home/karma/auxiliary/eps.hpp>
+#include <boost/spirit/home/karma/auxiliary/eol.hpp>
#include <boost/spirit/home/karma/auxiliary/lazy.hpp>
#include <boost/spirit/home/karma/auxiliary/functor.hpp>
#include <boost/spirit/home/karma/auxiliary/functor_director.hpp>
Modified: branches/CMake/release/boost/spirit/home/karma/auxiliary/eps.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/auxiliary/eps.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/auxiliary/eps.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,6 +1,6 @@
// Copyright (c) 2001-2008 Hartmut Kaiser
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#if !defined(BOOST_SPIRIT_KARMA_EPS_APRIL_21_2007_0246PM)
@@ -21,18 +21,18 @@
typedef unused_type type;
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& /*component*/, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, Parameter const& /*param*/)
+ static bool
+ generate(Component const& /*component*/, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, Parameter const& /*param*/)
{
karma::delimit(sink, d);
return true;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "eps";
}
@@ -46,18 +46,18 @@
typedef unused_type type;
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& ctx, Delimiter const& d, Parameter const& /*param*/)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& ctx, Delimiter const& d, Parameter const& /*param*/)
{
karma::delimit(sink, d);
return fusion::at_c<0>(component.elements)(unused, ctx);
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "semantic-predicate";
}
Modified: branches/CMake/release/boost/spirit/home/karma/auxiliary/functor_director.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/auxiliary/functor_director.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/auxiliary/functor_director.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -41,8 +41,8 @@
return result;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "functor";
}
Modified: branches/CMake/release/boost/spirit/home/karma/auxiliary/lazy.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/auxiliary/lazy.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/auxiliary/lazy.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -74,8 +74,8 @@
generate(subject, sink, ctx, d, param);
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "lazy[";
// FIXME: need to get at the what of the embedded component
Modified: branches/CMake/release/boost/spirit/home/karma/auxiliary/meta_grammar.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/auxiliary/meta_grammar.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/auxiliary/meta_grammar.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -24,6 +24,7 @@
///////////////////////////////////////////////////////////////////////////
struct none;
struct eps_generator;
+ struct eol_generator;
struct semantic_predicate;
struct lazy_generator;
struct functor_director;
@@ -45,6 +46,8 @@
karma::domain, tag::none, none>,
meta_grammar::empty_terminal_rule<
karma::domain, tag::eps, eps_generator>,
+ meta_grammar::empty_terminal_rule<
+ karma::domain, tag::eol, eol_generator>,
meta_grammar::function1_rule<
karma::domain, tag::eps, semantic_predicate>,
meta_grammar::function1_rule<
Modified: branches/CMake/release/boost/spirit/home/karma/auxiliary/none.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/auxiliary/none.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/auxiliary/none.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -30,8 +30,8 @@
return false;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "none";
}
Modified: branches/CMake/release/boost/spirit/home/karma/binary/binary.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/binary/binary.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/binary/binary.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -136,8 +136,8 @@
return false;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return karma::detail::what<endian>::is();
}
@@ -173,8 +173,8 @@
return true;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return karma::detail::what<endian>::is();
}
Modified: branches/CMake/release/boost/spirit/home/karma/binary/padding.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/binary/padding.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/binary/padding.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -6,6 +6,8 @@
#if !defined(BOOST_SPIRIT_KARMA_PADDING_MAY_06_2008_0436PM)
#define BOOST_SPIRIT_KARMA_PADDING_MAY_06_2008_0436PM
+#include <boost/lexical_cast.hpp>
+
#include <boost/spirit/home/karma/domain.hpp>
#include <boost/spirit/home/karma/delimit.hpp>
#include <boost/spirit/home/support/unused.hpp>
@@ -42,8 +44,8 @@
return result;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return std::string("pad(") +
boost::lexical_cast<std::string>(
Modified: branches/CMake/release/boost/spirit/home/karma/char/char.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/char/char.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/char/char.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,6 +1,6 @@
// Copyright (c) 2001-2008 Hartmut Kaiser
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#if !defined(BOOST_SPIRIT_KARMA_CHAR_FEB_21_2007_0543PM)
@@ -24,13 +24,13 @@
#include <boost/fusion/include/cons.hpp>
#include <boost/utility/enable_if.hpp>
-namespace boost { namespace spirit { namespace karma
-{
+namespace boost { namespace spirit { namespace karma
+{
///////////////////////////////////////////////////////////////////////////
//
- // any_char
+ // any_char
// generates a single character from the associated parameter
- //
+ //
// Note: this generator has to have an associated parameter
//
///////////////////////////////////////////////////////////////////////////
@@ -44,31 +44,31 @@
};
// any_char has a parameter attached
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const&, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const&, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, Parameter const& param)
{
detail::generate_to(sink, param);
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return true;
}
- // this any_char has no parameter attached, it needs to have been
+ // this any_char has no parameter attached, it needs to have been
// initialized from a direct literal
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter>
- static bool
- generate(Component const&, OutputIterator&, Context&, Delimiter const&,
- unused_type)
+ static bool
+ generate(Component const&, OutputIterator&, Context&, Delimiter const&,
+ unused_type)
{
BOOST_MPL_ASSERT_MSG(false, char__not_usable_without_parameter, ());
return false;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "any-char";
}
@@ -76,13 +76,13 @@
///////////////////////////////////////////////////////////////////////////
//
- // literal_char
+ // literal_char
// generates a single character given by a literal it was initialized
// from
//
///////////////////////////////////////////////////////////////////////////
template <typename Char>
- struct literal_char
+ struct literal_char
{
template <typename Component, typename Context, typename Unused>
struct attribute
@@ -91,19 +91,19 @@
};
// any_char has a parameter attached
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, Parameter const& /*param*/)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, Parameter const& /*param*/)
{
detail::generate_to(sink, fusion::at_c<0>(component.elements));
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return true;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return std::string("'")
+ spirit::detail::to_narrow_char(
@@ -114,12 +114,12 @@
///////////////////////////////////////////////////////////////////////////
//
- // lazy_char
- // generates a single character given by a functor it was initialized
+ // lazy_char
+ // generates a single character given by a functor it was initialized
// from
//
///////////////////////////////////////////////////////////////////////////
- struct lazy_char
+ struct lazy_char
{
template <typename Component, typename Context, typename Unused>
struct attribute
@@ -128,20 +128,20 @@
};
// any_char has a parameter attached
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& ctx, Delimiter const& d, Parameter const& /*param*/)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& ctx, Delimiter const& d, Parameter const& /*param*/)
{
- detail::generate_to(sink,
+ detail::generate_to(sink,
fusion::at_c<0>(component.elements)(unused, ctx));
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return true;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "char";
}
@@ -154,7 +154,7 @@
//
///////////////////////////////////////////////////////////////////////////
template <typename Char, typename Tag>
- struct case_any_char
+ struct case_any_char
{
template <typename Component, typename Context, typename Unused>
struct attribute
@@ -166,42 +166,42 @@
typedef typename Tag::char_class char_class_;
// case_any_char has a parameter attached
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& /*component*/, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& /*component*/, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, Parameter const& param)
{
using spirit::char_class::convert;
Char p = convert<char_set>::to(char_class_(), param);
detail::generate_to(sink, p);
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return true;
}
- // this case_any_char has no parameter attached, it needs to have been
+ // this case_any_char has no parameter attached, it needs to have been
// initialized from a direct literal
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter>
- static bool
- generate(Component const&, OutputIterator&, Context&, Delimiter const&,
- unused_type)
+ static bool
+ generate(Component const&, OutputIterator&, Context&, Delimiter const&,
+ unused_type)
{
BOOST_MPL_ASSERT_MSG(false, char__not_usable_without_parameter, ());
return false;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result;
- result = std::string("any-") +
- spirit::char_class::what<char_set>::is(char_class_()) +
+ result = std::string("any-") +
+ spirit::char_class::what<char_set>::is(char_class_()) +
"case-char";
return result;
}
};
-
+
}}} // namespace boost::spirit::karma
namespace boost { namespace spirit { namespace traits
@@ -218,20 +218,20 @@
>::type
>
{
- typedef typename
+ typedef typename
fusion::result_of::value_at_c<Elements, 0>::type
char_type;
typedef fusion::vector<char_type> vector_type;
typedef component<
- karma::domain, karma::literal_char<Char>, vector_type>
+ karma::domain, karma::literal_char<Char>, vector_type>
type;
-
+
static type
call(Elements const& elements)
{
typedef typename Modifier::char_set char_set;
-
+
char_type ch = fusion::at_c<0>(elements);
vector_type v(char_set::tolower(ch));
return type(v);
@@ -247,20 +247,20 @@
>::type
>
{
- typedef typename
+ typedef typename
fusion::result_of::value_at_c<Elements, 0>::type
char_type;
typedef fusion::vector<char_type> vector_type;
- typedef
- component<karma::domain, karma::literal_char<Char>, vector_type>
+ typedef
+ component<karma::domain, karma::literal_char<Char>, vector_type>
type;
-
+
static type
call(Elements const& elements)
{
typedef typename Modifier::char_set char_set;
-
+
char_type ch = fusion::at_c<0>(elements);
vector_type v(char_set::toupper(ch));
return type(v);
@@ -282,11 +282,11 @@
typedef typename Modifier::char_set char_set;
typedef spirit::char_class::tag::lower char_class_;
typedef spirit::char_class::key<char_set, char_class_> key_tag;
-
+
typedef component<
- karma::domain, karma::case_any_char<Char, key_tag>, fusion::nil>
+ karma::domain, karma::case_any_char<Char, key_tag>, fusion::nil>
type;
-
+
static type
call(Elements const&)
{
@@ -306,11 +306,11 @@
typedef typename Modifier::char_set char_set;
typedef spirit::char_class::tag::upper char_class_;
typedef spirit::char_class::key<char_set, char_class_> key_tag;
-
+
typedef component<
- karma::domain, karma::case_any_char<Char, key_tag>, fusion::nil>
+ karma::domain, karma::case_any_char<Char, key_tag>, fusion::nil>
type;
-
+
static type
call(Elements const&)
{
Modified: branches/CMake/release/boost/spirit/home/karma/char/space.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/char/space.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/char/space.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,6 +1,6 @@
// Copyright (c) 2001-2008 Hartmut Kaiser
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#if !defined(BOOST_SPIRIT_KARMA_SPACE_MAR_06_2007_0934PM)
@@ -20,13 +20,13 @@
#include <boost/spirit/home/support/standard.hpp>
#include <boost/spirit/home/support/standard_wide.hpp>
-namespace boost { namespace spirit { namespace karma
-{
+namespace boost { namespace spirit { namespace karma
+{
///////////////////////////////////////////////////////////////////////////
//
- // space
+ // space
// generates a single character from the associated parameter
- //
+ //
///////////////////////////////////////////////////////////////////////////
template <typename Tag, typename Char>
struct any_space_char
@@ -41,33 +41,33 @@
typedef typename Tag::char_class char_class_;
// space has a parameter attached
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& /*component*/, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, Parameter const& ch)
+ static bool
+ generate(Component const& /*component*/, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, Parameter const& ch)
{
using spirit::char_class::classify;
BOOST_ASSERT(classify<char_set>::is(char_class_(), ch));
detail::generate_to(sink, ch);
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return true;
}
// this space has no parameter attached, just generate a single ' '
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter>
- static bool
- generate(Component const&, OutputIterator& sink, Context&,
- Delimiter const& d, unused_type)
+ static bool
+ generate(Component const&, OutputIterator& sink, Context&,
+ Delimiter const& d, unused_type)
{
detail::generate_to(sink, ' '); // generate a single space
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return true;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "any-space";
}
@@ -76,7 +76,7 @@
///////////////////////////////////////////////////////////////////////////
//
// space(...)
- // generates a single space character given by a literal it was
+ // generates a single space character given by a literal it was
// initialized from
//
///////////////////////////////////////////////////////////////////////////
@@ -90,19 +90,19 @@
};
// any_char has a parameter attached
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, Parameter const& /*param*/)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, Parameter const& /*param*/)
{
detail::generate_to(sink, fusion::at_c<0>(component.elements));
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return true;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return std::string("space('")
+ spirit::detail::to_narrow_char(
Modified: branches/CMake/release/boost/spirit/home/karma/directive/center_alignment.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/directive/center_alignment.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/directive/center_alignment.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,6 +1,6 @@
// Copyright (c) 2001-2008 Hartmut Kaiser
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#if !defined(BOOST_SPIRIT_KARMA_CENTER_ALIGNMENT_FEB_27_2007_1216PM)
@@ -18,7 +18,7 @@
///////////////////////////////////////////////////////////////////////////////
//
-// The BOOST_KARMA_DEFAULT_FIELD_LENGTH specifies the default field length
+// The BOOST_KARMA_DEFAULT_FIELD_LENGTH specifies the default field length
// to be used for padding.
//
///////////////////////////////////////////////////////////////////////////////
@@ -26,10 +26,10 @@
#define BOOST_KARMA_DEFAULT_FIELD_LENGTH 10
#endif
-namespace boost { namespace spirit { namespace karma
+namespace boost { namespace spirit { namespace karma
{
///////////////////////////////////////////////////////////////////////////
- // The simple center alignment directive is used for center[...]
+ // The simple center alignment directive is used for center[...]
// generators. It uses default values for the generated width (defined via
// the BOOST_KARMA_DEFAULT_FIELD_LENGTH constant) and for the padding
// generator (always spaces).
@@ -40,25 +40,25 @@
struct attribute
: traits::attribute_of<
karma::domain,
- typename result_of::argument1<Component>::type,
+ typename result_of::argument1<Component>::type,
Context
>
{
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& ctx, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& ctx, Delimiter const& d, Parameter const& param)
{
- return detail::center_generate(sink, ctx, d, param,
- argument1(component), BOOST_KARMA_DEFAULT_FIELD_LENGTH,
+ return detail::center_generate(sink, ctx, d, param,
+ argument1(component), BOOST_KARMA_DEFAULT_FIELD_LENGTH,
spirit::as_component(karma::domain(), ' '));
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "center[";
@@ -66,12 +66,12 @@
spirit::result_of::argument1<Component>::type::director
director;
- result += director::what(spirit::argument1(component));
+ result += director::what(spirit::argument1(component), ctx);
result += "]";
return result;
}
};
-
+
///////////////////////////////////////////////////////////////////////////
// The center alignment with width directive, is used for generators
// like center(width)[...]. It uses a default value for the padding
@@ -83,27 +83,27 @@
struct attribute
: traits::attribute_of<
karma::domain,
- typename result_of::subject<Component>::type,
+ typename result_of::subject<Component>::type,
Context
>
{
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& ctx, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& ctx, Delimiter const& d, Parameter const& param)
{
- return detail::center_generate(sink, ctx, d, param,
+ return detail::center_generate(sink, ctx, d, param,
subject(component), proto::arg_c<0>(argument1(component)), ' ');
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "center(";
-
+
result += boost::lexical_cast<std::string>(
proto::arg_c<0>(argument1(component)));
result += ")[";
@@ -112,16 +112,16 @@
spirit::result_of::subject<Component>::type::director
director;
- result += director::what(spirit::subject(component));
+ result += director::what(spirit::subject(component), ctx);
result += "]";
return result;
}
};
-
+
///////////////////////////////////////////////////////////////////////////
// The center alignment directive with padding, is used for generators like
- // center(padding)[...], where padding is a arbitrary generator
- // expression. It uses a default value for the generated width (defined
+ // center(padding)[...], where padding is a arbitrary generator
+ // expression. It uses a default value for the generated width (defined
// via the BOOST_KARMA_DEFAULT_FIELD_LENGTH constant).
///////////////////////////////////////////////////////////////////////////
struct padding_center_aligment
@@ -130,49 +130,49 @@
struct attribute
: traits::attribute_of<
karma::domain,
- typename result_of::subject<Component>::type,
+ typename result_of::subject<Component>::type,
Context
>
{
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& ctx, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& ctx, Delimiter const& d, Parameter const& param)
{
- return detail::center_generate(sink, ctx, d, param,
- subject(component), BOOST_KARMA_DEFAULT_FIELD_LENGTH,
+ return detail::center_generate(sink, ctx, d, param,
+ subject(component), BOOST_KARMA_DEFAULT_FIELD_LENGTH,
argument1(component));
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "center(";
-
+
typedef typename
spirit::result_of::argument1<Component>::type::director
padding;
- result += padding::what(spirit::argument1(component));
+ result += padding::what(spirit::argument1(component), ctx);
result += ")[";
typedef typename
spirit::result_of::subject<Component>::type::director
director;
- result += director::what(spirit::subject(component));
+ result += director::what(spirit::subject(component), ctx);
result += "]";
return result;
}
};
-
+
///////////////////////////////////////////////////////////////////////////
- // The full center alignment directive, is used for generators like
- // center(width, padding)[...], where width is a integer value to be
- // used as the field width and padding is a arbitrary generator
+ // The full center alignment directive, is used for generators like
+ // center(width, padding)[...], where width is a integer value to be
+ // used as the field width and padding is a arbitrary generator
// expression.
///////////////////////////////////////////////////////////////////////////
struct full_center_aligment
@@ -181,28 +181,28 @@
struct attribute
: traits::attribute_of<
karma::domain,
- typename result_of::subject<Component>::type,
+ typename result_of::subject<Component>::type,
Context
>
{
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& ctx, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& ctx, Delimiter const& d, Parameter const& param)
{
- return detail::center_generate(sink, ctx, d, param,
- subject(component), proto::arg_c<0>(argument1(component)),
+ return detail::center_generate(sink, ctx, d, param,
+ subject(component), proto::arg_c<0>(argument1(component)),
argument2(component));
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "center(";
-
+
result += boost::lexical_cast<std::string>(
proto::arg_c<0>(argument1(component)));
result += ", ";
@@ -211,19 +211,19 @@
spirit::result_of::argument2<Component>::type::director
padding;
- result += padding::what(spirit::argument2(component));
+ result += padding::what(spirit::argument2(component), ctx);
result += ")[";
typedef typename
spirit::result_of::subject<Component>::type::director
director;
- result += director::what(spirit::subject(component));
+ result += director::what(spirit::subject(component), ctx);
result += "]";
return result;
}
};
-
+
}}} // namespace boost::spirit::karma
#endif
Modified: branches/CMake/release/boost/spirit/home/karma/directive/delimit.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/directive/delimit.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/directive/delimit.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,6 +1,6 @@
// Copyright (c) 2001-2008 Hartmut Kaiser
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#if !defined(BOOST_SPIRIT_KARMA_DELIMIT_MAR_02_2007_0217PM)
@@ -27,31 +27,31 @@
struct attribute
: traits::attribute_of<
karma::domain,
- typename result_of::right<Component>::type,
+ typename result_of::right<Component>::type,
Context
>
{
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& ctx, Delimiter const& /*d*/, Parameter const& param)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& ctx, Delimiter const& /*d*/, Parameter const& param)
{
- // the delimit_space generator simply dispatches to the embedded
+ // the delimit_space generator simply dispatches to the embedded
// generator while supplying a single space as the new delimiter
// to use
- typedef typename
+ typedef typename
result_of::right<Component>::type::director
director;
-
- return director::generate(spirit::right(component),
+
+ return director::generate(spirit::right(component),
sink, ctx, spirit::as_component(karma::domain(), ' '), param);
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "delimit[";
@@ -59,7 +59,7 @@
spirit::result_of::right<Component>::type::director
director;
- result += director::what(spirit::right(component));
+ result += director::what(spirit::right(component), ctx);
result += "]";
return result;
}
@@ -74,48 +74,48 @@
struct attribute
: traits::attribute_of<
karma::domain,
- typename result_of::subject<Component>::type,
+ typename result_of::subject<Component>::type,
Context
>
{
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& ctx, Delimiter const& /*d*/, Parameter const& param)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& ctx, Delimiter const& /*d*/, Parameter const& param)
{
- // the delimit generator simply dispatches to the embedded
+ // the delimit generator simply dispatches to the embedded
// generator while supplying it's argument as the new delimiter
// to use
- typedef typename
+ typedef typename
spirit::result_of::subject<Component>::type::director
director;
-
- return director::generate(spirit::subject(component), sink, ctx,
+
+ return director::generate(spirit::subject(component), sink, ctx,
spirit::as_component(
- karma::domain(), spirit::argument1(component)),
+ karma::domain(), spirit::argument1(component)),
param);
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "delimit(";
-
+
typedef typename
spirit::result_of::argument1<Component>::type::director
delimiter;
-
- result += delimiter::what(spirit::argument1(component));
+
+ result += delimiter::what(spirit::argument1(component), ctx);
result +=")[";
typedef typename
spirit::result_of::subject<Component>::type::director
director;
- result += director::what(spirit::subject(component));
+ result += director::what(spirit::subject(component), ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/karma/directive/left_alignment.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/directive/left_alignment.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/directive/left_alignment.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,6 +1,6 @@
// Copyright (c) 2001-2008 Hartmut Kaiser
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#if !defined(BOOST_SPIRIT_KARMA_LEFT_ALIGNMENT_FEB_27_2007_1216PM)
@@ -18,7 +18,7 @@
///////////////////////////////////////////////////////////////////////////////
//
-// The BOOST_KARMA_DEFAULT_FIELD_LENGTH specifies the default field length
+// The BOOST_KARMA_DEFAULT_FIELD_LENGTH specifies the default field length
// to be used for padding.
//
///////////////////////////////////////////////////////////////////////////////
@@ -26,10 +26,10 @@
#define BOOST_KARMA_DEFAULT_FIELD_LENGTH 10
#endif
-namespace boost { namespace spirit { namespace karma
+namespace boost { namespace spirit { namespace karma
{
///////////////////////////////////////////////////////////////////////////
- // The simple left alignment directive is used for left_align[...]
+ // The simple left alignment directive is used for left_align[...]
// generators. It uses default values for the generated width (defined via
// the BOOST_KARMA_DEFAULT_FIELD_LENGTH constant) and for the padding
// generator (always spaces).
@@ -37,27 +37,27 @@
struct simple_left_aligment
{
template <typename Component, typename Context, typename Unused>
- struct attribute
+ struct attribute
: traits::attribute_of<
karma::domain,
- typename result_of::argument1<Component>::type,
+ typename result_of::argument1<Component>::type,
Context
>
{
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& ctx, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& ctx, Delimiter const& d, Parameter const& param)
{
- return detail::left_align_generate(sink, ctx, d, param,
+ return detail::left_align_generate(sink, ctx, d, param,
argument1(component), BOOST_KARMA_DEFAULT_FIELD_LENGTH, ' ');
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "left_align[";
@@ -65,12 +65,12 @@
spirit::result_of::argument1<Component>::type::director
director;
- result += director::what(spirit::argument1(component));
+ result += director::what(spirit::argument1(component), ctx);
result += "]";
return result;
}
};
-
+
///////////////////////////////////////////////////////////////////////////
// The left alignment with width directive, is used for generators
// like left_align(width)[...]. It uses a default value for the padding
@@ -82,27 +82,27 @@
struct attribute
: traits::attribute_of<
karma::domain,
- typename result_of::subject<Component>::type,
+ typename result_of::subject<Component>::type,
Context
>
{
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& ctx, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& ctx, Delimiter const& d, Parameter const& param)
{
- return detail::left_align_generate(sink, ctx, d, param,
+ return detail::left_align_generate(sink, ctx, d, param,
subject(component), proto::arg_c<0>(argument1(component)), ' ');
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "left_align(";
-
+
result += boost::lexical_cast<std::string>(
proto::arg_c<0>(argument1(component)));
result += ")[";
@@ -111,16 +111,16 @@
spirit::result_of::subject<Component>::type::director
director;
- result += director::what(spirit::subject(component));
+ result += director::what(spirit::subject(component), ctx);
result += "]";
return result;
}
};
-
+
///////////////////////////////////////////////////////////////////////////
// The left alignment directive with padding, is used for generators like
- // left_align(padding)[...], where padding is a arbitrary generator
- // expression. It uses a default value for the generated width (defined
+ // left_align(padding)[...], where padding is a arbitrary generator
+ // expression. It uses a default value for the generated width (defined
// via the BOOST_KARMA_DEFAULT_FIELD_LENGTH constant).
///////////////////////////////////////////////////////////////////////////
struct padding_left_aligment
@@ -129,49 +129,49 @@
struct attribute
: traits::attribute_of<
karma::domain,
- typename result_of::subject<Component>::type,
+ typename result_of::subject<Component>::type,
Context
>
{
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& ctx, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& ctx, Delimiter const& d, Parameter const& param)
{
- return detail::left_align_generate(sink, ctx, d, param,
- subject(component), BOOST_KARMA_DEFAULT_FIELD_LENGTH,
+ return detail::left_align_generate(sink, ctx, d, param,
+ subject(component), BOOST_KARMA_DEFAULT_FIELD_LENGTH,
argument1(component));
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "left_align(";
-
+
typedef typename
spirit::result_of::argument1<Component>::type::director
padding;
- result += padding::what(spirit::argument1(component));
+ result += padding::what(spirit::argument1(component), ctx);
result += ")[";
typedef typename
spirit::result_of::subject<Component>::type::director
director;
- result += director::what(spirit::subject(component));
+ result += director::what(spirit::subject(component), ctx);
result += "]";
return result;
}
};
-
+
///////////////////////////////////////////////////////////////////////////
- // The full left alignment directive, is used for generators like
- // left_align(width, padding)[...], where width is a integer value to be
- // used as the field width and padding is a arbitrary generator
+ // The full left alignment directive, is used for generators like
+ // left_align(width, padding)[...], where width is a integer value to be
+ // used as the field width and padding is a arbitrary generator
// expression.
///////////////////////////////////////////////////////////////////////////
struct full_left_aligment
@@ -180,28 +180,28 @@
struct attribute
: traits::attribute_of<
karma::domain,
- typename result_of::subject<Component>::type,
+ typename result_of::subject<Component>::type,
Context
>
{
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& ctx, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& ctx, Delimiter const& d, Parameter const& param)
{
- return detail::left_align_generate(sink, ctx, d, param,
- subject(component), proto::arg_c<0>(argument1(component)),
+ return detail::left_align_generate(sink, ctx, d, param,
+ subject(component), proto::arg_c<0>(argument1(component)),
argument2(component));
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "left_align(";
-
+
result += boost::lexical_cast<std::string>(
proto::arg_c<0>(argument1(component)));
result += ", ";
@@ -210,19 +210,19 @@
spirit::result_of::argument2<Component>::type::director
padding;
- result += padding::what(spirit::argument2(component));
+ result += padding::what(spirit::argument2(component), ctx);
result += ")[";
typedef typename
spirit::result_of::subject<Component>::type::director
director;
- result += director::what(spirit::subject(component));
+ result += director::what(spirit::subject(component), ctx);
result += "]";
return result;
}
};
-
+
}}} // namespace boost::spirit::karma
#endif
Modified: branches/CMake/release/boost/spirit/home/karma/directive/right_alignment.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/directive/right_alignment.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/directive/right_alignment.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,6 +1,6 @@
// Copyright (c) 2001-2008 Hartmut Kaiser
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#if !defined(BOOST_SPIRIT_KARMA_RIGHT_ALIGNMENT_FEB_27_2007_1216PM)
@@ -18,7 +18,7 @@
///////////////////////////////////////////////////////////////////////////////
//
-// The BOOST_KARMA_DEFAULT_FIELD_LENGTH specifies the default field length
+// The BOOST_KARMA_DEFAULT_FIELD_LENGTH specifies the default field length
// to be used for padding.
//
///////////////////////////////////////////////////////////////////////////////
@@ -26,10 +26,10 @@
#define BOOST_KARMA_DEFAULT_FIELD_LENGTH 10
#endif
-namespace boost { namespace spirit { namespace karma
+namespace boost { namespace spirit { namespace karma
{
///////////////////////////////////////////////////////////////////////////
- // The simple right alignment directive is used for right_align[...]
+ // The simple right alignment directive is used for right_align[...]
// generators. It uses default values for the generated width (defined via
// the BOOST_KARMA_DEFAULT_FIELD_LENGTH constant) and for the padding
// generator (always spaces).
@@ -40,25 +40,25 @@
struct attribute
: traits::attribute_of<
karma::domain,
- typename result_of::argument1<Component>::type,
+ typename result_of::argument1<Component>::type,
Context
>
{
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& ctx, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& ctx, Delimiter const& d, Parameter const& param)
{
- return detail::right_align_generate(sink, ctx, d, param,
- argument1(component), BOOST_KARMA_DEFAULT_FIELD_LENGTH,
+ return detail::right_align_generate(sink, ctx, d, param,
+ argument1(component), BOOST_KARMA_DEFAULT_FIELD_LENGTH,
spirit::as_component(karma::domain(), ' '));
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "right_align[";
@@ -66,12 +66,12 @@
spirit::result_of::argument1<Component>::type::director
director;
- result += director::what(spirit::argument1(component));
+ result += director::what(spirit::argument1(component), ctx);
result += "]";
return result;
}
};
-
+
///////////////////////////////////////////////////////////////////////////
// The right alignment with width directive, is used for generators
// like right_align(width)[...]. It uses a default value for the padding
@@ -83,27 +83,27 @@
struct attribute
: traits::attribute_of<
karma::domain,
- typename result_of::subject<Component>::type,
+ typename result_of::subject<Component>::type,
Context
>
{
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& ctx, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& ctx, Delimiter const& d, Parameter const& param)
{
- return detail::right_align_generate(sink, ctx, d, param,
+ return detail::right_align_generate(sink, ctx, d, param,
subject(component), proto::arg_c<0>(argument1(component)), ' ');
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "right_align(";
-
+
result += boost::lexical_cast<std::string>(
proto::arg_c<0>(argument1(component)));
result += ")[";
@@ -112,16 +112,16 @@
spirit::result_of::subject<Component>::type::director
director;
- result += director::what(spirit::subject(component));
+ result += director::what(spirit::subject(component), ctx);
result += "]";
return result;
}
};
-
+
///////////////////////////////////////////////////////////////////////////
// The right alignment directive with padding, is used for generators like
- // right_align(padding)[...], where padding is a arbitrary generator
- // expression. It uses a default value for the generated width (defined
+ // right_align(padding)[...], where padding is a arbitrary generator
+ // expression. It uses a default value for the generated width (defined
// via the BOOST_KARMA_DEFAULT_FIELD_LENGTH constant).
///////////////////////////////////////////////////////////////////////////
struct padding_right_aligment
@@ -130,49 +130,49 @@
struct attribute
: traits::attribute_of<
karma::domain,
- typename result_of::subject<Component>::type,
+ typename result_of::subject<Component>::type,
Context
>
{
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& ctx, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& ctx, Delimiter const& d, Parameter const& param)
{
- return detail::right_align_generate(sink, ctx, d, param,
- subject(component), BOOST_KARMA_DEFAULT_FIELD_LENGTH,
+ return detail::right_align_generate(sink, ctx, d, param,
+ subject(component), BOOST_KARMA_DEFAULT_FIELD_LENGTH,
argument1(component));
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "right_align(";
-
+
typedef typename
spirit::result_of::argument1<Component>::type::director
padding;
- result += padding::what(spirit::argument1(component));
+ result += padding::what(spirit::argument1(component), ctx);
result += ")[";
typedef typename
spirit::result_of::subject<Component>::type::director
director;
- result += director::what(spirit::subject(component));
+ result += director::what(spirit::subject(component), ctx);
result += "]";
return result;
}
};
-
+
///////////////////////////////////////////////////////////////////////////
- // The full right alignment directive, is used for generators like
- // right_align(width, padding)[...], where width is a integer value to be
- // used as the field width and padding is a arbitrary generator
+ // The full right alignment directive, is used for generators like
+ // right_align(width, padding)[...], where width is a integer value to be
+ // used as the field width and padding is a arbitrary generator
// expression.
///////////////////////////////////////////////////////////////////////////
struct full_right_aligment
@@ -181,28 +181,28 @@
struct attribute
: traits::attribute_of<
karma::domain,
- typename result_of::subject<Component>::type,
+ typename result_of::subject<Component>::type,
Context
>
{
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& ctx, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& ctx, Delimiter const& d, Parameter const& param)
{
- return detail::right_align_generate(sink, ctx, d, param,
- subject(component), proto::arg_c<0>(argument1(component)),
+ return detail::right_align_generate(sink, ctx, d, param,
+ subject(component), proto::arg_c<0>(argument1(component)),
argument2(component));
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "right_align(";
-
+
result += boost::lexical_cast<std::string>(
proto::arg_c<0>(argument1(component)));
result += ", ";
@@ -211,19 +211,19 @@
spirit::result_of::argument2<Component>::type::director
padding;
- result += padding::what(spirit::argument2(component));
+ result += padding::what(spirit::argument2(component), ctx);
result += ")[";
typedef typename
spirit::result_of::subject<Component>::type::director
director;
- result += director::what(spirit::subject(component));
+ result += director::what(spirit::subject(component), ctx);
result += "]";
return result;
}
};
-
+
}}} // namespace boost::spirit::karma
#endif
Modified: branches/CMake/release/boost/spirit/home/karma/directive/verbatim.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/directive/verbatim.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/directive/verbatim.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -55,8 +55,8 @@
return false;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "verbatim[";
@@ -64,7 +64,7 @@
spirit::result_of::right<Component>::type::director
director;
- result += director::what(spirit::right(component));
+ result += director::what(spirit::right(component), ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/karma/nonterminal/grammar.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/nonterminal/grammar.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/nonterminal/grammar.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -8,7 +8,8 @@
#define BOOST_SPIRIT_KARMA_GRAMMAR_MAR_05_2007_0542PM
#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/nonterminal/nonterminal.hpp>
+#include <boost/spirit/home/karma/nonterminal/nonterminal.hpp>
+#include <boost/spirit/home/karma/nonterminal/grammar_fwd.hpp>
#include <boost/spirit/home/karma/domain.hpp>
#include <boost/spirit/home/karma/nonterminal/rule.hpp>
#include <boost/spirit/home/karma/nonterminal/nonterminal_director.hpp>
@@ -17,100 +18,61 @@
namespace boost { namespace spirit { namespace karma
{
- template <typename Definition>
+ template <typename Iterator, typename T0 , typename T1 , typename T2>
struct grammar
: nonterminal<
- grammar<Definition>,
- typename Definition::sig_type,
- typename Definition::locals_type
- >
+ grammar<Iterator, T0, T1, T2>,
+ typename karma::rule<Iterator, T0, T1, T2>::sig_type,
+ typename karma::rule<Iterator, T0, T1, T2>::locals_type
+ >, noncopyable
{
- typedef typename Definition::sig_type sig_type;
- typedef typename Definition::locals_type locals_type;
- typedef typename Definition::delimiter_type delimiter_type;
- typedef typename Definition::start_type start_type;
- typedef typename Definition::iterator_type iterator_type;
+ typedef Iterator iterator_type;
+ typedef karma::rule<Iterator, T0, T1, T2> start_type;
+ typedef typename start_type::sig_type sig_type;
+ typedef typename start_type::locals_type locals_type;
+ typedef typename start_type::delimiter_type delimiter_type;
+ typedef grammar<Iterator, T0, T1, T2> base_type;
+
+ grammar(start_type const& start, std::string const& name_ = std::string())
+ : start_(start), name_(name_)
+ {}
- explicit grammar(Definition const& definition_)
- : definition(definition_), start(definition_.start)
+ std::string name() const
{
+ return name_;
}
- template <typename Definition_, typename Start>
- grammar(Definition_ const& definition_, Start const& start_)
- : definition(definition_), start(start_)
+ void name(std::string const& name__)
{
+ name_ = name__;
}
+ start_type const& start_;
+ std::string name_;
+
private:
template <typename OutputIterator, typename Context, typename Delimiter>
bool generate(OutputIterator& sink, Context& context,
Delimiter const& delim) const
{
- return start.generate(sink, context, delim);
+ return start_.generate(sink, context, delim);
}
std::string what() const
{
- if (definition.name().empty())
+ if (name().empty())
{
- return start.what();
+ return start_.what();
}
else
{
- return definition.name();
+ return name();
}
}
friend struct nonterminal_director;
- Definition const& definition;
- start_type const& start;
};
- template <typename OutputIterator, typename T0 = unused_type,
- typename T1 = unused_type, typename T2 = unused_type>
- struct grammar_def : noncopyable
- {
- typedef karma::rule<OutputIterator, T0, T1, T2> start_type;
- typedef typename start_type::iterator_type iterator_type;
- typedef typename start_type::sig_type sig_type;
- typedef typename start_type::locals_type locals_type;
- typedef typename start_type::delimiter_type delimiter_type;
-
- grammar_def(std::string const& name_ = std::string())
- : name_(name_) {}
-
- std::string name() const
- {
- return name_;
- }
-
- void name(std::string const& name__)
- {
- name_ = name__;
- }
-
- std::string name_;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Generator functions helping to construct a proper grammar object
- // instance
- ///////////////////////////////////////////////////////////////////////////
- template <typename Definition>
- inline grammar<Definition>
- make_generator(Definition const& def)
- {
- return grammar<Definition>(def);
- }
-
- template <typename Definition, typename Start>
- inline grammar<Definition>
- make_generator(Definition const& def, Start const& start)
- {
- return grammar<Definition>(def, start);
- }
-
}}}
#endif
Modified: branches/CMake/release/boost/spirit/home/karma/nonterminal/nonterminal_director.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/nonterminal/nonterminal_director.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/nonterminal/nonterminal_director.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -53,7 +53,7 @@
Parameter const& param)
{
typedef typename Nonterminal::locals_type locals_type;
- fusion::single_view<Parameter const&> front(param);
+ fusion::vector<Parameter const&> front(param);
NonterminalContext context(front, locals_type());
return x.obj.generate(sink, context, delim);
}
@@ -69,7 +69,7 @@
Parameter const& param)
{
typedef typename Nonterminal::locals_type locals_type;
- fusion::single_view<Parameter const&> front(param);
+ fusion::vector<Parameter const&> front(param);
NonterminalContext context(front, locals_type());
return ptr->generate(sink, context, delim);
}
@@ -148,8 +148,8 @@
return x.ptr->what();
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return what_nonterminal(subject(component).held);
}
Modified: branches/CMake/release/boost/spirit/home/karma/nonterminal/rule.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/nonterminal/rule.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/nonterminal/rule.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -13,6 +13,7 @@
#include <boost/spirit/home/support/unused.hpp>
#include <boost/spirit/home/karma/nonterminal/nonterminal.hpp>
+#include <boost/spirit/home/karma/nonterminal/grammar_fwd.hpp>
#include <boost/spirit/home/karma/nonterminal/detail/rule.hpp>
#include <boost/spirit/home/karma/domain.hpp>
#include <boost/spirit/home/karma/detail/output_iterator.hpp>
@@ -26,9 +27,6 @@
namespace boost { namespace spirit { namespace karma
{
- template <typename Definition>
- struct grammar; // forward declaration
-
template <typename OutputIterator, typename T0 = unused_type,
typename T1 = unused_type, typename T2 = unused_type>
struct rule
@@ -140,7 +138,7 @@
private:
- template <typename Definition>
+ template <typename Iterator_, typename T0_, typename T1_, typename T2_>
friend struct grammar;
template <typename Expr, typename Auto>
Modified: branches/CMake/release/boost/spirit/home/karma/numeric/int.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/numeric/int.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/numeric/int.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,6 +1,6 @@
// Copyright (c) 2001-2008 Hartmut Kaiser
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#if !defined(BOOST_SPIRIT_KARMA_INT_FEB_23_2007_0840PM)
@@ -25,8 +25,8 @@
namespace boost { namespace spirit { namespace karma
{
///////////////////////////////////////////////////////////////////////////
- // This specialization is used for int generators not having a direct
- // initializer: int_, long_ etc. These generators must be used in
+ // This specialization is used for int generators not having a direct
+ // initializer: int_, long_ etc. These generators must be used in
// conjunction with a parameter.
///////////////////////////////////////////////////////////////////////////
template <typename T, unsigned Radix, bool ForceSign, typename Tag>
@@ -45,44 +45,44 @@
BOOST_MPL_ASSERT_MSG(std::numeric_limits<T>::is_signed,
signed_unsigned_mismatch, ());
-
+
// int has a parameter attached
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& /*component*/, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& /*component*/, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, Parameter const& param)
{
- sign_inserter<ForceSign>::call(sink, detail::is_zero(param),
+ sign_inserter<ForceSign>::call(sink, detail::is_zero(param),
detail::is_negative(param));
- bool result = int_inserter<Radix, Tag>::call(sink,
+ bool result = int_inserter<Radix, Tag>::call(sink,
detail::absolute_value(param));
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return result;
}
- // this int has no parameter attached, it needs to have been
+ // this int has no parameter attached, it needs to have been
// initialized from a direct literal
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter>
- static bool
- generate(Component const&, OutputIterator&, Context&, Delimiter const&,
- unused_type)
+ static bool
+ generate(Component const&, OutputIterator&, Context&, Delimiter const&,
+ unused_type)
{
BOOST_MPL_ASSERT_MSG(false, int__not_usable_without_parameter, ());
return false;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "integer";
}
};
///////////////////////////////////////////////////////////////////////////
- // This specialization is used for int generators having a direct
- // initializer: int_(10), long_(20) etc.
+ // This specialization is used for int generators having a direct
+ // initializer: int_(10), long_(20) etc.
///////////////////////////////////////////////////////////////////////////
template <typename T, unsigned Radix, bool ForceSign, typename Tag>
struct int_generator<true, T, Radix, ForceSign, Tag>
@@ -100,24 +100,24 @@
BOOST_MPL_ASSERT_MSG(std::numeric_limits<T>::is_signed,
signed_unsigned_mismatch, ());
-
- template <typename Component, typename OutputIterator,
+
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, Parameter const& /*param*/)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, Parameter const& /*param*/)
{
T n = fusion::at_c<0>(component.elements);
- sign_inserter<ForceSign>::call(sink, detail::is_zero(n),
+ sign_inserter<ForceSign>::call(sink, detail::is_zero(n),
detail::is_negative(n));
- bool result = int_inserter<Radix, Tag>::call(sink,
+ bool result = int_inserter<Radix, Tag>::call(sink,
detail::absolute_value(n));
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return result;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "integer";
}
@@ -145,7 +145,7 @@
typedef karma::int_generator<false, T, Radix, ForceSign, key_tag> int_type;
typedef component<karma::domain, int_type, fusion::nil> type;
-
+
static type
call(Elements const&)
{
@@ -166,14 +166,14 @@
typedef spirit::char_class::tag::lower char_class_;
typedef spirit::char_class::key<char_set, char_class_> key_tag;
- typedef typename
+ typedef typename
fusion::result_of::value_at_c<Elements, 0>::type
int_data_type;
typedef fusion::vector<int_data_type> vector_type;
typedef karma::int_generator<true, T, Radix, ForceSign, key_tag> int_type;
typedef component<karma::domain, int_type, vector_type> type;
-
+
static type
call(Elements const& elements)
{
@@ -199,7 +199,7 @@
typedef karma::int_generator<false, T, Radix, ForceSign, key_tag> int_type;
typedef component<karma::domain, int_type, fusion::nil> type;
-
+
static type
call(Elements const&)
{
@@ -220,14 +220,14 @@
typedef spirit::char_class::tag::upper char_class_;
typedef spirit::char_class::key<char_set, char_class_> key_tag;
- typedef typename
+ typedef typename
fusion::result_of::value_at_c<Elements, 0>::type
int_data_type;
typedef fusion::vector<int_data_type> vector_type;
typedef karma::int_generator<true, T, Radix, ForceSign, key_tag> int_type;
typedef component<karma::domain, int_type, vector_type> type;
-
+
static type
call(Elements const& elements)
{
Modified: branches/CMake/release/boost/spirit/home/karma/numeric/real.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/numeric/real.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/numeric/real.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,6 +1,6 @@
// Copyright (c) 2001-2008 Hartmut Kaiser
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#if !defined(BOOST_SPIRIT_KARMA_REAL_FEB_26_2007_0512PM)
@@ -20,17 +20,17 @@
#include <boost/spirit/home/karma/numeric/detail/numeric_utils.hpp>
#include <cmath>
-namespace boost { namespace spirit { namespace karma
+namespace boost { namespace spirit { namespace karma
{
namespace detail
{
template <typename RealPolicies>
struct real_policy;
}
-
+
///////////////////////////////////////////////////////////////////////////
- // This specialization is used for real generators not having a direct
- // initializer: float_, double_ etc. These generators must be used in
+ // This specialization is used for real generators not having a direct
+ // initializer: float_, double_ etc. These generators must be used in
// conjunction with a parameter.
///////////////////////////////////////////////////////////////////////////
template <typename T, typename RealPolicies, typename Tag>
@@ -43,44 +43,44 @@
};
// double_/float_/etc. has a parameter attached
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, Parameter const& param)
{
RealPolicies const& p = detail::real_policy<RealPolicies>::get(
fusion::at_c<0>(component.elements));
bool result = real_inserter<T, RealPolicies, Tag>::
call(sink, param, p);
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return result;
}
- // this double_/float_/etc. has no parameter attached, it needs to have
+ // this double_/float_/etc. has no parameter attached, it needs to have
// been initialized from a direct literal
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter>
- static bool
- generate(Component const&, OutputIterator&, Context&, Delimiter const&,
- unused_type)
+ static bool
+ generate(Component const&, OutputIterator&, Context&, Delimiter const&,
+ unused_type)
{
- BOOST_MPL_ASSERT_MSG(false, real_not_usable_without_parameter,
+ BOOST_MPL_ASSERT_MSG(false, real_not_usable_without_parameter,
(Component, Context));
return false;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "real number";
}
};
-
+
///////////////////////////////////////////////////////////////////////////
- // This specialization is used for real generators having a direct
- // initializer: float_(10.), double_(20.) etc.
+ // This specialization is used for real generators having a direct
+ // initializer: float_(10.), double_(20.) etc.
///////////////////////////////////////////////////////////////////////////
template <typename T, typename RealPolicies, typename Tag>
struct real_generator<true, T, RealPolicies, Tag>
@@ -91,28 +91,28 @@
typedef unused_type type;
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, Parameter const& /*param*/)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, Parameter const& /*param*/)
{
RealPolicies const& p = detail::real_policy<RealPolicies>::get(
fusion::at_c<0>(component.elements));
T n = fusion::at_c<1>(component.elements);
bool result = real_inserter<T, RealPolicies, Tag>::call(sink, n, p);
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return result;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "real number";
}
};
-
+
}}}
namespace boost { namespace spirit { namespace traits
@@ -133,14 +133,14 @@
typedef spirit::char_class::tag::lower char_class_;
typedef spirit::char_class::key<char_set, char_class_> key_tag;
- typedef typename
+ typedef typename
fusion::result_of::value_at_c<Elements, 0>::type
real_policy_type;
typedef fusion::vector<real_policy_type> vector_type;
typedef karma::real_generator<false, T, RealPolicies, key_tag> real_type;
typedef component<karma::domain, real_type, vector_type> type;
-
+
static type
call(Elements const& elements)
{
@@ -161,17 +161,17 @@
typedef spirit::char_class::tag::lower char_class_;
typedef spirit::char_class::key<char_set, char_class_> key_tag;
- typedef typename
+ typedef typename
fusion::result_of::value_at_c<Elements, 0>::type
real_policy_type;
- typedef typename
+ typedef typename
fusion::result_of::value_at_c<Elements, 1>::type
real_data_type;
typedef fusion::vector<real_policy_type, real_data_type> vector_type;
typedef karma::real_generator<true, T, RealPolicies, key_tag> real_type;
typedef component<karma::domain, real_type, vector_type> type;
-
+
static type
call(Elements const& elements)
{
@@ -195,14 +195,14 @@
typedef spirit::char_class::tag::upper char_class_;
typedef spirit::char_class::key<char_set, char_class_> key_tag;
- typedef typename
+ typedef typename
fusion::result_of::value_at_c<Elements, 0>::type
real_policy_type;
typedef fusion::vector<real_policy_type> vector_type;
typedef karma::real_generator<false, T, RealPolicies, key_tag> real_type;
typedef component<karma::domain, real_type, vector_type> type;
-
+
static type
call(Elements const& elements)
{
@@ -223,17 +223,17 @@
typedef spirit::char_class::tag::upper char_class_;
typedef spirit::char_class::key<char_set, char_class_> key_tag;
- typedef typename
+ typedef typename
fusion::result_of::value_at_c<Elements, 0>::type
real_policy_type;
- typedef typename
+ typedef typename
fusion::result_of::value_at_c<Elements, 1>::type
real_data_type;
typedef fusion::vector<real_policy_type, real_data_type> vector_type;
typedef karma::real_generator<true, T, RealPolicies, key_tag> real_type;
typedef component<karma::domain, real_type, vector_type> type;
-
+
static type
call(Elements const& elements)
{
Modified: branches/CMake/release/boost/spirit/home/karma/numeric/uint.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/numeric/uint.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/numeric/uint.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,6 +1,6 @@
// Copyright (c) 2001-2008 Hartmut Kaiser
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#if !defined(BOOST_SPIRIT_KARMA_UINT_FEB_23_2007_0840PM)
@@ -39,33 +39,33 @@
BOOST_MPL_ASSERT_MSG(!std::numeric_limits<T>::is_signed,
signed_unsigned_mismatch, ());
-
+
// uint has a parameter attached
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& /*component*/, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& /*component*/, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, Parameter const& param)
{
bool result = int_inserter<Radix, Tag>::call(sink, param);
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return result;
}
- // this uint has no parameter attached, it needs to have been
+ // this uint has no parameter attached, it needs to have been
// initialized from a direct literal
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter>
- static bool
- generate(Component const&, OutputIterator&, Context&, Delimiter const&,
- unused_type)
+ static bool
+ generate(Component const&, OutputIterator&, Context&, Delimiter const&,
+ unused_type)
{
BOOST_MPL_ASSERT_MSG(false, uint_not_usable_without_parameter, ());
return false;
}
-
- template <typename Component>
- static std::string what(Component const&)
+
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "unsigned integer";
}
@@ -87,21 +87,21 @@
BOOST_MPL_ASSERT_MSG(!std::numeric_limits<T>::is_signed,
signed_unsigned_mismatch, ());
-
- template <typename Component, typename OutputIterator,
+
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, Parameter const& /*param*/)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, Parameter const& /*param*/)
{
T n = fusion::at_c<0>(component.elements);
bool result = int_inserter<Radix, Tag>::call(sink, n);
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return result;
}
-
- template <typename Component>
- static std::string what(Component const&)
+
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "unsigned integer";
}
@@ -129,7 +129,7 @@
typedef karma::uint_generator<false, T, Radix, ForceSign, key_tag> int_type;
typedef component<karma::domain, int_type, fusion::nil> type;
-
+
static type
call(Elements const&)
{
@@ -150,14 +150,14 @@
typedef spirit::char_class::tag::lower char_class_;
typedef spirit::char_class::key<char_set, char_class_> key_tag;
- typedef typename
+ typedef typename
fusion::result_of::value_at_c<Elements, 0>::type
int_data_type;
typedef fusion::vector<int_data_type> vector_type;
typedef karma::uint_generator<true, T, Radix, ForceSign, key_tag> int_type;
typedef component<karma::domain, int_type, vector_type> type;
-
+
static type
call(Elements const& elements)
{
@@ -183,7 +183,7 @@
typedef karma::uint_generator<false, T, Radix, ForceSign, key_tag> int_type;
typedef component<karma::domain, int_type, fusion::nil> type;
-
+
static type
call(Elements const&)
{
@@ -204,14 +204,14 @@
typedef spirit::char_class::tag::upper char_class_;
typedef spirit::char_class::key<char_set, char_class_> key_tag;
- typedef typename
+ typedef typename
fusion::result_of::value_at_c<Elements, 0>::type
int_data_type;
typedef fusion::vector<int_data_type> vector_type;
typedef karma::uint_generator<true, T, Radix, ForceSign, key_tag> int_type;
typedef component<karma::domain, int_type, vector_type> type;
-
+
static type
call(Elements const& elements)
{
Modified: branches/CMake/release/boost/spirit/home/karma/operator/alternative.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/operator/alternative.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/operator/alternative.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -65,12 +65,12 @@
return fusion::any(component.elements, f);
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "alternatives[";
fusion::for_each(component.elements,
- spirit::detail::what_function(result));
+ spirit::detail::what_function<Context>(result, ctx));
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/karma/operator/detail/alternative.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/operator/detail/alternative.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/operator/detail/alternative.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -41,16 +41,11 @@
typedef typename mpl::begin<types>::type begin;
typedef typename
- mpl::find_if<
- types,
- is_convertible<mpl::_1, Expected>
- >::type
+ mpl::find_if<types, is_same<mpl::_1, Expected> >::type
iter;
typedef typename mpl::not_<is_same<iter, end> >::type type;
enum { value = type::value };
-
-
};
template <typename Expected>
@@ -117,18 +112,18 @@
{
// If this alternative is a sequence, we wrap the attribute into a
// fusion sequence.
- template <typename Parameter>
- static fusion::vector<Parameter const&>
- wrap_attribute(Parameter const& param, mpl::true_)
+ template <typename Parameter_>
+ static fusion::vector<Parameter_ const&>
+ wrap_attribute(Parameter_ const& param, mpl::true_)
{
return fusion::vector<Parameter const&>(param);
}
// If this alternative is not a sequence the parameter is passed
// through unchanged.
- template <typename Parameter>
- static Parameter const&
- wrap_attribute(Parameter const& param, mpl::false_)
+ template <typename Parameter_>
+ static Parameter_ const&
+ wrap_attribute(Parameter_ const& param, mpl::false_)
{
return param;
}
Modified: branches/CMake/release/boost/spirit/home/karma/operator/kleene.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/operator/kleene.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/operator/kleene.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -72,8 +72,8 @@
// return false;
// }
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "kleene[";
@@ -81,7 +81,7 @@
spirit::result_of::subject<Component>::type::director
director;
- result += director::what(spirit::subject(component));
+ result += director::what(spirit::subject(component), ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/karma/operator/list.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/operator/list.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/operator/list.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -70,8 +70,8 @@
return false;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "list[";
@@ -83,9 +83,9 @@
spirit::result_of::right<Component>::type::director
rdirector;
- result += ldirector::what(spirit::left(component));
+ result += ldirector::what(spirit::left(component), ctx);
result += ", ";
- result += rdirector::what(spirit::right(component));
+ result += rdirector::what(spirit::right(component), ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/karma/operator/optional.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/operator/optional.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/operator/optional.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -79,8 +79,8 @@
return true;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "optional[";
@@ -88,7 +88,7 @@
spirit::result_of::subject<Component>::type::director
director;
- result += director::what(spirit::subject(component));
+ result += director::what(spirit::subject(component), ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/karma/operator/plus.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/operator/plus.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/operator/plus.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -75,8 +75,8 @@
// return false;
// }
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "plus[";
@@ -84,7 +84,7 @@
spirit::result_of::subject<Component>::type::director
director;
- result += director::what(spirit::subject(component));
+ result += director::what(spirit::subject(component), ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/karma/operator/sequence.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/operator/sequence.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/operator/sequence.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -73,12 +73,12 @@
return !spirit::any_if(component.elements, param, f, predicate());
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "sequence[";
fusion::for_each(component.elements,
- spirit::detail::what_function(result));
+ spirit::detail::what_function<Context>(result, ctx));
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/karma/stream/stream.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/stream/stream.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/stream/stream.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -17,20 +17,20 @@
#include <iosfwd>
///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit
-{
+namespace boost { namespace spirit
+{
// overload the streaming operators for the unused_type
template <typename Char, typename Traits>
- inline std::basic_ostream<Char, Traits>&
+ inline std::basic_ostream<Char, Traits>&
operator<< (std::basic_ostream<Char, Traits>& os, unused_type)
{
return os;
}
-
+
}}
///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace karma
+namespace boost { namespace spirit { namespace karma
{
template <typename Char>
struct any_stream
@@ -42,24 +42,24 @@
};
// any_stream has a parameter attached
-
+
// this overload will be used in the normal case (not called from
// format_manip).
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, Parameter const& param)
{
- typedef
- karma::detail::iterator_sink<OutputIterator, Char>
+ typedef
+ karma::detail::iterator_sink<OutputIterator, Char>
sink_device;
iostreams::stream<sink_device> ostr(sink);
ostr << param << std::flush; // use existing operator<<()
-
+
if (ostr.good()) {
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return true;
}
return false;
@@ -68,48 +68,48 @@
// this is a special overload to detect if the output iterator has been
// generated by a format_manip object.
template <
- typename Component, typename T, typename Traits,
+ typename Component, typename T, typename Traits,
typename Context, typename Delimiter, typename Parameter
>
- static bool
- generate(Component const& component,
+ static bool
+ generate(Component const& component,
karma::detail::output_iterator<
- karma::detail::ostream_iterator<T, Char, Traits>
- >& sink, Context&, Delimiter const& d, Parameter const& param)
+ karma::detail::ostream_iterator<T, Char, Traits>
+ >& sink, Context&, Delimiter const& d, Parameter const& param)
{
typedef karma::detail::output_iterator<
- karma::detail::ostream_iterator<T, Char, Traits>
+ karma::detail::ostream_iterator<T, Char, Traits>
> output_iterator;
- typedef
- karma::detail::iterator_sink<output_iterator, Char>
+ typedef
+ karma::detail::iterator_sink<output_iterator, Char>
sink_device;
iostreams::stream<sink_device> ostr(sink);
ostr.imbue(sink.get_ostream().getloc());
ostr << param << std::flush; // use existing operator<<()
-
+
if (ostr.good()) {
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return true;
}
return false;
}
-
- // this any_stream has no parameter attached, it needs to have been
+
+ // this any_stream has no parameter attached, it needs to have been
// initialized from a value/variable
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter>
- static bool
- generate(Component const&, OutputIterator&, Context&, Delimiter const&,
- unused_type)
+ static bool
+ generate(Component const&, OutputIterator&, Context&, Delimiter const&,
+ unused_type)
{
- BOOST_MPL_ASSERT_MSG(false, stream__not_usable_without_parameter,
+ BOOST_MPL_ASSERT_MSG(false, stream__not_usable_without_parameter,
(Component, OutputIterator, Delimiter));
return false;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "any-stream";
}
@@ -126,22 +126,22 @@
};
// stream_director has a parameter attached
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, Parameter const&)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, Parameter const&)
{
- typedef
- karma::detail::iterator_sink<OutputIterator, Char>
+ typedef
+ karma::detail::iterator_sink<OutputIterator, Char>
sink_device;
// use existing operator<<()
iostreams::stream<sink_device> ostr(sink);
- ostr << fusion::at_c<0>(component.elements) << std::flush;
-
+ ostr << fusion::at_c<0>(component.elements) << std::flush;
+
if (ostr.good()) {
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return true;
}
return false;
@@ -150,41 +150,41 @@
// this is a special overload to detect if the output iterator has been
// generated by a format_manip object.
template <
- typename Component, typename T, typename Traits,
+ typename Component, typename T, typename Traits,
typename Context, typename Delimiter, typename Parameter
>
- static bool
- generate(Component const& component,
+ static bool
+ generate(Component const& component,
karma::detail::output_iterator<
- karma::detail::ostream_iterator<T, Char, Traits>
- >& sink, Context&, Delimiter const& d, Parameter const&)
+ karma::detail::ostream_iterator<T, Char, Traits>
+ >& sink, Context&, Delimiter const& d, Parameter const&)
{
typedef karma::detail::output_iterator<
- karma::detail::ostream_iterator<T, Char, Traits>
+ karma::detail::ostream_iterator<T, Char, Traits>
> output_iterator;
- typedef
- karma::detail::iterator_sink<output_iterator, Char>
+ typedef
+ karma::detail::iterator_sink<output_iterator, Char>
sink_device;
// use existing operator<<()
iostreams::stream<sink_device> ostr(sink);
ostr.imbue(sink.get_ostream().getloc());
- ostr << fusion::at_c<0>(component.elements) << std::flush;
-
+ ostr << fusion::at_c<0>(component.elements) << std::flush;
+
if (ostr.good()) {
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return true;
}
return false;
}
-
- template <typename Component>
- static std::string what(Component const& component)
+
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "stream";
}
};
-
+
}}}
#endif
Modified: branches/CMake/release/boost/spirit/home/karma/string/lit.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/string/lit.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/string/lit.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,6 +1,6 @@
// Copyright (c) 2001-2008 Hartmut Kaiser
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#if !defined(BOOST_SPIRIT_KARMA_LIT_FEB_22_2007_0534PM)
@@ -35,32 +35,32 @@
};
// lit has a parameter attached
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& /*component*/, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& /*component*/, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, Parameter const& param)
{
bool result = detail::string_generate(sink, param);
if (result)
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return result;
}
- // this lit has no parameter attached, it needs to have been
+ // this lit has no parameter attached, it needs to have been
// initialized from a direct literal
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, unused_type)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, unused_type)
{
BOOST_MPL_ASSERT_MSG(false, lit_not_usable_without_parameter, ());
return false;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "any-string";
}
@@ -78,21 +78,21 @@
typedef unused_type type;
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, Parameter const& /*param*/)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, Parameter const& /*param*/)
{
bool result = detail::string_generate(sink,
fusion::at_c<0>(component.elements));
-
- karma::delimit(sink, d); // always do post-delimiting
+
+ karma::delimit(sink, d); // always do post-delimiting
return result;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return std::string("\"")
+ spirit::detail::to_narrow_string(
@@ -113,21 +113,21 @@
typedef unused_type type;
};
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& ctx, Delimiter const& d, Parameter const& /*param*/)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& ctx, Delimiter const& d, Parameter const& /*param*/)
{
bool result = detail::string_generate(sink,
fusion::at_c<0>(component.elements)(unused, ctx));
-
- karma::delimit(sink, d); // always do post-delimiting
+
+ karma::delimit(sink, d); // always do post-delimiting
return result;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "string";
}
@@ -146,36 +146,36 @@
};
// case_any_string has a parameter attached
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter, typename Parameter>
- static bool
- generate(Component const& /*component*/, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, Parameter const& param)
+ static bool
+ generate(Component const& /*component*/, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, Parameter const& param)
{
bool result = detail::string_generate(sink, param, Tag());
- karma::delimit(sink, d); // always do post-delimiting
+ karma::delimit(sink, d); // always do post-delimiting
return result;
}
- // this case_any_string has no parameter attached, it needs to have been
+ // this case_any_string has no parameter attached, it needs to have been
// initialized from a direct literal
- template <typename Component, typename OutputIterator,
+ template <typename Component, typename OutputIterator,
typename Context, typename Delimiter>
- static bool
- generate(Component const& component, OutputIterator& sink,
- Context& /*ctx*/, Delimiter const& d, unused_type)
+ static bool
+ generate(Component const& component, OutputIterator& sink,
+ Context& /*ctx*/, Delimiter const& d, unused_type)
{
BOOST_MPL_ASSERT_MSG(false, lit_not_usable_without_parameter, ());
return false;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
typedef typename Tag::char_set char_set;
typedef typename Tag::char_class char_class_;
- return std::string("any-") +
+ return std::string("any-") +
spirit::char_class::what<char_set>::is(char_class_())
+ "case-string";
}
@@ -200,18 +200,18 @@
typedef std::basic_string<Char> string_type;
typedef fusion::vector<string_type> vector_type;
- typedef
- component<karma::domain, karma::literal_string<Char>, vector_type>
+ typedef
+ component<karma::domain, karma::literal_string<Char>, vector_type>
type;
-
+
static type
call(Elements const& elements)
{
typedef typename Modifier::char_set char_set;
-
+
string_type val(fusion::at_c<0>(elements));
typename string_type::iterator end = val.end();
- for (typename string_type::iterator it = val.begin();
+ for (typename string_type::iterator it = val.begin();
it != end; ++it)
{
*it = char_set::tolower(*it);
@@ -233,18 +233,18 @@
typedef std::basic_string<Char> string_type;
typedef fusion::vector<string_type> vector_type;
- typedef
- component<karma::domain, karma::literal_string<Char>, vector_type>
+ typedef
+ component<karma::domain, karma::literal_string<Char>, vector_type>
type;
-
+
static type
call(Elements const& elements)
{
typedef typename Modifier::char_set char_set;
-
+
string_type val(fusion::at_c<0>(elements));
typename string_type::iterator end = val.end();
- for (typename string_type::iterator it = val.begin();
+ for (typename string_type::iterator it = val.begin();
it != end; ++it)
{
*it = char_set::toupper(*it);
@@ -269,11 +269,11 @@
typedef typename Modifier::char_set char_set;
typedef spirit::char_class::tag::lower char_class_;
typedef spirit::char_class::key<char_set, char_class_> key_tag;
-
+
typedef component<
karma::domain, karma::case_any_string<Char, key_tag>, fusion::nil
> type;
-
+
static type
call(Elements const&)
{
@@ -293,11 +293,11 @@
typedef typename Modifier::char_set char_set;
typedef spirit::char_class::tag::upper char_class_;
typedef spirit::char_class::key<char_set, char_class_> key_tag;
-
+
typedef component<
karma::domain, karma::case_any_string<Char, key_tag>, fusion::nil
> type;
-
+
static type
call(Elements const&)
{
Modified: branches/CMake/release/boost/spirit/home/karma/what.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/karma/what.hpp (original)
+++ branches/CMake/release/boost/spirit/home/karma/what.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -28,7 +28,7 @@
typedef typename component::director director;
component c = spirit::as_component(karma::domain(), xpr);
- return director::what(c);
+ return director::what(c, unused);
}
}}}
Modified: branches/CMake/release/boost/spirit/home/lex/lexer/lexertl/iterator_tokenizer.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/lex/lexer/lexertl/iterator_tokenizer.hpp (original)
+++ branches/CMake/release/boost/spirit/home/lex/lexer/lexertl/iterator_tokenizer.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -20,6 +20,9 @@
{
public:
typedef std::vector<std::size_t> size_t_vector;
+ typedef
+ typename boost::detail::iterator_traits<Iterator>::value_type
+ char_type;
// static std::size_t next (const std::size_t * const lookup_,
// std::size_t const dfa_alphabet_, const std::size_t * const dfa_,
@@ -93,7 +96,8 @@
// return id_;
// }
- static std::size_t next (boost::lexer::state_machine const& state_machine_,
+ static std::size_t next (
+ boost::lexer::basic_state_machine<char_type> const& state_machine_,
std::size_t &dfa_state_, Iterator const& start_,
Iterator &start_token_, Iterator const& end_)
{
@@ -186,7 +190,8 @@
///////////////////////////////////////////////////////////////////////
static
- std::size_t next (boost::lexer::state_machine const& state_machine_,
+ std::size_t next (
+ boost::lexer::basic_state_machine<char_type> const& state_machine_,
Iterator const& start_, Iterator &start_token_, Iterator const& end_)
{
if (start_token_ == end_) return 0;
Modified: branches/CMake/release/boost/spirit/home/lex/lexer/lexertl/lexertl_functor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/lex/lexer/lexertl/lexertl_functor.hpp (original)
+++ branches/CMake/release/boost/spirit/home/lex/lexer/lexertl/lexertl_functor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -77,7 +77,7 @@
std::size_t get_state() const { return 0; }
void set_state_name (char_type const* state) {}
- boost::lexer::state_machine const& state_machine;
+ boost::lexer::basic_state_machine<char_type> const& state_machine;
boost::lexer::basic_rules<char_type> const& rules;
Iterator& first;
Iterator last;
Modified: branches/CMake/release/boost/spirit/home/lex/lexer/lexertl/lexertl_generate_static.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/lex/lexer/lexertl/lexertl_generate_static.hpp (original)
+++ branches/CMake/release/boost/spirit/home/lex/lexer/lexertl/lexertl_generate_static.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -67,7 +67,7 @@
// Generate a tokenizer for the given state machine.
template <typename Char>
inline bool
- generate_cpp (boost::lexer::state_machine const& sm_,
+ generate_cpp (boost::lexer::basic_state_machine<Char> const& sm_,
boost::lexer::basic_rules<Char> const& rules_,
std::ostream &os_, char const* name_suffix = "",
bool skip_on_nomatch = true, bool optimize_parameters = true)
Modified: branches/CMake/release/boost/spirit/home/lex/lexer/lexertl/lexertl_lexer.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/lex/lexer/lexertl/lexertl_lexer.hpp (original)
+++ branches/CMake/release/boost/spirit/home/lex/lexer/lexertl/lexertl_lexer.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -47,6 +47,7 @@
case '.':
case '^': case '$':
case '\\':
+ case '"':
return true;
default:
@@ -205,7 +206,7 @@
private:
// this type is purely used for the iterator_type construction below
struct iterator_data_type {
- boost::lexer::state_machine const& state_machine_;
+ boost::lexer::basic_state_machine<char_type> const& state_machine_;
boost::lexer::basic_rules<char_type> const& rules_;
typename Functor::semantic_actions_type const& actions_;
};
@@ -323,7 +324,7 @@
}
private:
- mutable boost::lexer::state_machine state_machine;
+ mutable boost::lexer::basic_state_machine<char_type> state_machine;
boost::lexer::basic_rules<char_type> rules;
typename Functor::semantic_actions_type actions;
mutable bool initialized_dfa;
Modified: branches/CMake/release/boost/spirit/home/lex/lexer/terminal_director.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/lex/lexer/terminal_director.hpp (original)
+++ branches/CMake/release/boost/spirit/home/lex/lexer/terminal_director.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -45,8 +45,8 @@
first, last, context, skipper, attr);
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return subject(component).held->what();
}
Modified: branches/CMake/release/boost/spirit/home/lex/qi/state/state_switcher.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/lex/qi/state/state_switcher.hpp (original)
+++ branches/CMake/release/boost/spirit/home/lex/qi/state/state_switcher.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -71,8 +71,8 @@
return true;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result("set_state(\"");
result += spirit::detail::to_narrow_string(
@@ -148,8 +148,8 @@
last, context, skipper, attr);
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result("in_state(\"");
result += spirit::detail::to_narrow_string(
@@ -160,7 +160,7 @@
spirit::result_of::subject<Component>::type::director
director;
- result += director::what(subject(component));
+ result += director::what(subject(component), ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/lex/qi/utility/plain_token.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/lex/qi/utility/plain_token.hpp (original)
+++ branches/CMake/release/boost/spirit/home/lex/qi/utility/plain_token.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -56,8 +56,8 @@
return false;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result("token(\"");
result += lexical_cast<std::string>(
Modified: branches/CMake/release/boost/spirit/home/lex/tokenize_and_parse.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/lex/tokenize_and_parse.hpp (original)
+++ branches/CMake/release/boost/spirit/home/lex/tokenize_and_parse.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -82,21 +82,6 @@
}
///////////////////////////////////////////////////////////////////////////
- template <
- typename Iterator, typename LexerExpr,
- template <typename, typename> class Def
- >
- inline bool
- tokenize_and_parse(Iterator& first, Iterator last, LexerExpr const& lex,
- qi::grammar_class<Def>& gc)
- {
- typedef typename LexerExpr::iterator_type iterator_type;
- Def<iterator_type, unused_type> def(gc);
- qi::grammar<Def<iterator_type, unused_type> > g(def);
- return tokenize_and_parse(first, last, lex, g);
- }
-
- ///////////////////////////////////////////////////////////////////////////
template <typename Iterator, typename LexerExpr, typename ParserExpr,
typename Attribute>
inline bool
@@ -123,21 +108,6 @@
}
///////////////////////////////////////////////////////////////////////////
- template <
- typename Iterator, typename LexerExpr,
- template <typename, typename> class Def, typename Attribute
- >
- inline bool
- tokenize_and_parse(Iterator& first, Iterator last, LexerExpr const& lex,
- qi::grammar_class<Def>& gc, Attribute& attr)
- {
- typedef typename LexerExpr::iterator_type iterator_type;
- Def<iterator_type, unused_type> def(gc);
- qi::grammar<Def<iterator_type, unused_type> > g(def);
- return tokenize_and_parse(first, last, lex, g, attr);
- }
-
- ///////////////////////////////////////////////////////////////////////////
//
// The tokenize_and_phrase_parse() function is one of the main Spirit API
// functions. It simplifies using a lexer as the underlying token source
@@ -229,21 +199,6 @@
///////////////////////////////////////////////////////////////////////////
template <
- typename Iterator, typename LexerExpr,
- template <typename, typename> class Def, typename Skipper
- >
- inline bool
- tokenize_and_phrase_parse(Iterator& first, Iterator last,
- LexerExpr const& lex, qi::grammar_class<Def>& gc, Skipper const& skipper)
- {
- typedef typename LexerExpr::iterator_type iterator_type;
- Def<iterator_type, unused_type> def(gc);
- qi::grammar<Def<iterator_type, unused_type> > g(def);
- return tokenize_and_phrase_parse(first, last, lex, g, skipper);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <
typename Iterator, typename LexerExpr, typename ParserExpr,
typename Attribute, typename Skipper
>
@@ -288,23 +243,6 @@
}
///////////////////////////////////////////////////////////////////////////
- template <
- typename Iterator, typename LexerExpr,
- template <typename, typename> class Def,
- typename Skipper, typename Attribute
- >
- inline bool
- tokenize_and_phrase_parse(Iterator& first, Iterator last,
- LexerExpr const& lex, qi::grammar_class<Def>& gc, Skipper const& skipper,
- Attribute& attr)
- {
- typedef typename LexerExpr::iterator_type iterator_type;
- Def<iterator_type, unused_type> def(gc);
- qi::grammar<Def<iterator_type, unused_type> > g(def);
- return tokenize_and_phrase_parse(first, last, lex, g, skipper, attr);
- }
-
- ///////////////////////////////////////////////////////////////////////////
//
// The tokenize() function is one of the main Spirit API functions. It
// simplifies using a lexer to tokenize a given input sequence. It's main
Modified: branches/CMake/release/boost/spirit/home/qi/action/action.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/action/action.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/action/action.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -81,14 +81,14 @@
return false;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
typedef typename
result_of::left<Component>::type::director
director;
- return director::what(spirit::left(component));
+ return director::what(spirit::left(component), ctx);
}
};
}}}
Modified: branches/CMake/release/boost/spirit/home/qi/auxiliary/eps.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/auxiliary/eps.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/auxiliary/eps.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -36,8 +36,8 @@
return true;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "eps";
}
@@ -65,8 +65,8 @@
return fusion::at_c<0>(component.elements)(unused, context);
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "semantic-predicate";
}
Modified: branches/CMake/release/boost/spirit/home/qi/auxiliary/functor_director.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/auxiliary/functor_director.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/auxiliary/functor_director.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -40,8 +40,8 @@
return subject(component).held->parse(first, last, context, attr);
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "functor";
}
Modified: branches/CMake/release/boost/spirit/home/qi/auxiliary/lazy.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/auxiliary/lazy.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/auxiliary/lazy.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -74,8 +74,8 @@
parse(subject, first, last, context, skipper, attr);
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
//~ typedef typename
//~ result_of::subject<Component>::type
@@ -96,7 +96,7 @@
//~ qi::domain(), fusion::at_c<0>(component.elements)(unused, unused));
std::string result = "lazy[";
- //~ result += component_type::director::what(subject);
+ //~ result += component_type::director::what(subject, ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/qi/auxiliary/none.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/auxiliary/none.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/auxiliary/none.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -35,8 +35,8 @@
return false;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "none";
}
Modified: branches/CMake/release/boost/spirit/home/qi/auxiliary/primitives.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/auxiliary/primitives.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/auxiliary/primitives.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -20,7 +20,7 @@
struct end_director_base
{
typedef mpl::false_ stores_iterator;
-
+
template <typename Component, typename Context, typename Iterator>
struct attribute
{
@@ -46,7 +46,7 @@
template <typename Iterator>
bool test(Iterator& first, Iterator const& last);
};
-
+
///////////////////////////////////////////////////////////////////////////
// same as end_director_base above, but stores iterator
///////////////////////////////////////////////////////////////////////////
@@ -86,13 +86,13 @@
template <typename Iterator>
bool test(Iterator& first, Iterator const& last);
};
-
+
///////////////////////////////////////////////////////////////////////////
// ~eoi, ~eol: 'not end of line' or 'not end of input'
template <typename Positive>
- struct negated_end_director
+ struct negated_end_director
: end_director_base<
- negated_end_director<Positive>,
+ negated_end_director<Positive>,
typename Positive::director::stores_iterator
>
{
@@ -102,11 +102,11 @@
return !Positive::director::test(first, last);
}
- template <typename Component>
- static std::string what(Component const&component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
- return "not " +
- Positive::director::what(fusion::at_c<0>(component.elements));
+ return "not " +
+ Positive::director::what(fusion::at_c<0>(component.elements), ctx);
}
};
@@ -119,15 +119,15 @@
{
return first == last;
}
-
- template <typename Component>
- static std::string what(Component const&)
+
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "eoi";
}
};
-
-
+
+
///////////////////////////////////////////////////////////////////////////
// the eol_director matches line endings
///////////////////////////////////////////////////////////////////////////
@@ -150,13 +150,13 @@
return matched;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "eol";
}
};
-
+
///////////////////////////////////////////////////////////////////////////////
}}}
Modified: branches/CMake/release/boost/spirit/home/qi/binary/binary.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/binary/binary.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/binary/binary.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -136,8 +136,8 @@
return true;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return qi::detail::what<endian>::is();
}
@@ -182,8 +182,8 @@
return true;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return qi::detail::what<endian>::is();
}
Modified: branches/CMake/release/boost/spirit/home/qi/char/char.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/char/char.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/char/char.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -35,8 +35,8 @@
return true;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "any-char";
}
@@ -60,8 +60,8 @@
return detail::get_char(fusion::at_c<0>(component.elements)) == ch;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return std::string("'")
+ spirit::detail::to_narrow_char(
@@ -82,8 +82,8 @@
return component.ptr->test(ch);
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "char-set";
}
@@ -114,10 +114,13 @@
return fusion::at_c<0>(component.elements)(unused, context) == ch;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
- return "char";
+ return std::string("'")
+ + spirit::detail::to_narrow_char(
+ fusion::at_c<0>(component.elements)(unused, ctx))
+ + '\'';
}
};
@@ -135,8 +138,8 @@
!(fusion::at_c<1>(component.elements) < ch);
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result;
result += std::string("'") + fusion::at_c<0>(component.elements) + '\'';
@@ -173,8 +176,8 @@
!(fusion::at_c<1>(component.elements)(unused, context) < ch);
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "char-range";
}
@@ -200,8 +203,8 @@
;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result;
result += std::string("'")
@@ -232,8 +235,8 @@
;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result;
result += std::string("'") + fusion::at_c<0>(component.elements) + '\'';
Modified: branches/CMake/release/boost/spirit/home/qi/char/char_class.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/char/char_class.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/char/char_class.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -35,8 +35,8 @@
return classify<char_set>::is(char_class_(), ch);
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
typedef spirit::char_class::what<char_set> what_;
return what_::is(char_class_());
Modified: branches/CMake/release/boost/spirit/home/qi/char/char_parser.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/char/char_parser.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/char/char_parser.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -70,11 +70,11 @@
fusion::at_c<0>(component.elements), ch, context);
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return std::string("not ")
- + Positive::director::what(fusion::at_c<0>(component.elements));
+ + Positive::director::what(fusion::at_c<0>(component.elements), ctx);
}
};
}}}
Modified: branches/CMake/release/boost/spirit/home/qi/detail/expect_function.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/detail/expect_function.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/detail/expect_function.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -41,7 +41,7 @@
is_first = false;
return true;
}
- Exception x = {first, last, director::what(component) };
+ Exception x = {first, last, director::what(component, context) };
throw x;
}
is_first = false;
@@ -62,7 +62,7 @@
is_first = false;
return true;
}
- Exception x = {first, last, director::what(component) };
+ Exception x = {first, last, director::what(component, context) };
throw x;
}
is_first = false;
Modified: branches/CMake/release/boost/spirit/home/qi/directive/lexeme.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/directive/lexeme.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/directive/lexeme.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -49,8 +49,8 @@
spirit::subject(component), first, last, context, unused, attr);
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "lexeme[";
@@ -58,7 +58,7 @@
result_of::subject<Component>::type::director
director;
- result += director::what(subject(component));
+ result += director::what(subject(component), ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/qi/directive/omit.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/directive/omit.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/directive/omit.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -40,8 +40,8 @@
spirit::subject(component), first, last, context, skipper, unused);
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "omit[";
@@ -49,7 +49,7 @@
result_of::subject<Component>::type::director
director;
- result += director::what(subject(component));
+ result += director::what(subject(component), ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/qi/directive/raw.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/directive/raw.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/directive/raw.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -47,8 +47,8 @@
return false;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "raw[";
@@ -56,7 +56,7 @@
result_of::subject<Component>::type::director
director;
- result += director::what(subject(component));
+ result += director::what(subject(component), ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/qi/nonterminal/grammar.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/nonterminal/grammar.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/nonterminal/grammar.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,6 +9,7 @@
#include <boost/spirit/home/support/unused.hpp>
#include <boost/spirit/home/qi/nonterminal/nonterminal.hpp>
+#include <boost/spirit/home/qi/nonterminal/grammar_fwd.hpp>
#include <boost/spirit/home/qi/domain.hpp>
#include <boost/spirit/home/qi/nonterminal/rule.hpp>
#include <boost/spirit/home/qi/nonterminal/nonterminal_director.hpp>
@@ -18,100 +19,10 @@
namespace boost { namespace spirit { namespace qi
{
- template <typename Definition>
+ template <typename Iterator, typename T0 , typename T1 , typename T2>
struct grammar
: nonterminal<
- grammar<Definition>
- , typename Definition::sig_type
- , typename Definition::locals_type
- >, noncopyable
- {
- typedef typename Definition::sig_type sig_type;
- typedef typename Definition::locals_type locals_type;
- typedef typename Definition::skipper_type skipper_type;
- typedef typename Definition::start_type start_type;
- typedef typename Definition::iterator_type iterator_type;
-
- template <typename Definition_>
- explicit grammar(Definition_ const& definition)
- : definition(definition)
- , start(definition.start)
- {
- }
-
- template <typename Definition_, typename Start>
- grammar(Definition_ const& definition, Start const& start)
- : definition(definition)
- , start(start)
- {
- }
-
- private:
-
- template <typename Iterator, typename Context, typename Skipper>
- bool parse(
- Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper) const
- {
- return start.parse(first, last, context, skipper);
- }
-
- std::string what() const
- {
- if (definition.name().empty())
- {
- return start.what();
- }
- else
- {
- return definition.name();
- }
- }
-
- friend struct nonterminal_director;
- Definition const& definition;
- start_type const& start;
- };
-
- template <
- typename Iterator
- , typename T0 = unused_type
- , typename T1 = unused_type
- , typename T2 = unused_type
- >
- struct grammar_def : noncopyable
- {
- typedef Iterator iterator_type;
- typedef qi::rule<Iterator, T0, T1, T2> start_type;
- typedef typename start_type::sig_type sig_type;
- typedef typename start_type::locals_type locals_type;
- typedef typename start_type::skipper_type skipper_type;
-
- grammar_def(std::string const& name_ = std::string())
- : name_(name_) {}
-
- std::string name() const
- {
- return name_;
- }
-
- void name(std::string const& name__)
- {
- name_ = name__;
- }
-
- std::string name_;
- };
-
- template <
- typename Iterator
- , typename T0 = unused_type
- , typename T1 = unused_type
- , typename T2 = unused_type
- >
- struct grammar_
- : nonterminal<
- grammar_<Iterator, T0, T1, T2>
+ grammar<Iterator, T0, T1, T2>
, typename qi::rule<Iterator, T0, T1, T2>::sig_type
, typename qi::rule<Iterator, T0, T1, T2>::locals_type
>, noncopyable
@@ -121,9 +32,9 @@
typedef typename start_type::sig_type sig_type;
typedef typename start_type::locals_type locals_type;
typedef typename start_type::skipper_type skipper_type;
- typedef grammar_<Iterator, T0, T1, T2> base_type;
+ typedef grammar<Iterator, T0, T1, T2> base_type;
- grammar_(start_type const& start, std::string const& name_ = std::string())
+ grammar(start_type const& start, std::string const& name_ = std::string())
: start(start), name_(name_) {}
std::string name() const
@@ -136,8 +47,8 @@
name_ = name__;
}
- std::string name_;
start_type const& start;
+ std::string name_;
private:
@@ -163,80 +74,6 @@
friend struct nonterminal_director;
};
-
- ///////////////////////////////////////////////////////////////////////////
- // The grammar_class template
- ///////////////////////////////////////////////////////////////////////////
- template <template <typename, typename> class Def>
- struct grammar_class {};
-
- template <typename Iterator, template <typename, typename> class Def>
- inline bool
- parse(
- Iterator& first
- , Iterator last
- , grammar_class<Def>& gc)
- {
- Def<Iterator, unused_type> def(gc);
- grammar<Def<Iterator, unused_type> > g(def);
- return parse(first, last, g);
- }
-
- template <typename Iterator
- , template <typename, typename> class Def, typename Attr>
- inline bool
- parse(
- Iterator& first
- , Iterator last
- , grammar_class<Def>& gc
- , Attr& attr)
- {
- Def<Iterator, unused_type> def(gc);
- grammar<Def<Iterator, unused_type> > g(def);
- return parse(first, last, g, attr);
- }
-
- template <typename Iterator
- , template <typename, typename> class Def, typename Skipper>
- inline bool
- phrase_parse(
- Iterator& first
- , Iterator last
- , grammar_class<Def>& gc
- , Skipper const& skipper_)
- {
- typedef typename
- result_of::as_component<qi::domain, Skipper>::type
- skipper_type;
-
- skipper_type skipper = spirit::as_component(qi::domain(), skipper_);
-
- Def<Iterator, skipper_type> def(gc);
- grammar<Def<Iterator, skipper_type> > g(def);
- return phrase_parse(first, last, g, skipper);
- }
-
- template <typename Iterator
- , template <typename, typename> class Def, typename Attr, typename Skipper>
- inline bool
- phrase_parse(
- Iterator& first
- , Iterator last
- , grammar_class<Def>& gc
- , Attr& attr
- , Skipper const& skipper_)
- {
- typedef typename
- result_of::as_component<qi::domain, Skipper>::type
- skipper_type;
-
- skipper_type skipper = spirit::as_component(qi::domain(), skipper_);
-
- Def<Iterator, skipper_type> def(gc);
- grammar<Def<Iterator, skipper_type> > g(def);
- return phrase_parse(first, last, g, attr, skipper);
- }
-
}}}
#endif
Modified: branches/CMake/release/boost/spirit/home/qi/nonterminal/nonterminal_director.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/nonterminal/nonterminal_director.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/nonterminal/nonterminal_director.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -159,8 +159,8 @@
return x.ptr->what();
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return what_nonterminal(subject(component).held);
}
Modified: branches/CMake/release/boost/spirit/home/qi/nonterminal/rule.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/nonterminal/rule.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/nonterminal/rule.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,6 +9,7 @@
#include <boost/spirit/home/support/unused.hpp>
#include <boost/spirit/home/qi/nonterminal/nonterminal.hpp>
+#include <boost/spirit/home/qi/nonterminal/grammar_fwd.hpp>
#include <boost/spirit/home/qi/nonterminal/detail/rule.hpp>
#include <boost/spirit/home/qi/nonterminal/detail/error_handler.hpp>
#include <boost/spirit/home/qi/domain.hpp>
@@ -23,9 +24,6 @@
namespace boost { namespace spirit { namespace qi
{
- // forward declarations
- template <typename Definition>
- struct grammar;
namespace detail { struct rule_decorator; }
template <
@@ -86,7 +84,7 @@
// temp workaround for mpl problem
BOOST_STATIC_ASSERT(is_component::value);
-
+
define(xpr, mpl::false_());
return *this;
}
@@ -143,11 +141,8 @@
private:
- template <typename Definition>
- friend struct grammar;
-
template <typename Iterator_, typename T0_, typename T1_, typename T2_>
- friend struct grammar_;
+ friend struct grammar;
friend struct detail::rule_decorator;
@@ -176,8 +171,8 @@
{
// If the following line produces a compilation error stating the
// 4th parameter is not convertible to the expected type, then you
- // are probably trying to use this rule instance with a skipper
- // which is not compatible with the skipper type used while
+ // are probably trying to use this rule instance with a skipper
+ // which is not compatible with the skipper type used while
// defining the type of this rule instance.
return ptr->parse(first, last, context, skipper);
}
Modified: branches/CMake/release/boost/spirit/home/qi/numeric/int.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/numeric/int.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/numeric/int.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -42,8 +42,8 @@
::call(first, last, attr);
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "integer";
}
Modified: branches/CMake/release/boost/spirit/home/qi/numeric/real.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/numeric/real.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/numeric/real.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -49,8 +49,8 @@
return detail::real_impl<T, RealPolicies>::parse(first, last, attr, p);
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "real number";
}
Modified: branches/CMake/release/boost/spirit/home/qi/numeric/uint.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/numeric/uint.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/numeric/uint.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -42,8 +42,8 @@
::call(first, last, attr);
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "unsigned integer";
}
Modified: branches/CMake/release/boost/spirit/home/qi/operator/alternative.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/operator/alternative.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/operator/alternative.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -82,12 +82,12 @@
return fusion::any(component.elements, f);
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "alternatives[";
fusion::for_each(component.elements,
- spirit::detail::what_function(result));
+ spirit::detail::what_function<Context>(result, ctx));
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/qi/operator/and_predicate.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/operator/and_predicate.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/operator/and_predicate.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -39,8 +39,8 @@
subject(component), i, last, context, skipper, unused);
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "and-predicate[";
@@ -48,7 +48,7 @@
result_of::subject<Component>::type::director
director;
- result += director::what(subject(component));
+ result += director::what(subject(component), ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/qi/operator/difference.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/operator/difference.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/operator/difference.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -66,8 +66,8 @@
return ldirector::parse(left(component), first, last, context, skipper, attr);
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "difference[";
@@ -79,9 +79,9 @@
result_of::right<Component>::type::director
rdirector;
- result += ldirector::what(left(component));
+ result += ldirector::what(left(component), ctx);
result += ", ";
- result += rdirector::what(right(component));
+ result += rdirector::what(right(component), ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/qi/operator/kleene.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/operator/kleene.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/operator/kleene.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -66,8 +66,8 @@
return true;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "kleene[";
@@ -75,7 +75,7 @@
result_of::subject<Component>::type::director
director;
- result += director::what(subject(component));
+ result += director::what(subject(component), ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/qi/operator/list.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/operator/list.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/operator/list.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -72,8 +72,8 @@
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "list[";
@@ -85,9 +85,9 @@
result_of::right<Component>::type::director
rdirector;
- result += ldirector::what(left(component));
+ result += ldirector::what(left(component), ctx);
result += ", ";
- result += rdirector::what(right(component));
+ result += rdirector::what(right(component), ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/qi/operator/not_predicate.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/operator/not_predicate.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/operator/not_predicate.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -39,8 +39,8 @@
subject(component), i, last, context, skipper, unused);
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "not-predicate[";
@@ -48,7 +48,7 @@
result_of::subject<Component>::type::director
director;
- result += director::what(subject(component));
+ result += director::what(subject(component), ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/qi/operator/optional.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/operator/optional.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/operator/optional.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -67,8 +67,8 @@
return true;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "optional[";
@@ -76,7 +76,7 @@
result_of::subject<Component>::type::director
director;
- result += director::what(subject(component));
+ result += director::what(subject(component), ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/qi/operator/permutation.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/operator/permutation.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/operator/permutation.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -81,12 +81,12 @@
return result;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "permutation[";
fusion::for_each(component.elements,
- spirit::detail::what_function(result));
+ spirit::detail::what_function<Context>(result, ctx));
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/qi/operator/plus.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/operator/plus.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/operator/plus.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -73,8 +73,8 @@
return false;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "plus[";
@@ -82,7 +82,7 @@
result_of::subject<Component>::type::director
director;
- result += director::what(subject(component));
+ result += director::what(subject(component), ctx);
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/qi/operator/sequence_base.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/operator/sequence_base.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/operator/sequence_base.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -75,12 +75,12 @@
return true;
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = Derived::what_();
fusion::for_each(component.elements,
- spirit::detail::what_function(result));
+ spirit::detail::what_function<Context>(result, ctx));
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/qi/operator/sequential_or.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/operator/sequential_or.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/operator/sequential_or.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -60,12 +60,12 @@
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
std::string result = "sequential-or[";
fusion::for_each(component.elements,
- spirit::detail::what_function(result));
+ spirit::detail::what_function<Context>(result, ctx));
result += "]";
return result;
}
Modified: branches/CMake/release/boost/spirit/home/qi/stream/stream.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/stream/stream.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/stream/stream.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -61,8 +61,8 @@
return in.good() || in.eof();
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return "any-stream";
}
Modified: branches/CMake/release/boost/spirit/home/qi/string/lit.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/string/lit.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/string/lit.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -53,8 +53,8 @@
);
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return std::string("\"")
+ spirit::detail::to_narrow_string(
@@ -102,10 +102,14 @@
);
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
- return "string";
+ return std::string("\"")
+ + spirit::detail::to_narrow_string(
+ fusion::at_c<0>(component.elements)(unused, ctx))
+ + std::string("\"")
+ ;
}
};
@@ -141,8 +145,8 @@
);
}
- template <typename Component>
- static std::string what(Component const& component)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
return std::string("case-insensitive \"")
+ spirit::detail::to_narrow_string(
Modified: branches/CMake/release/boost/spirit/home/qi/string/symbols.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/string/symbols.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/string/symbols.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -62,8 +62,8 @@
return false;
}
- template <typename Component>
- static std::string what(Component const&)
+ template <typename Component, typename Context>
+ static std::string what(Component const& component, Context const& ctx)
{
// perhaps we should show some of the contents?
return "symbols";
Modified: branches/CMake/release/boost/spirit/home/qi/what.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/qi/what.hpp (original)
+++ branches/CMake/release/boost/spirit/home/qi/what.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -26,7 +26,7 @@
typedef typename result_of::as_component<qi::domain, Expr>::type component;
typedef typename component::director director;
component c = spirit::as_component(qi::domain(), xpr);
- return director::what(c);
+ return director::what(c, unused);
}
}}}
Modified: branches/CMake/release/boost/spirit/home/support/detail/action_dispatch.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/action_dispatch.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/action_dispatch.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -15,8 +15,9 @@
namespace boost { namespace spirit { namespace detail
{
// general handler for everything not explicitly specialized below
- template <typename F, typename Attribute, typename Context, typename Pass>
- bool action_dispatch(F const& f, Attribute& attr, Context& context, Pass)
+ template <typename F, typename Attribute, typename Context, bool IsSequence>
+ bool action_dispatch(F const& f, Attribute& attr, Context& context
+ , mpl::bool_<IsSequence>)
{
bool pass = true;
f(attr, context, pass);
@@ -24,7 +25,7 @@
}
// handler for phoenix actors
-
+
// If the component this action has to be invoked for is a sequence, we
// wrap any non-fusion sequence into a fusion sequence (done by pass_value)
// and pass through any fusion sequence.
@@ -46,16 +47,17 @@
, Attribute& attr, Context& context, mpl::false_)
{
bool pass = true;
- f (fusion::vector<Attribute&>(attr), context, pass);
+ fusion::vector<Attribute&> wrapped_attr(attr);
+ f (wrapped_attr, context, pass);
return pass;
}
// specializations for plain function pointers taking a different number of
// arguments
template <typename RT, typename A0, typename A1, typename A2
- , typename Attribute, typename Context, typename Pass>
+ , typename Attribute, typename Context, bool IsSequence>
bool action_dispatch(RT(*f)(A0, A1, A2)
- , Attribute& attr, Context& context, Pass)
+ , Attribute& attr, Context& context, mpl::bool_<IsSequence>)
{
bool pass = true;
f(attr, context, pass);
@@ -63,26 +65,27 @@
}
template <typename RT, typename A0, typename A1
- , typename Attribute, typename Context, typename Pass>
+ , typename Attribute, typename Context, bool IsSequence>
bool action_dispatch(RT(*f)(A0, A1)
- , Attribute& attr, Context& context, Pass)
+ , Attribute& attr, Context& context, mpl::bool_<IsSequence>)
{
f(attr, context);
return true;
}
template <typename RT, typename A0
- , typename Attribute, typename Context, typename Pass>
+ , typename Attribute, typename Context, bool IsSequence>
bool action_dispatch(RT(*f)(A0)
- , Attribute& attr, Context&, Pass)
+ , Attribute& attr, Context&, mpl::bool_<IsSequence>)
{
f(attr);
return true;
}
- template <typename RT, typename Attribute, typename Context, typename Pass>
+ template <typename RT
+ , typename Attribute, typename Context, bool IsSequence>
bool action_dispatch(RT(*f)()
- , Attribute&, Context&, Pass)
+ , Attribute&, Context&, mpl::bool_<IsSequence>)
{
f();
return true;
Modified: branches/CMake/release/boost/spirit/home/support/detail/hold_any.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/hold_any.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/hold_any.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -43,7 +43,7 @@
: from(src.name()), to(dest.name())
{}
- virtual const char* what() throw() { return "bad any cast"; }
+ virtual const char* what() const throw() { return "bad any cast"; }
const char* from;
const char* to;
Deleted: branches/CMake/release/boost/spirit/home/support/detail/lexer/char_state_machine.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/char_state_machine.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
+++ (empty file)
@@ -1,62 +0,0 @@
-// char_state_machine.hpp
-// Copyright (c) 2007 Ben Hanson
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_LEXER_CHAR_STATE_MACHINE_HPP
-#define BOOST_LEXER_CHAR_STATE_MACHINE_HPP
-
-#include "consts.hpp"
-#include <map>
-#include "size_t.hpp"
-#include "string_token.hpp"
-#include <vector>
-
-namespace boost
-{
-namespace lexer
-{
-template<typename CharT>
-struct basic_char_state_machine
-{
- struct state
- {
- typedef basic_string_token<CharT> string_token;
- typedef std::map<std::size_t, string_token> size_t_string_token_map;
- typedef std::pair<std::size_t, string_token> size_t_string_token_pair;
-
- bool _end_state;
- std::size_t _id;
- std::size_t _state;
- std::size_t _bol_index;
- std::size_t _eol_index;
- size_t_string_token_map _transitions;
-
- state () :
- _end_state (false),
- _id (0),
- _state (0),
- _bol_index (npos),
- _eol_index (npos)
- {
- }
- };
-
- typedef std::vector<state> state_vector;
- typedef std::vector<state_vector> state_vector_vector;
-
- state_vector_vector _sm_vector;
-
- void clear ()
- {
- _sm_vector.clear ();
- }
-};
-
-typedef basic_char_state_machine<char> char_state_machine;
-typedef basic_char_state_machine<wchar_t> wchar_state_machine;
-
-}
-}
-
-#endif
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/char_traits.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/char_traits.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/char_traits.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// char_traits.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -13,39 +13,41 @@
{
namespace lexer
{
- template<typename CharT>
- struct char_traits
- {
- typedef CharT index_type;
-
- static index_type call(CharT ch)
- {
- return ch;
- }
- };
+template<typename CharT>
+struct char_traits
+{
+ typedef CharT char_type;
+ typedef CharT index_type;
- template<>
- struct char_traits<char>
+ static index_type call (CharT ch)
{
- typedef unsigned char index_type;
-
- static index_type call(char ch)
- {
- return static_cast<index_type>(ch);
- }
- };
+ return ch;
+ }
+};
- template<>
- struct char_traits<wchar_t>
+template<>
+struct char_traits<char>
+{
+ typedef char char_type;
+ typedef unsigned char index_type;
+
+ static index_type call (char ch)
{
- typedef wchar_t index_type;
+ return static_cast<index_type>(ch);
+ }
+};
- static index_type call(wchar_t ch)
- {
- return ch;
- }
- };
+template<>
+struct char_traits<wchar_t>
+{
+ typedef wchar_t char_type;
+ typedef wchar_t index_type;
+ static index_type call (wchar_t ch)
+ {
+ return ch;
+ }
+};
}
}
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/consts.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/consts.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/consts.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// consts.h
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -14,16 +14,16 @@
{
namespace lexer
{
- // 0 = end state, 1 = id, 2 = lex state, 3 = bol, 4 = eol
+ // 0 = end state, 1 = id, 2 = lex state, 3 = bol, 4 = eol,
// 5 = dead_state_index
enum {end_state_index, id_index, state_index, bol_index, eol_index,
dead_state_index, dfa_offset};
const std::size_t max_macro_len = 20;
const std::size_t num_chars = 256;
- const std::size_t num_wchar_ts =
- (boost::integer_traits<wchar_t>::const_max < 0x110000) ?
- boost::integer_traits<wchar_t>::const_max : 0x110000;
+ const std::size_t num_wchar_ts =
+ (boost::integer_traits<wchar_t>::const_max < 0x110000) ?
+ boost::integer_traits<wchar_t>::const_max : 0x110000;
const std::size_t null_token = static_cast<std::size_t> (~0);
const std::size_t bol_token = static_cast<std::size_t> (~1);
const std::size_t eol_token = static_cast<std::size_t> (~2);
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/containers/ptr_list.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/containers/ptr_list.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/containers/ptr_list.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// ptr_list.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -12,7 +12,7 @@
{
namespace lexer
{
-namespace internal
+namespace detail
{
template<typename Type>
class ptr_list
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/containers/ptr_vector.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/containers/ptr_vector.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/containers/ptr_vector.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// ptr_vector.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -13,7 +13,7 @@
{
namespace lexer
{
-namespace internal
+namespace detail
{
template<typename Type>
class ptr_vector
@@ -60,6 +60,25 @@
return _vector[index_];
}
+ bool operator == (const ptr_vector &rhs_) const
+ {
+ bool equal_ = _vector.size () == rhs_._vector.size ();
+
+ if (equal_)
+ {
+ typename vector::const_iterator lhs_iter_ = _vector.begin ();
+ typename vector::const_iterator end_ = _vector.end ();
+ typename vector::const_iterator rhs_iter_ = rhs_._vector.begin ();
+
+ for (; equal_ && lhs_iter_ != end_; ++lhs_iter_, ++rhs_iter_)
+ {
+ equal_ = **lhs_iter_ == **rhs_iter_;
+ }
+ }
+
+ return equal_;
+ }
+
void clear ()
{
if (!_vector.empty ())
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/debug.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/debug.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/debug.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// debug.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -112,55 +112,56 @@
}
}
- static void dump (const state_machine &state_machine_, ostream &stream_)
+ static void dump (const basic_state_machine<CharT> &state_machine_, ostream &stream_)
{
- basic_char_state_machine<CharT> char_state_machine_;
+ typename basic_state_machine<CharT>::iterator iter_ =
+ state_machine_.begin ();
+ typename basic_state_machine<CharT>::iterator end_ =
+ state_machine_.end ();
- state_machine_.human_readable (char_state_machine_);
-
- for (std::size_t state_ = 0,
- states_ = char_state_machine_._sm_vector.size ();
- state_ < states_; ++state_)
+ for (std::size_t dfa_ = 0, dfas_ = state_machine_.size ();
+ dfa_ < dfas_; ++dfa_)
{
- const typename basic_char_state_machine<CharT>::state *ptr_ =
- &char_state_machine_._sm_vector[state_].front ();
- const std::size_t size_ = char_state_machine_.
- _sm_vector[state_].size ();
+ const std::size_t states_ = iter_->states;
- for (std::size_t i_ = 0; i_ < size_; ++i_, ++ptr_)
+ for (std::size_t i_ = 0; i_ < states_; ++i_)
{
state (stream_);
stream_ << i_ << std::endl;
- if (ptr_->_end_state)
+ if (iter_->end_state)
{
end_state (stream_);
- stream_ << ptr_->_id;
+ stream_ << iter_->id;
dfa (stream_);
- stream_ << ptr_->_state;
+ stream_ << iter_->goto_dfa;
stream_ << std::endl;
}
- if (ptr_->_bol_index != npos)
+ if (iter_->bol_index != npos)
{
bol (stream_);
- stream_ << ptr_->_bol_index << std::endl;
+ stream_ << iter_->bol_index << std::endl;
}
- if (ptr_->_eol_index != npos)
+ if (iter_->eol_index != npos)
{
eol (stream_);
- stream_ << ptr_->_eol_index << std::endl;
+ stream_ << iter_->eol_index << std::endl;
+ }
+
+ const std::size_t transitions_ = iter_->transitions;
+
+ if (transitions_ == 0)
+ {
+ ++iter_;
}
- for (typename basic_char_state_machine<CharT>::state::
- size_t_string_token_map::const_iterator iter_ = ptr_->
- _transitions.begin (), end_ = ptr_->_transitions.end ();
- iter_ != end_; ++iter_)
+ for (std::size_t t_ = 0; t_ < transitions_; ++t_)
{
- std::size_t transition_ = iter_->first;
+ std::size_t goto_state_ = iter_->goto_state;
- if (iter_->second.any ())
+ if (iter_->token.any ())
{
any (stream_);
}
@@ -168,20 +169,30 @@
{
open_bracket (stream_);
- if (iter_->second._negated)
+ if (iter_->token._negated)
{
negated (stream_);
}
string charset_;
+ CharT c_ = 0;
- escape_control_chars (iter_->second._charset,
+ escape_control_chars (iter_->token._charset,
charset_);
+ c_ = *charset_.c_str ();
+
+ if (!iter_->token._negated &&
+ (c_ == '^' || c_ == ']'))
+ {
+ stream_ << '\\';
+ }
+
stream_ << charset_;
close_bracket (stream_);
}
- stream_ << transition_ << std::endl;
+ stream_ << goto_state_ << std::endl;
+ ++iter_;
}
stream_ << std::endl;
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/generate_cpp.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/generate_cpp.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/generate_cpp.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,10 +1,10 @@
-// cpp_code.hpp
-// Copyright (c) 2008 Ben Hanson
+// generate_cpp_code.hpp
+// Copyright (c) 2008 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_LEXER_EXAMPLE_CPP_CODE_HPP
-#define BOOST_LEXER_EXAMPLE_CPP_CODE_HPP
+#ifndef BOOST_LEXER_GENERATE_CPP_CODE_HPP
+#define BOOST_LEXER_GENERATE_CPP_CODE_HPP
#include "char_traits.hpp"
#include "consts.hpp"
@@ -19,7 +19,8 @@
{
namespace lexer
{
-void generate_cpp (const state_machine &sm_, std::ostream &os_,
+template<typename CharT>
+void generate_cpp (const basic_state_machine<CharT> &sm_, std::ostream &os_,
const bool use_pointers_ = false, const bool skip_unknown_ = true,
const bool optimise_parameters_ = true, const char *name_ = "next_token")
{
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/generator.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/generator.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/generator.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,13 +1,14 @@
// generator.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_LEXER_GENERATOR_HPP
#define BOOST_LEXER_GENERATOR_HPP
-#include <cstring> // memcmp
#include "char_traits.hpp"
+// memcmp()
+#include <cstring>
#include "partition/charset.hpp"
#include "partition/equivset.hpp"
#include <memory>
@@ -25,10 +26,10 @@
class basic_generator
{
public:
- typedef state_machine::size_t_vector size_t_vector;
+ typedef typename basic_state_machine<CharT>::size_t_vector size_t_vector;
typedef basic_rules<CharT> rules;
- static void build (const rules &rules_, state_machine &state_machine_)
+ static void build (const rules &rules_, basic_state_machine<CharT> &state_machine_)
{
std::size_t index_ = 0;
std::size_t size_ = rules_.statemap ().size ();
@@ -56,7 +57,7 @@
// vector mapping token indexes to partitioned token index sets
index_set_vector set_mapping_;
// syntax tree
- internal::node *root_ = build_tree (rules_, index_,
+ detail::node *root_ = build_tree (rules_, index_,
node_ptr_vector_, state_machine_._lookup[index_],
set_mapping_, state_machine_._dfa_alphabet[index_],
state_machine_._seen_BOL_assertion,
@@ -69,7 +70,7 @@
}
}
- static void minimise (state_machine &state_machine_)
+ static void minimise (basic_state_machine<CharT> &state_machine_)
{
const std::size_t machines_ = state_machine_._dfa->size ();
@@ -92,30 +93,30 @@
}
protected:
- typedef internal::basic_charset<CharT> charset;
- typedef internal::ptr_list<charset> charset_list;
+ typedef detail::basic_charset<CharT> charset;
+ typedef detail::ptr_list<charset> charset_list;
typedef std::auto_ptr<charset> charset_ptr;
- typedef internal::equivset equivset;
- typedef internal::ptr_list<equivset> equivset_list;
+ typedef detail::equivset equivset;
+ typedef detail::ptr_list<equivset> equivset_list;
typedef std::auto_ptr<equivset> equivset_ptr;
typedef typename charset::index_set index_set;
typedef std::vector<index_set> index_set_vector;
- typedef internal::basic_parser<CharT> parser;
+ typedef detail::basic_parser<CharT> parser;
typedef typename parser::node_ptr_vector node_ptr_vector;
- typedef std::set<const internal::node *> node_set;
- typedef internal::ptr_vector<node_set> node_set_vector;
- typedef std::vector<const internal::node *> node_vector;
- typedef internal::ptr_vector<node_vector> node_vector_vector;
+ typedef std::set<const detail::node *> node_set;
+ typedef detail::ptr_vector<node_set> node_set_vector;
+ typedef std::vector<const detail::node *> node_vector;
+ typedef detail::ptr_vector<node_vector> node_vector_vector;
typedef typename parser::string string;
typedef std::pair<string, string> string_pair;
typedef typename parser::tokeniser::string_token string_token;
typedef std::deque<string_pair> macro_deque;
- typedef std::pair<string, const internal::node *> macro_pair;
+ typedef std::pair<string, const detail::node *> macro_pair;
typedef typename parser::macro_map::iterator macro_iter;
typedef std::pair<macro_iter, bool> macro_iter_pair;
typedef typename parser::tokeniser::token_map token_map;
- static internal::node *build_tree (const rules &rules_,
+ static detail::node *build_tree (const rules &rules_,
const std::size_t state_, node_ptr_vector &node_ptr_vector_,
size_t_vector *lookup_, index_set_vector &set_mapping_,
std::size_t &dfa_alphabet_, bool &seen_BOL_assertion_,
@@ -139,14 +140,14 @@
const typename rules::string_pair_deque ¯odeque_ =
rules_.macrodeque ();
typename parser::macro_map macromap_;
- typename internal::node::node_vector tree_vector_;
+ typename detail::node::node_vector tree_vector_;
build_macros (token_map_, macrodeque_, macromap_,
rules_.case_sensitive (), rules_.locale (), node_ptr_vector_,
rules_.dot_not_newline (), seen_BOL_assertion_,
seen_EOL_assertion_);
- internal::node *root_ = parser::parse (regex_.c_str (),
+ detail::node *root_ = parser::parse (regex_.c_str (),
regex_.c_str () + regex_.size (), *ids_iter_, *states_iter_,
rules_.case_sensitive (), rules_.dot_not_newline (),
rules_.locale (), node_ptr_vector_, macromap_, token_map_,
@@ -178,9 +179,9 @@
if (seen_BOL_assertion_)
{
// Fixup BOLs
- typename internal::node::node_vector::iterator iter_ =
+ typename detail::node::node_vector::iterator iter_ =
tree_vector_.begin ();
- typename internal::node::node_vector::iterator end_ =
+ typename detail::node::node_vector::iterator end_ =
tree_vector_.end ();
for (; iter_ != end_; ++iter_)
@@ -191,9 +192,9 @@
// join trees
{
- typename internal::node::node_vector::iterator iter_ =
+ typename detail::node::node_vector::iterator iter_ =
tree_vector_.begin ();
- typename internal::node::node_vector::iterator end_ =
+ typename detail::node::node_vector::iterator end_ =
tree_vector_.end ();
if (iter_ != end_)
@@ -205,7 +206,7 @@
for (; iter_ != end_; ++iter_)
{
node_ptr_vector_->push_back (0);
- node_ptr_vector_->back () = new internal::selection_node
+ node_ptr_vector_->back () = new detail::selection_node
(root_, *iter_);
root_ = node_ptr_vector_->back ();
}
@@ -256,7 +257,7 @@
{
const typename rules::string &name_ = iter_->first;
const typename rules::string ®ex_ = iter_->second;
- internal::node *node_ = parser::parse (regex_.c_str (),
+ detail::node *node_ = parser::parse (regex_.c_str (),
regex_.c_str () + regex_.size (), 0, 0, case_sensitive_,
not_dot_newline_, locale_, node_ptr_vector_, macromap_,
token_map_, seen_BOL_assertion_, seen_EOL_assertion_);
@@ -267,11 +268,11 @@
}
}
- static void build_dfa (internal::node *root_,
+ static void build_dfa (detail::node *root_,
const index_set_vector &set_mapping_, const std::size_t dfa_alphabet_,
size_t_vector &dfa_)
{
- typename internal::node::node_vector *followpos_ =
+ typename detail::node::node_vector *followpos_ =
&root_->firstpos ();
node_set_vector seen_sets_;
node_vector_vector seen_vectors_;
@@ -302,7 +303,10 @@
{
ptr_ = &dfa_.front () + ((index_ + 1) * dfa_alphabet_);
- for (typename internal::equivset::index_vector::const_iterator
+ // Prune abstemious transitions from end states.
+ if (*ptr_ && !equivset_->_greedy) continue;
+
+ for (typename detail::equivset::index_vector::const_iterator
equiv_iter_ = equivset_->_index_vector.begin (),
equiv_end_ = equivset_->_index_vector.end ();
equiv_iter_ != equiv_end_; ++equiv_iter_)
@@ -333,7 +337,7 @@
}
}
- static std::size_t closure (typename internal::node::node_vector *followpos_,
+ static std::size_t closure (typename detail::node::node_vector *followpos_,
node_set_vector &seen_sets_, node_vector_vector &seen_vectors_,
size_t_vector &hash_vector_, const std::size_t size_, size_t_vector &dfa_)
{
@@ -348,12 +352,12 @@
std::auto_ptr<node_set> set_ptr_ (new node_set);
std::auto_ptr<node_vector> vector_ptr_ (new node_vector);
- for (typename internal::node::node_vector::const_iterator iter_ =
+ for (typename detail::node::node_vector::const_iterator iter_ =
followpos_->begin (), end_ = followpos_->end ();
iter_ != end_; ++iter_)
{
- closure_ex (*iter_, end_state_, id_, state_, followpos_,
- set_ptr_.get (), vector_ptr_.get (), hash_);
+ closure_ex (*iter_, end_state_, id_, state_, set_ptr_.get (),
+ vector_ptr_.get (), hash_);
}
bool found_ = false;
@@ -399,9 +403,8 @@
return index_;
}
- static void closure_ex (internal::node *node_, bool &end_state_,
- std::size_t &id_, std::size_t &state_,
- typename internal::node::node_vector * /*followpos_*/, node_set *set_ptr_,
+ static void closure_ex (detail::node *node_, bool &end_state_,
+ std::size_t &id_, std::size_t &state_, node_set *set_ptr_,
node_vector *vector_ptr_, std::size_t &hash_)
{
const bool temp_end_state_ = node_->end_state ();
@@ -529,7 +532,7 @@
if (token_._negated)
{
- CharT curr_char_ = sizeof(CharT) == 1 ? -128 : 0;
+ CharT curr_char_ = sizeof (CharT) == 1 ? -128 : 0;
std::size_t i_ = 0;
while (curr_ < chars_end_)
@@ -655,7 +658,7 @@
for (; iter_ != end_; ++iter_)
{
- const internal::node *node_ = *iter_;
+ const detail::node *node_ = *iter_;
if (!node_->end_state ())
{
@@ -671,31 +674,31 @@
index_set_.insert (token_);
list_->back () = new equivset (index_set_,
- node_->followpos ());
+ node_->greedy (), node_->token (), node_->followpos ());
}
else
{
list_->back () = new equivset (set_mapping_[token_],
- node_->followpos ());
+ node_->greedy (), node_->token (), node_->followpos ());
}
}
}
}
}
- static void fixup_bol (internal::node * &root_,
+ static void fixup_bol (detail::node * &root_,
node_ptr_vector &node_ptr_vector_)
{
- typename internal::node::node_vector *first_ = &root_->firstpos ();
+ typename detail::node::node_vector *first_ = &root_->firstpos ();
bool found_ = false;
- typename internal::node::node_vector::const_iterator iter_ =
+ typename detail::node::node_vector::const_iterator iter_ =
first_->begin ();
- typename internal::node::node_vector::const_iterator end_ =
+ typename detail::node::node_vector::const_iterator end_ =
first_->end ();
for (; iter_ != end_; ++iter_)
{
- const internal::node *node_ = *iter_;
+ const detail::node *node_ = *iter_;
found_ = !node_->end_state () && node_->token () == bol_token;
@@ -705,23 +708,23 @@
if (!found_)
{
node_ptr_vector_->push_back (0);
- node_ptr_vector_->back () = new internal::leaf_node (bol_token);
+ node_ptr_vector_->back () = new detail::leaf_node (bol_token, true);
- internal::node *lhs_ = node_ptr_vector_->back ();
+ detail::node *lhs_ = node_ptr_vector_->back ();
node_ptr_vector_->push_back (0);
- node_ptr_vector_->back () = new internal::leaf_node (null_token);
+ node_ptr_vector_->back () = new detail::leaf_node (null_token, true);
- internal::node *rhs_ = node_ptr_vector_->back ();
+ detail::node *rhs_ = node_ptr_vector_->back ();
node_ptr_vector_->push_back (0);
node_ptr_vector_->back () =
- new internal::selection_node (lhs_, rhs_);
+ new detail::selection_node (lhs_, rhs_);
lhs_ = node_ptr_vector_->back ();
node_ptr_vector_->push_back (0);
node_ptr_vector_->back () =
- new internal::sequence_node (lhs_, root_);
+ new detail::sequence_node (lhs_, root_);
root_ = node_ptr_vector_->back ();
}
}
@@ -755,8 +758,10 @@
continue;
}
- using namespace std; // some systems have memcmp in namespace std
- if (memcmp (first_, second_, sizeof(std::size_t) *
+ // Some systems have memcmp in namespace std.
+ using namespace std;
+
+ if (memcmp (first_, second_, sizeof (std::size_t) *
dfa_alphabet_) == 0)
{
index_set_.insert (curr_index_);
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/parser.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/parser.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/parser.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// parser.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -20,7 +20,7 @@
{
namespace lexer
{
-namespace internal
+namespace detail
{
template<typename CharT>
class basic_parser
@@ -104,7 +104,7 @@
assert (tree_node_stack_.size () == 1);
- node *lhs_node_ = tree_node_stack_.top ();
+ node *lhs_node_ = tree_node_stack_.top ();
tree_node_stack_.pop ();
@@ -187,28 +187,38 @@
repeat (handle_, token_stack_);
break;
case token::CHARSET:
- charset (handle_, token_stack_, node_vector_ptr_, tree_node_stack_);
+ charset (handle_, token_stack_, node_vector_ptr_,
+ tree_node_stack_);
break;
case token::MACRO:
- macro (handle_, token_stack_, macromap_, node_vector_ptr_, tree_node_stack_);
+ macro (handle_, token_stack_, macromap_, node_vector_ptr_,
+ tree_node_stack_);
break;
case token::OPENPAREN:
openparen (handle_, token_stack_);
break;
case token::OPT:
- optional (node_vector_ptr_, tree_node_stack_);
+ case token::AOPT:
+ optional (rhs_._type == token::OPT, node_vector_ptr_,
+ tree_node_stack_);
token_stack_.push (token::DUP);
break;
case token::ZEROORMORE:
- zero_or_more (node_vector_ptr_, tree_node_stack_);
+ case token::AZEROORMORE:
+ zero_or_more (rhs_._type == token::ZEROORMORE, node_vector_ptr_,
+ tree_node_stack_);
token_stack_.push (token::DUP);
break;
case token::ONEORMORE:
- one_or_more (node_vector_ptr_, tree_node_stack_);
+ case token::AONEORMORE:
+ one_or_more (rhs_._type == token::ONEORMORE, node_vector_ptr_,
+ tree_node_stack_);
token_stack_.push (token::DUP);
break;
case token::REPEATN:
- repeatn (handle_.top (), node_vector_ptr_, tree_node_stack_);
+ case token::AREPEATN:
+ repeatn (rhs_._type == token::REPEATN, handle_.top (),
+ node_vector_ptr_, tree_node_stack_);
token_stack_.push (token::DUP);
break;
default:
@@ -243,7 +253,7 @@
node_ptr_vector &node_ptr_vector_, tree_node_stack &tree_node_stack_)
{
assert (handle_.top ()._type == token::SUB &&
- (handle_.size () == 1 || handle_.size () == 2));
+ handle_.size () == 1 || handle_.size () == 2);
if (handle_.size () == 1)
{
@@ -262,7 +272,7 @@
static void repeat (token_stack &handle_, token_stack &token_stack_)
{
assert (handle_.top ()._type == token::REPEAT &&
- (handle_.size () >= 1 && handle_.size () <= 3));
+ handle_.size () >= 1 && handle_.size () <= 3);
if (handle_.size () == 1)
{
@@ -286,7 +296,7 @@
const size_t id_ = handle_.top ()._id;
- node_ptr_vector_->back () = new leaf_node (id_);
+ node_ptr_vector_->back () = new leaf_node (id_, true);
tree_node_stack_.push (node_ptr_vector_->back ());
token_stack_.push (token::REPEAT);
}
@@ -352,7 +362,7 @@
static void sequence (node_ptr_vector &node_ptr_vector_,
tree_node_stack &tree_node_stack_)
{
- node *rhs_ = tree_node_stack_.top ();
+ node *rhs_ = tree_node_stack_.top ();
tree_node_stack_.pop ();
@@ -363,15 +373,24 @@
tree_node_stack_.top () = node_ptr_vector_->back ();
}
- static void optional (node_ptr_vector &node_ptr_vector_,
- tree_node_stack &tree_node_stack_)
+ static void optional (const bool greedy_,
+ node_ptr_vector &node_ptr_vector_, tree_node_stack &tree_node_stack_)
{
// perform ?
node *lhs_ = tree_node_stack_.top ();
+ // You don't know if lhs_ is a leaf_node, so get firstpos.
+ node::node_vector &firstpos_ = lhs_->firstpos();
+
+ for (node::node_vector::iterator iter_ = firstpos_.begin (),
+ end_ = firstpos_.end (); iter_ != end_; ++iter_)
+ {
+ // These are leaf_nodes!
+ (*iter_)->greedy (greedy_);
+ }
node_ptr_vector_->push_back (0);
- node *rhs_ = new leaf_node (null_token);
+ node *rhs_ = new leaf_node (null_token, greedy_);
node_ptr_vector_->back () = rhs_;
node_ptr_vector_->push_back (0);
@@ -379,27 +398,27 @@
tree_node_stack_.top () = node_ptr_vector_->back ();
}
- static void zero_or_more (node_ptr_vector &node_ptr_vector_,
- tree_node_stack &tree_node_stack_)
+ static void zero_or_more (const bool greedy_,
+ node_ptr_vector &node_ptr_vector_, tree_node_stack &tree_node_stack_)
{
// perform *
node *ptr_ = tree_node_stack_.top ();
node_ptr_vector_->push_back (0);
- node_ptr_vector_->back () = new iteration_node (ptr_);
+ node_ptr_vector_->back () = new iteration_node (ptr_, greedy_);
tree_node_stack_.top () = node_ptr_vector_->back ();
}
- static void one_or_more (node_ptr_vector &node_ptr_vector_,
- tree_node_stack &tree_node_stack_)
+ static void one_or_more (const bool greedy_,
+ node_ptr_vector &node_ptr_vector_, tree_node_stack &tree_node_stack_)
{
// perform +
- node *lhs_ = tree_node_stack_.top ();
+ node *lhs_ = tree_node_stack_.top ();
node *copy_ = lhs_->copy (node_ptr_vector_);
node_ptr_vector_->push_back (0);
- node *rhs_ = new iteration_node (copy_);
+ node *rhs_ = new iteration_node (copy_, greedy_);
node_ptr_vector_->back () = rhs_;
node_ptr_vector_->push_back (0);
@@ -407,7 +426,7 @@
tree_node_stack_.top () = node_ptr_vector_->back ();
}
- static void repeatn (const token &token_,
+ static void repeatn (const bool greedy_, const token &token_,
node_ptr_vector &node_ptr_vector_, tree_node_stack &tree_node_stack_)
{
// perform {n[,[m]]}
@@ -423,7 +442,7 @@
if (token_._min == 0)
{
- optional (node_ptr_vector_, tree_node_stack_);
+ optional (greedy_, node_ptr_vector_, tree_node_stack_);
}
node *prev_ = tree_node_stack_.top ()->copy (node_ptr_vector_);
@@ -431,7 +450,7 @@
for (std::size_t i_ = 2; i_ < top_; ++i_)
{
- node *temp_ = prev_->copy (node_ptr_vector_);
+ node *temp_ = prev_->copy (node_ptr_vector_);
curr_ = temp_;
tree_node_stack_.push (0);
@@ -444,7 +463,7 @@
{
if (token_._min > 1)
{
- node *temp_ = prev_->copy (node_ptr_vector_);
+ node *temp_ = prev_->copy (node_ptr_vector_);
curr_ = temp_;
tree_node_stack_.push (0);
@@ -457,9 +476,9 @@
{
tree_node_stack_.push (0);
tree_node_stack_.top () = prev_;
- optional (node_ptr_vector_, tree_node_stack_);
+ optional (greedy_, node_ptr_vector_, tree_node_stack_);
- node *temp_ = tree_node_stack_.top ();
+ node *temp_ = tree_node_stack_.top ();
tree_node_stack_.pop ();
prev_ = temp_;
@@ -481,9 +500,9 @@
{
tree_node_stack_.push (0);
tree_node_stack_.top () = prev_;
- zero_or_more (node_ptr_vector_, tree_node_stack_);
+ zero_or_more (greedy_, node_ptr_vector_, tree_node_stack_);
- node *temp_ = tree_node_stack_.top ();
+ node *temp_ = tree_node_stack_.top ();
prev_ = temp_;
tree_node_stack_.pop ();
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/num_token.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/num_token.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/num_token.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// num_token.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -7,23 +7,23 @@
#define BOOST_LEXER_NUM_TOKEN_HPP
#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
#include "../../consts.hpp" // null_token
#include "../../size_t.hpp"
+#include <boost/detail/workaround.hpp>
namespace boost
{
namespace lexer
{
-namespace internal
+namespace detail
{
template<typename CharT>
struct basic_num_token
{
enum type {BEGIN, REGEX, OREXP, SEQUENCE, SUB, EXPRESSION, REPEAT,
- DUP, OR, CHARSET, MACRO, OPENPAREN, CLOSEPAREN, OPT,
- ZEROORMORE, ONEORMORE, REPEATN, END};
+ DUP, OR, CHARSET, MACRO, OPENPAREN, CLOSEPAREN, OPT, AOPT,
+ ZEROORMORE, AZEROORMORE, ONEORMORE, AONEORMORE, REPEATN, AREPEATN,
+ END};
type _type;
std::size_t _id;
@@ -102,42 +102,45 @@
template<typename CharT>
const char basic_num_token<CharT>::_precedence_table[END + 1][END + 1] = {
-// BEG, REG, ORE, SEQ, SUB, EXP, RPT, DUP, | , CHR, MCR, ( , ) , ? , * , + , {n}, END
-/*BEGIN*/{' ', '<', '<', '<', '<', '<', '<', ' ', ' ', '<', '<', '<', ' ', ' ', ' ', ' ', ' ', '>'},
-/*REGEX*/{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '=', ' ', ' ', ' ', ' ', '>'},
-/*OREXP*/{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '=', '>', '>', ' ', '>', ' ', ' ', ' ', ' ', '>'},
-/* SEQ */{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', ' ', '>', ' ', ' ', ' ', ' ', '>'},
-/* SUB */{' ', ' ', ' ', ' ', ' ', '=', '<', ' ', '>', '<', '<', '<', '>', ' ', ' ', ' ', ' ', '>'},
-/*EXPRE*/{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', ' ', ' ', ' ', ' ', '>'},
-/* RPT */{' ', ' ', ' ', ' ', ' ', ' ', ' ', '=', '>', '>', '>', '>', '>', '<', '<', '<', '<', '>'},
-/*DUPLI*/{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', ' ', ' ', ' ', ' ', '>'},
-/* | */{' ', ' ', ' ', '=', '<', '<', '<', ' ', ' ', '<', '<', '<', ' ', ' ', ' ', ' ', ' ', ' '},
-/*CHARA*/{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>'},
-/*MACRO*/{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>'},
-/* ( */{' ', '=', '<', '<', '<', '<', '<', ' ', ' ', '<', '<', '<', ' ', ' ', ' ', ' ', ' ', ' '},
-/* ) */{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>'},
-/* ? */{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', ' ', ' ', ' ', ' ', '>'},
-/* * */{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', ' ', ' ', ' ', ' ', '>'},
-/* + */{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', ' ', ' ', ' ', ' ', '>'},
-/*{n,m}*/{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', ' ', ' ', ' ', ' ', '>'},
-/* END */{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}
+// BEG, REG, ORE, SEQ, SUB, EXP, RPT, DUP, | , CHR, MCR, ( , ) , ? , ?? , * , *? , + , +?, {n}?, {n}, END
+/*BEGIN*/{' ', '<', '<', '<', '<', '<', '<', ' ', ' ', '<', '<', '<', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>'},
+/*REGEX*/{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '=', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>'},
+/*OREXP*/{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '=', '>', '>', ' ', '>', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>'},
+/* SEQ */{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', ' ', '>', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>'},
+/* SUB */{' ', ' ', ' ', ' ', ' ', '=', '<', ' ', '>', '<', '<', '<', '>', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>'},
+/*EXPRE*/{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>'},
+/* RPT */{' ', ' ', ' ', ' ', ' ', ' ', ' ', '=', '>', '>', '>', '>', '>', '<', '<', '<', '<', '<', '<', '<', '<', '>'},
+/*DUPLI*/{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>'},
+/* | */{' ', ' ', ' ', '=', '<', '<', '<', ' ', ' ', '<', '<', '<', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '},
+/*CHARA*/{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>'},
+/*MACRO*/{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>'},
+/* ( */{' ', '=', '<', '<', '<', '<', '<', ' ', ' ', '<', '<', '<', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '},
+/* ) */{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>', '>'},
+/* ? */{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', '<', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>'},
+/* ?? */{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>'},
+/* * */{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', '<', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>'},
+/* *? */{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>'},
+/* + */{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', '<', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>'},
+/* +? */{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>'},
+/*{n,m}*/{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', '<', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>'},
+/*{nm}?*/{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>', '>', '>', '>', '>', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '>'},
+/* END */{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}
};
template<typename CharT>
const char *basic_num_token<CharT>::_precedence_strings[END + 1] =
-{
#if BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(910))
- {"BEGIN"}, {"REGEX"}, {"OREXP"}, {"SEQUENCE"}, {"SUB"}, {"EXPRESSION"},
- {"REPEAT"}, {"DUPLICATE"}, {"|"}, {"CHARSET"}, {"MACRO"},
- {"("}, {")"}, {"?"}, {"*"}, {"+"}, {"{n[,[m]]}"}, {"END"}
+{{"BEGIN"}, {"REGEX"}, {"OREXP"}, {"SEQUENCE"}, {"SUB"}, {"EXPRESSION"},
+ {"REPEAT"}, {"DUPLICATE"}, {"|"}, {"CHARSET"}, {"MACRO"},
+ {"("}, {")"}, {"?"}, {"??"}, {"*"}, {"*?"}, {"+"}, {"+?"}, {"{n[,[m]]}"},
+ {"{n[,[m]]}?"}, {"END"}
+}
#else
- "BEGIN", "REGEX", "OREXP", "SEQUENCE", "SUB", "EXPRESSION",
- "REPEAT", "DUPLICATE", "|", "CHARSET", "MACRO",
- "(", ")", "?", "*", "+", "{n[,[m]]}", "END"
-#endif
-};
-
+{"BEGIN", "REGEX", "OREXP", "SEQUENCE", "SUB", "EXPRESSION", "REPEAT",
+ "DUPLICATE", "|", "CHARSET", "MACRO", "(", ")", "?", "??", "*", "*?",
+ "+", "+?", "{n[,[m]]}", "{n[,[m]]}?", "END"};
}
+#endif
}
}
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,13 +1,14 @@
// tokeniser.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_LEXER_RE_TOKENISER_HPP
#define BOOST_LEXER_RE_TOKENISER_HPP
+// memcpy()
+#include <cstring>
#include <map>
-#include <cstring> // memcpy
#include "num_token.hpp"
#include "../../runtime_error.hpp"
#include "../../size_t.hpp"
@@ -19,7 +20,7 @@
{
namespace lexer
{
-namespace internal
+namespace detail
{
template<typename CharT>
class basic_re_tokeniser
@@ -93,13 +94,40 @@
token_.set (num_token::CLOSEPAREN, null_token);
break;
case '?':
- token_.set (num_token::OPT, null_token);
+ if (!state_.eos () && *state_._curr == '?')
+ {
+ token_.set (num_token::AOPT, null_token);
+ state_.increment ();
+ }
+ else
+ {
+ token_.set (num_token::OPT, null_token);
+ }
+
break;
case '*':
- token_.set (num_token::ZEROORMORE, null_token);
+ if (!state_.eos () && *state_._curr == '?')
+ {
+ token_.set (num_token::AZEROORMORE, null_token);
+ state_.increment ();
+ }
+ else
+ {
+ token_.set (num_token::ZEROORMORE, null_token);
+ }
+
break;
case '+':
- token_.set (num_token::ONEORMORE, null_token);
+ if (!state_.eos () && *state_._curr == '?')
+ {
+ token_.set (num_token::AONEORMORE, null_token);
+ state_.increment ();
+ }
+ else
+ {
+ token_.set (num_token::ONEORMORE, null_token);
+ }
+
break;
case '{':
open_curly (state_, token_);
@@ -223,6 +251,12 @@
else if (*state_._curr >= '0' && *state_._curr <= '9')
{
repeat_n (state_, token_);
+
+ if (!state_.eos () && *state_._curr == '?')
+ {
+ token_._type = num_token::AREPEATN;
+ state_.increment ();
+ }
}
else
{
@@ -391,8 +425,8 @@
throw runtime_error ("Unexpected end of regex "
"(missing '}').");
}
- } while (ch_ == '_' || ch_ == '-' || (ch_ >= 'A' && ch_ <= 'Z') ||
- (ch_ >= 'a' && ch_ <= 'z') || (ch_ >= '0' && ch_ <= '9'));
+ } while (ch_ == '_' || ch_ == '-' || ch_ >= 'A' && ch_ <= 'Z' ||
+ ch_ >= 'a' && ch_ <= 'z' || ch_ >= '0' && ch_ <= '9');
if (ch_ != '}')
{
@@ -422,8 +456,11 @@
}
token_.set (num_token::MACRO, null_token);
- using namespace std; // some systems have memcpy in namespace std
- memcpy (token_._macro, start_, len_ * sizeof(CharT));
+
+ // Some systems have memcpy in namespace std.
+ using namespace std;
+
+ memcpy (token_._macro, start_, len_ * sizeof (CharT));
token_._macro[len_] = 0;
}
};
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_helper.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_helper.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_helper.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,14 +1,14 @@
// tokeniser_helper.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_LEXER_RE_TOKENISER_HELPER_H
#define BOOST_LEXER_RE_TOKENISER_HELPER_H
-#include <cstring> // for strlen
-
#include "../../char_traits.hpp"
+// strlen()
+#include <cstring>
#include "../../size_t.hpp"
#include "re_tokeniser_state.hpp"
@@ -16,7 +16,7 @@
{
namespace lexer
{
-namespace internal
+namespace detail
{
template<typename CharT, typename Traits = char_traits<CharT> >
class basic_re_tokeniser_helper
@@ -192,7 +192,9 @@
if (str_)
{
- using namespace std; // some systems have strlen in namespace std
+ // Some systems have strlen in namespace std.
+ using namespace std;
+
str_len_ = strlen (str_);
}
else
@@ -232,7 +234,9 @@
if (str_)
{
- using namespace std; // some systems have wcslen in namespace std
+ // Some systems have wcslen in namespace std.
+ using namespace std;
+
str_len_ = wcslen (str_);
}
else
@@ -310,32 +314,28 @@
static CharT decode_octal (state &state_)
{
std::size_t accumulator_ = 0;
- CharT ch_ = 0;
+ CharT ch_ = *state_._curr;
unsigned short count_ = 3;
- bool eos_ = state_.next (ch_);
+ bool eos_ = false;
- do
+ for (;;)
{
accumulator_ *= 8;
accumulator_ += ch_ - '0';
--count_;
+ state_.increment ();
eos_ = state_.eos ();
- if (!eos_)
- {
- ch_ = *state_._curr;
+ if (!count_ || eos_) break;
- // Don't consume invalid chars!
- if (ch_ >= '0' && ch_ <= '7')
- {
- state_.increment ();
- }
- else
- {
- eos_ = true;
- }
+ ch_ = *state_._curr;
+
+ // Don't consume invalid chars!
+ if (ch_ < '0' || ch_ > '7')
+ {
+ break;
}
- } while (!eos_ && count_);
+ }
return static_cast<CharT> (accumulator_);
}
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_state.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_state.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tokeniser/re_tokeniser_state.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// tokeniser_state.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -13,7 +13,7 @@
{
namespace lexer
{
-namespace internal
+namespace detail
{
template<typename CharT>
struct basic_re_tokeniser_state
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/end_node.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/end_node.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/end_node.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// end_node.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -13,7 +13,7 @@
{
namespace lexer
{
-namespace internal
+namespace detail
{
class end_node : public node
{
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/iteration_node.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/iteration_node.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/iteration_node.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// iteration_node.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -12,14 +12,15 @@
{
namespace lexer
{
-namespace internal
+namespace detail
{
class iteration_node : public node
{
public:
- iteration_node (node *next_) :
+ iteration_node (node *next_, const bool greedy_) :
node (true),
- _next (next_)
+ _next (next_),
+ _greedy (greedy_)
{
node_vector::iterator iter_;
node_vector::iterator end_;
@@ -32,6 +33,12 @@
{
(*iter_)->append_followpos (_firstpos);
}
+
+ for (iter_ = _firstpos.begin (), end_ = _firstpos.end ();
+ iter_ != end_; ++iter_)
+ {
+ (*iter_)->greedy (greedy_);
+ }
}
virtual ~iteration_node ()
@@ -54,6 +61,7 @@
private:
// Not owner of this pointer...
node *_next;
+ bool _greedy;
virtual void copy_node (node_ptr_vector &node_ptr_vector_,
node_stack &new_node_stack_, bool_stack &perform_op_stack_,
@@ -61,10 +69,10 @@
{
if (perform_op_stack_.top ())
{
- node *ptr_ = new_node_stack_.top ();
+ node *ptr_ = new_node_stack_.top ();
node_ptr_vector_->push_back (0);
- node_ptr_vector_->back () = new iteration_node (ptr_);
+ node_ptr_vector_->back () = new iteration_node (ptr_, _greedy);
new_node_stack_.top () = node_ptr_vector_->back ();
}
else
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/leaf_node.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/leaf_node.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/leaf_node.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// leaf_node.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -14,14 +14,16 @@
{
namespace lexer
{
-namespace internal
+namespace detail
{
class leaf_node : public node
{
public:
- leaf_node (const std::size_t token_) :
+ leaf_node (const std::size_t token_, const bool greedy_) :
node (token_ == null_token),
- _token (token_)
+ _token (token_),
+ _set_greedy (!greedy_),
+ _greedy (greedy_)
{
if (!_nullable)
{
@@ -59,6 +61,20 @@
return _token;
}
+ virtual void greedy (const bool greedy_)
+ {
+ if (!_set_greedy)
+ {
+ _greedy = greedy_;
+ _set_greedy = true;
+ }
+ }
+
+ virtual bool greedy () const
+ {
+ return _greedy;
+ }
+
virtual const node_vector &followpos () const
{
return _followpos;
@@ -71,6 +87,8 @@
private:
std::size_t _token;
+ bool _set_greedy;
+ bool _greedy;
node_vector _followpos;
virtual void copy_node (node_ptr_vector &node_ptr_vector_,
@@ -78,7 +96,7 @@
bool &/*down_*/) const
{
node_ptr_vector_->push_back (0);
- node_ptr_vector_->back () = new leaf_node (_token);
+ node_ptr_vector_->back () = new leaf_node (_token, _greedy);
new_node_stack_.push (node_ptr_vector_->back ());
}
};
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/node.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/node.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/node.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// node.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -17,7 +17,7 @@
{
namespace lexer
{
-namespace internal
+namespace detail
{
class node
{
@@ -64,7 +64,7 @@
virtual void append_followpos (const node_vector &/*followpos_*/)
{
- throw runtime_error ("Internal error node::append_followpos");
+ throw runtime_error ("Internal error node::append_followpos()");
}
node *copy (node_ptr_vector &node_ptr_vector_) const
@@ -129,27 +129,37 @@
virtual std::size_t id () const
{
- throw runtime_error ("Internal error node::id");
+ throw runtime_error ("Internal error node::id()");
}
virtual std::size_t lexer_state () const
{
- throw runtime_error ("Internal error node::state");
+ throw runtime_error ("Internal error node::state()");
}
virtual std::size_t token () const
{
- throw runtime_error ("Internal error node::token");
+ throw runtime_error ("Internal error node::token()");
+ }
+
+ virtual void greedy (const bool /*greedy_*/)
+ {
+ throw runtime_error ("Internal error node::token(bool)");
+ }
+
+ virtual bool greedy () const
+ {
+ throw runtime_error ("Internal error node::token()");
}
virtual const node_vector &followpos () const
{
- throw runtime_error ("Internal error node::followpos");
+ throw runtime_error ("Internal error node::followpos()");
}
virtual node_vector &followpos ()
{
- throw runtime_error ("Internal error node::followpos");
+ throw runtime_error ("Internal error node::followpos()");
}
protected:
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/selection_node.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/selection_node.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/selection_node.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// selection_node.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -12,7 +12,7 @@
{
namespace lexer
{
-namespace internal
+namespace detail
{
class selection_node : public node
{
@@ -69,7 +69,7 @@
{
if (perform_op_stack_.top ())
{
- node *rhs_ = new_node_stack_.top ();
+ node *rhs_ = new_node_stack_.top ();
new_node_stack_.pop ();
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/sequence_node.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/sequence_node.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/parser/tree/sequence_node.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// sequence_node.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -12,7 +12,7 @@
{
namespace lexer
{
-namespace internal
+namespace detail
{
class sequence_node : public node
{
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/partition/charset.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/partition/charset.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/partition/charset.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// charset.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -14,7 +14,7 @@
{
namespace lexer
{
-namespace internal
+namespace detail
{
template<typename CharT>
struct basic_charset
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/partition/equivset.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/partition/equivset.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/partition/equivset.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// equivset.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -15,7 +15,7 @@
{
namespace lexer
{
-namespace internal
+namespace detail
{
struct equivset
{
@@ -25,14 +25,20 @@
typedef std::vector<node *> node_vector;
index_vector _index_vector;
+ bool _greedy;
+ std::size_t _id;
node_vector _followpos;
- equivset ()
+ equivset () :
+ _greedy (true),
+ _id (0)
{
}
- equivset (const index_set &index_set_,
- const node_vector &followpos_) :
+ equivset (const index_set &index_set_, const bool greedy_,
+ const std::size_t id_, const node_vector &followpos_) :
+ _greedy (greedy_),
+ _id (id_),
_followpos (followpos_)
{
index_set::const_iterator iter_ = index_set_.begin ();
@@ -55,6 +61,20 @@
if (!overlap_._index_vector.empty ())
{
+ overlap_._id = _id;
+
+ // LHS abstemious transitions have priority.
+ if (_greedy < rhs_._greedy)
+ {
+ overlap_._greedy = _greedy;
+ }
+ else
+ {
+ overlap_._greedy = _greedy;
+ }
+
+ // Note that the LHS takes priority in order to
+ // respect rule ordering priority in the lex spec.
overlap_._followpos = _followpos;
node_vector::const_iterator overlap_begin_ =
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/rules.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/rules.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/rules.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// rules.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -21,7 +21,6 @@
{
namespace lexer
{
-
namespace detail
{
// return name of initial state
@@ -31,13 +30,19 @@
template <>
struct initial<char>
{
- static char const* call() { return "INITIAL"; }
+ static const char *str ()
+ {
+ return "INITIAL";
+ }
};
template <>
struct initial<wchar_t>
{
- static wchar_t const* call() { return L"INITIAL"; }
+ static const wchar_t *str ()
+ {
+ return L"INITIAL";
+ }
};
}
@@ -57,11 +62,11 @@
typedef std::pair<string, std::size_t> string_size_t_pair;
basic_rules (const bool case_sensitive_ = true,
- const bool dot_not_newline_ = false) :
+ const bool dot_not_newline_ = true) :
_case_sensitive (case_sensitive_),
_dot_not_newline (dot_not_newline_)
{
- add_state (detail::initial<CharT>::call());
+ add_state (initial ());
}
void clear ()
@@ -75,8 +80,7 @@
_case_sensitive = true;
_locale = std::locale ();
_dot_not_newline = false;
-
- add_state (detail::initial<CharT>::call());
+ add_state (initial ());
}
void clear (const CharT *state_name_)
@@ -312,9 +316,9 @@
return empty_;
}
- static CharT const* initial()
+ static const CharT *initial ()
{
- return detail::initial<CharT>::call();
+ return detail::initial<CharT>::str ();
}
private:
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/runtime_error.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/runtime_error.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/runtime_error.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// runtime_error.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/serialise.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/serialise.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/serialise.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// examples/serialise.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -14,8 +14,8 @@
namespace lexer
{
// IMPORTANT! This won't work if you don't enable RTTI!
-template<class Archive>
-void serialise (Archive &ar_, state_machine &sm_, unsigned int version_)
+template<typename CharT, class Archive>
+void serialise (basic_state_machine<CharT> &sm_, Archive &ar_, unsigned int version_ = 1)
{
ar_ & version_;
ar_ & *sm_._lookup;
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/size_t.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/size_t.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/size_t.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// size_t.h
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/state_machine.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/state_machine.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/state_machine.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// state_machine.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -7,7 +7,7 @@
#define BOOST_LEXER_STATE_MACHINE_HPP
#include <algorithm>
-#include "char_state_machine.hpp"
+#include "conversion/char_state_machine.hpp"
#include "consts.hpp"
#include <deque>
#include <map>
@@ -19,29 +19,216 @@
{
namespace lexer
{
-struct state_machine
+template<typename CharT>
+class basic_state_machine
{
- typedef std::vector<std::size_t> size_t_vector;
- typedef internal::ptr_vector<size_t_vector> size_t_vector_vector;
+public:
+ class iterator
+ {
+ public:
+#if defined _MSC_VER && _MSC_VER <= 1200
+ friend basic_state_machine;
+#else
+ friend class basic_state_machine;
+#endif
- size_t_vector_vector _lookup;
- size_t_vector _dfa_alphabet;
- size_t_vector_vector _dfa;
- bool _seen_BOL_assertion;
- bool _seen_EOL_assertion;
+ struct data
+ {
+ // Current iterator info
+ std::size_t dfa;
+ std::size_t states;
+ std::size_t state;
+ std::size_t transitions;
+ std::size_t transition;
+
+ // Current state info
+ bool end_state;
+ std::size_t id;
+ std::size_t goto_dfa;
+ std::size_t bol_index;
+ std::size_t eol_index;
+
+ // Current transition info
+ basic_string_token<CharT> token;
+ std::size_t goto_state;
+
+ data () :
+ dfa (npos),
+ states (0),
+ state (npos),
+ transitions (0),
+ transition (npos),
+ end_state (false),
+ id (npos),
+ goto_dfa (npos),
+ bol_index (npos),
+ eol_index (npos),
+ goto_state (npos)
+ {
+ }
+
+ bool operator == (const data &rhs_) const
+ {
+ return dfa == rhs_.dfa &&
+ states == rhs_.states &&
+ state == rhs_.state &&
+ transitions == rhs_.transitions &&
+ transition == rhs_.transition &&
+ end_state == rhs_.end_state &&
+ id == rhs_.id &&
+ goto_dfa == rhs_.goto_dfa &&
+ bol_index == rhs_.bol_index &&
+ eol_index == rhs_.eol_index &&
+ token == rhs_.token &&
+ transition == rhs_.transition;
+ }
+ };
+
+ iterator () :
+ _sm (0),
+ _dfas (0),
+ _dfa (npos),
+ _states (0),
+ _state (npos),
+ _transitions (0),
+ _transition (npos)
+ {
+ }
+
+ bool operator == (const iterator &rhs_) const
+ {
+ return _dfas == rhs_._dfas && _dfa == rhs_._dfa &&
+ _states == rhs_._states && _state == rhs_._state &&
+ _transitions == rhs_._transitions &&
+ _transition == rhs_._transition;
+ }
+
+ bool operator != (const iterator &rhs_) const
+ {
+ return !(*this == rhs_);
+ }
+
+ data &operator * ()
+ {
+ return _data;
+ }
+
+ data *operator -> ()
+ {
+ return &_data;
+ }
+
+ // Let compiler generate operator = ().
+
+ // prefix version
+ iterator &operator ++ ()
+ {
+ next ();
+ return *this;
+ }
+
+ // postfix version
+ iterator operator ++ (int)
+ {
+ iterator iter_ = *this;
+
+ next ();
+ return iter_;
+ }
+
+ void clear ()
+ {
+ _dfas = _states = _transitions = 0;
+ _dfa = _state = _transition = npos;
+ }
+
+ private:
+ basic_state_machine *_sm;
+ data _data;
+ std::size_t _dfas;
+ std::size_t _dfa;
+ std::size_t _states;
+ std::size_t _state;
+ std::size_t _transitions;
+ std::size_t _transition;
+ typename detail::basic_char_state_machine<CharT>::state::
+ size_t_string_token_map::const_iterator _token_iter;
+ typename detail::basic_char_state_machine<CharT>::state::
+ size_t_string_token_map::const_iterator _token_end;
+
+ void next ()
+ {
+ bool reset_state_ = false;
+
+ if (_transition >= _transitions)
+ {
+ _transition = _data.transition = 0;
+ _data.state = ++_state;
+ reset_state_ = true;
+
+ if (_state >= _states)
+ {
+ ++_dfa;
+
+ if (_dfa >= _dfas)
+ {
+ clear ();
+ reset_state_ = false;
+ }
+ else
+ {
+ _states = _sm->_csm._sm_vector[_dfa].size ();
+ _state = _data.state = 0;
+ }
+ }
+ }
+ else
+ {
+ _data.transition = _transition;
+ }
+
+ if (reset_state_)
+ {
+ const typename detail::basic_char_state_machine<CharT>::
+ state *ptr_ = &_sm->_csm._sm_vector[_dfa][_state];
- state_machine () :
+ _transitions = _data.transitions = ptr_->_transitions.size ();
+ _data.end_state = ptr_->_end_state;
+ _data.id = ptr_->_id;
+ _data.goto_dfa = ptr_->_state;
+ _data.bol_index = ptr_->_bol_index;
+ _data.eol_index = ptr_->_eol_index;
+ _token_iter = ptr_->_transitions.begin ();
+ _token_end = ptr_->_transitions.end ();
+ }
+
+ if (_token_iter != _token_end)
+ {
+ _data.token = _token_iter->second;
+ _data.goto_state = _token_iter->first;
+ ++_token_iter;
+ ++_transition;
+ }
+ else
+ {
+ _data.token.clear ();
+ _data.goto_state = npos;
+ }
+ }
+ };
+
+#if defined _MSC_VER && _MSC_VER <= 1200
+ friend iterator;
+#else
+ friend class iterator;
+#endif
+
+ basic_state_machine () :
_seen_BOL_assertion (false),
_seen_EOL_assertion (false)
{
}
- bool empty () const
- {
- return _lookup->empty () && _dfa_alphabet.empty () &&
- _dfa->empty ();
- }
-
void clear ()
{
_lookup.clear ();
@@ -49,19 +236,104 @@
_dfa.clear ();
_seen_BOL_assertion = false;
_seen_EOL_assertion = false;
+ _csm.clear ();
+ }
+
+ bool empty () const
+ {
+ // Don't include _csm in this test, as irrelevant to state.
+ return _lookup->empty () && _dfa_alphabet.empty () &&
+ _dfa->empty ();
}
- void swap (state_machine &sm_)
+ std::size_t size () const
+ {
+ return _dfa->size ();
+ }
+
+ bool operator == (const basic_state_machine &rhs_) const
+ {
+ // Don't include _csm in this test, as irrelevant to state.
+ return _lookup == rhs_._lookup &&
+ _dfa_alphabet == rhs_._dfa_alphabet &&
+ _dfa == rhs_._dfa &&
+ _seen_BOL_assertion == rhs_._seen_BOL_assertion &&
+ _seen_EOL_assertion == rhs_._seen_EOL_assertion;
+ }
+
+ iterator begin () const
+ {
+ iterator iter_;
+
+ iter_._sm = const_cast<basic_state_machine *>(this);
+ check_for_csm ();
+
+ if (!_csm.empty())
+ {
+ const typename detail::basic_char_state_machine<CharT>::
+ state_vector *ptr_ = &_csm._sm_vector[0];
+
+ iter_._dfas = _csm._sm_vector.size ();
+ iter_._states = iter_._data.states = ptr_->size ();
+ iter_._transitions = iter_._data.transitions =
+ ptr_->front ()._transitions.size ();
+ iter_._dfa = iter_._data.dfa = 0;
+ iter_._state = iter_._data.state = 0;
+ iter_._transition = 0;
+ iter_._data.end_state = ptr_->front ()._end_state;
+ iter_._data.id = ptr_->front ()._id;
+ iter_._data.goto_dfa = ptr_->front ()._state;
+ iter_._data.bol_index = ptr_->front ()._bol_index;
+ iter_._data.eol_index = ptr_->front ()._eol_index;
+ iter_._token_iter = ptr_->front ()._transitions.begin ();
+ iter_._token_end = ptr_->front ()._transitions.end ();
+ ++iter_;
+ }
+
+ return iter_;
+ }
+
+ iterator end () const
+ {
+ iterator iter_;
+
+ iter_._sm = const_cast<basic_state_machine *>(this);
+ return iter_;
+ }
+
+ void swap (basic_state_machine &sm_)
{
_lookup->swap (*sm_._lookup);
_dfa_alphabet.swap (sm_._dfa_alphabet);
_dfa->swap (*sm_._dfa);
std::swap (_seen_BOL_assertion, sm_._seen_BOL_assertion);
std::swap (_seen_EOL_assertion, sm_._seen_EOL_assertion);
+ _csm.swap (sm_._csm);
+ }
+
+// VC++ 6, 7.1 and 8 can't cope with template friend classes!
+// #if !(defined _MSC_VER && _MSC_VER < 1500)
+// private:
+// #endif
+ typedef std::vector<std::size_t> size_t_vector;
+ typedef detail::ptr_vector<size_t_vector> size_t_vector_vector;
+
+ size_t_vector_vector _lookup;
+ size_t_vector _dfa_alphabet;
+ size_t_vector_vector _dfa;
+ bool _seen_BOL_assertion;
+ bool _seen_EOL_assertion;
+ mutable detail::basic_char_state_machine<CharT> _csm;
+
+ void check_for_csm () const
+ {
+ if (_csm.empty ())
+ {
+ human_readable (_csm);
+ }
}
- template<typename CharT>
- void human_readable (basic_char_state_machine<CharT> &sm_) const
+ void human_readable (detail::basic_char_state_machine<CharT> &sm_) const
{
const std::size_t max_ = sizeof (CharT) == 1 ?
num_chars : num_wchar_ts;
@@ -98,8 +370,9 @@
for (std::size_t state_index_ = 1; state_index_ < states_;
++state_index_)
{
- typename basic_char_state_machine<CharT>::state *state_ =
- &sm_._sm_vector[start_state_index_][state_index_ - 1];
+ typename detail::basic_char_state_machine<CharT>::state
+ *state_ = &sm_._sm_vector[start_state_index_]
+ [state_index_ - 1];
state_->_end_state = *read_ptr_ != 0;
state_->_id = *(read_ptr_ + id_index);
@@ -116,15 +389,15 @@
if (transition_ != 0)
{
const std::size_t i_ = transition_ - 1;
- typename basic_char_state_machine<CharT>::state::
- size_t_string_token_map::iterator iter_ =
+ typename detail::basic_char_state_machine<CharT>::
+ state::size_t_string_token_map::iterator iter_ =
state_->_transitions.find (i_);
if (iter_ == state_->_transitions.end ())
{
basic_string_token<CharT> token_
(false, chars_[col_index_]);
- typename basic_char_state_machine<CharT>::
+ typename detail::basic_char_state_machine<CharT>::
state::size_t_string_token_pair pair_
(i_, token_);
@@ -137,7 +410,7 @@
}
}
- for (typename basic_char_state_machine<CharT>::state::
+ for (typename detail::basic_char_state_machine<CharT>::state::
size_t_string_token_map::iterator iter_ =
state_->_transitions.begin (),
end_ = state_->_transitions.end ();
@@ -150,7 +423,25 @@
}
}
}
+
+#if !(defined _MSC_VER && _MSC_VER < 1500)
+ template<typename ChT, typename Traits>
+ friend class basic_file_input;
+
+ template<typename ChT, typename Traits>
+ friend class basic_generator;
+
+ template<typename FwdIter, typename Traits>
+ friend class basic_input;
+
+ template<typename ChT, class Archive>
+ friend void serialise (basic_state_machine &sm_, Archive &ar_,
+ unsigned int version_);
+#endif
};
+
+typedef basic_state_machine<char> state_machine;
+typedef basic_state_machine<wchar_t> wstate_machine;
}
}
Modified: branches/CMake/release/boost/spirit/home/support/detail/lexer/string_token.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/string_token.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/lexer/string_token.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// string_token.hpp
-// Copyright (c) 2007 Ben Hanson
+// Copyright (c) 2007 Ben Hanson (http://www.benhanson.net/)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -49,7 +49,7 @@
void normalise ()
{
- const std::size_t max_chars_ = sizeof(CharT) == 1 ?
+ const std::size_t max_chars_ = sizeof (CharT) == 1 ?
num_chars : num_wchar_ts;
if (_charset.length () == max_chars_)
@@ -69,7 +69,7 @@
void negate ()
{
- const std::size_t max_chars_ = sizeof(CharT) == 1 ?
+ const std::size_t max_chars_ = sizeof (CharT) == 1 ?
num_chars : num_wchar_ts;
CharT curr_char_ = sizeof (CharT) == 1 ? -128 : 0;
string temp_;
@@ -135,7 +135,7 @@
void intersect (basic_string_token &rhs_, basic_string_token &overlap_)
{
- if ((any () && rhs_.any ()) || (_negated == rhs_._negated &&
+ if (any () && rhs_.any () || (_negated == rhs_._negated &&
!any () && !rhs_.any ()))
{
intersect_same_types (rhs_, overlap_);
Deleted: branches/CMake/release/boost/spirit/home/support/detail/lexer/tokeniser.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/lexer/tokeniser.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
+++ (empty file)
@@ -1,298 +0,0 @@
-// examples/tokeniser.hpp
-// Copyright (c) 2007 Ben Hanson
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_LEXER_EXAMPLES_TOKENISER_HPP
-#define BOOST_LEXER_EXAMPLES_TOKENISER_HPP
-
-#include "char_traits.hpp"
-#include "consts.hpp"
-#include <boost/detail/iterator.hpp>
-#include "size_t.hpp"
-#include "state_machine.hpp"
-
-namespace boost
-{
-namespace lexer
-{
-template<typename Iterator, typename Traits =
- char_traits<typename detail::iterator_traits<Iterator>::value_type> >
-struct basic_tokeniser
-{
- static std::size_t next (const state_machine &state_machine_,
- std::size_t &start_state_, const Iterator &start_,
- Iterator &start_token_, const Iterator &end_)
- {
- if (start_token_ == end_) return 0;
-
- again:
- const std::size_t * lookup_ = &state_machine_._lookup[start_state_]->
- front ();
- std::size_t dfa_alphabet_ = state_machine_._dfa_alphabet[start_state_];
- const std::size_t *dfa_ = &state_machine_._dfa[start_state_]->front ();
- const std::size_t *ptr_ = dfa_ + dfa_alphabet_;
- Iterator curr_ = start_token_;
- bool end_state_ = *ptr_ != 0;
- std::size_t id_ = *(ptr_ + id_index);
- Iterator end_token_ = start_token_;
-
- while (curr_ < end_)
- {
- const std::size_t BOL_state_ = ptr_[bol_index];
- const std::size_t EOL_state_ = ptr_[eol_index];
-
- if (BOL_state_ && (start_token_ == start_ ||
- *(start_token_ - 1) == '\n'))
- {
- ptr_ = &dfa_[BOL_state_ * dfa_alphabet_];
- }
- else if (EOL_state_ && *curr_ == '\n')
- {
- ptr_ = &dfa_[EOL_state_ * dfa_alphabet_];
- }
- else
- {
- const std::size_t state_ =
- ptr_[lookup_[static_cast<typename Traits::index_type>
- (*curr_++)]];
-
- if (state_ == 0)
- {
- break;
- }
-
- ptr_ = &dfa_[state_ * dfa_alphabet_];
- }
-
- if (*ptr_)
- {
- end_state_ = true;
- id_ = *(ptr_ + id_index);
- start_state_ = *(ptr_ + state_index);
- end_token_ = curr_;
- }
- }
-
- const std::size_t EOL_state_ = ptr_[eol_index];
-
- if (EOL_state_ && curr_ == end_)
- {
- ptr_ = &dfa_[EOL_state_ * dfa_alphabet_];
-
- if (*ptr_)
- {
- end_state_ = true;
- id_ = *(ptr_ + id_index);
- start_state_ = *(ptr_ + state_index);
- end_token_ = curr_;
- }
- }
-
- if (end_state_)
- {
- // return longest match
- start_token_ = end_token_;
-
- if (id_ == 0) goto again;
- }
- else
- {
- // No match causes char to be skipped
- ++start_token_;
- id_ = npos;
- }
-
- return id_;
- }
-
- static std::size_t next (const state_machine &state_machine_,
- std::size_t &start_state_, Iterator &start_token_,
- Iterator const &end_)
- {
- if (start_token_ == end_) return 0;
-
- again:
- const std::size_t * lookup_ = &state_machine_._lookup[start_state_]->
- front ();
- std::size_t dfa_alphabet_ = state_machine_._dfa_alphabet[start_state_];
- const std::size_t *dfa_ = &state_machine_._dfa[start_state_]->front ();
- const std::size_t *ptr_ = dfa_ + dfa_alphabet_;
- Iterator curr_ = start_token_;
- bool end_state_ = *ptr_ != 0;
- std::size_t id_ = *(ptr_ + id_index);
- Iterator end_token_ = start_token_;
-
- while (curr_ < end_)
- {
- const std::size_t state_ = ptr_[lookup_[static_cast
- <typename Traits::index_type>(*curr_++)]];
-
- if (state_ == 0)
- {
- break;
- }
-
- ptr_ = &dfa_[state_ * dfa_alphabet_];
-
- if (*ptr_)
- {
- end_state_ = true;
- id_ = *(ptr_ + id_index);
- start_state_ = *(ptr_ + state_index);
- end_token_ = curr_;
- }
- }
-
- if (end_state_)
- {
- // return longest match
- start_token_ = end_token_;
-
- if (id_ == 0) goto again;
- }
- else
- {
- // No match causes char to be skipped
- ++start_token_;
- id_ = npos;
- }
-
- return id_;
- }
-
- static std::size_t next (const std::size_t * const lookup_,
- const std::size_t dfa_alphabet_, const std::size_t * const dfa_,
- Iterator const &start_, Iterator &start_token_,
- Iterator const &end_)
- {
- if (start_token_ == end_) return 0;
-
- const std::size_t *ptr_ = dfa_ + dfa_alphabet_;
- Iterator curr_ = start_token_;
- bool end_state_ = *ptr_ != 0;
- std::size_t id_ = *(ptr_ + id_index);
- Iterator end_token_ = start_token_;
-
- while (curr_ < end_)
- {
- const std::size_t BOL_state_ = ptr_[bol_index];
- const std::size_t EOL_state_ = ptr_[eol_index];
-
- if (BOL_state_ && (start_token_ == start_ ||
- *(start_token_ - 1) == '\n'))
- {
- ptr_ = &dfa_[BOL_state_ * dfa_alphabet_];
- }
- else if (EOL_state_ && *curr_ == '\n')
- {
- ptr_ = &dfa_[EOL_state_ * dfa_alphabet_];
- }
- else
- {
- const std::size_t state_ =
- ptr_[lookup_[static_cast<typename Traits::index_type>
- (*curr_++)]];
-
- if (state_ == 0)
- {
- break;
- }
-
- ptr_ = &dfa_[state_ * dfa_alphabet_];
- }
-
- if (*ptr_)
- {
- end_state_ = true;
- id_ = *(ptr_ + id_index);
- end_token_ = curr_;
- }
- }
-
- const std::size_t EOL_state_ = ptr_[eol_index];
-
- if (EOL_state_ && curr_ == end_)
- {
- ptr_ = &dfa_[EOL_state_ * dfa_alphabet_];
-
- if (*ptr_)
- {
- end_state_ = true;
- id_ = *(ptr_ + id_index);
- end_token_ = curr_;
- }
- }
-
- if (end_state_)
- {
- // return longest match
- start_token_ = end_token_;
- }
- else
- {
- // No match causes char to be skipped
- ++start_token_;
- id_ = npos;
- }
-
- return id_;
- }
-
- static std::size_t next (const std::size_t * const lookup_,
- const std::size_t dfa_alphabet_, const std::size_t * const dfa_,
- Iterator &start_token_, Iterator const &end_)
- {
- if (start_token_ == end_) return 0;
-
- const std::size_t *ptr_ = dfa_ + dfa_alphabet_;
- Iterator curr_ = start_token_;
- bool end_state_ = *ptr_ != 0;
- std::size_t id_ = *(ptr_ + id_index);
- Iterator end_token_ = start_token_;
-
- while (curr_ < end_)
- {
- const std::size_t state_ = ptr_[lookup_[static_cast
- <typename Traits::index_type>(*curr_++)]];
-
- if (state_ == 0)
- {
- break;
- }
-
- ptr_ = &dfa_[state_ * dfa_alphabet_];
-
- if (*ptr_)
- {
- end_state_ = true;
- id_ = *(ptr_ + id_index);
- end_token_ = curr_;
- }
- }
-
- if (end_state_)
- {
- // return longest match
- start_token_ = end_token_;
- }
- else
- {
- // No match causes char to be skipped
- ++start_token_;
- id_ = npos;
- }
-
- return id_;
- }
-};
-
-typedef basic_tokeniser<std::string::iterator> iter_tokeniser;
-typedef basic_tokeniser<std::wstring::iterator> iter_wtokeniser;
-typedef basic_tokeniser<const char *> ptr_tokeniser;
-typedef basic_tokeniser<const wchar_t *> ptr_wtokeniser;
-
-}
-}
-
-#endif
Modified: branches/CMake/release/boost/spirit/home/support/detail/what_function.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/home/support/detail/what_function.hpp (original)
+++ branches/CMake/release/boost/spirit/home/support/detail/what_function.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -11,10 +11,11 @@
namespace boost { namespace spirit { namespace detail
{
+ template <typename Context>
struct what_function
{
- what_function(std::string& str)
- : str(str), first(true)
+ what_function(std::string& str, Context const& ctx)
+ : str(str), first(true), ctx(ctx)
{
}
@@ -26,10 +27,11 @@
else
str += ", ";
typedef typename Component::director director;
- str += director::what(component);
+ str += director::what(component, ctx);
}
std::string& str;
+ Context const& ctx;
mutable bool first;
};
}}}
Modified: branches/CMake/release/boost/spirit/iterator.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/iterator.hpp (original)
+++ branches/CMake/release/boost/spirit/iterator.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_ITERATOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_ITERATOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_iterator.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_iterator.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/iterator/file_iterator.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/iterator/file_iterator.hpp (original)
+++ branches/CMake/release/boost/spirit/iterator/file_iterator.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_FILE_ITERATOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_FILE_ITERATOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_file_iterator.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_file_iterator.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/iterator/file_iterator_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/iterator/file_iterator_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/iterator/file_iterator_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_FILE_ITERATOR_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_FILE_ITERATOR_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_file_iterator_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_file_iterator_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/iterator/fixed_size_queue.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/iterator/fixed_size_queue.hpp (original)
+++ branches/CMake/release/boost/spirit/iterator/fixed_size_queue.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_FIXED_SIZE_QUEUE
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_FIXED_SIZE_QUEUE
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_fixed_size_queue.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_fixed_size_queue.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/iterator/multi_pass.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/iterator/multi_pass.hpp (original)
+++ branches/CMake/release/boost/spirit/iterator/multi_pass.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_MULTI_PASS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_MULTI_PASS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_multi_pass.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_multi_pass.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/iterator/multi_pass_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/iterator/multi_pass_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/iterator/multi_pass_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_MULTI_PASS_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_MULTI_PASS_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_multi_pass_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_multi_pass_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/iterator/position_iterator.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/iterator/position_iterator.hpp (original)
+++ branches/CMake/release/boost/spirit/iterator/position_iterator.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_POSITION_ITERATOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_POSITION_ITERATOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_position_iterator.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_position_iterator.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/iterator/position_iterator_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/iterator/position_iterator_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/iterator/position_iterator_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_POSITION_ITERATOR_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_POSITION_ITERATOR_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_position_iterator_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_position_iterator_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/iterator/typeof.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/iterator/typeof.hpp (original)
+++ branches/CMake/release/boost/spirit/iterator/typeof.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/meta.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/meta.hpp (original)
+++ branches/CMake/release/boost/spirit/meta.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_META
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_META
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_meta.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_meta.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/meta/as_parser.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/meta/as_parser.hpp (original)
+++ branches/CMake/release/boost/spirit/meta/as_parser.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_AS_PARSER
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_AS_PARSER
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_as_parser.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_as_parser.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/meta/fundamental.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/meta/fundamental.hpp (original)
+++ branches/CMake/release/boost/spirit/meta/fundamental.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_FUNDAMENTAL
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_FUNDAMENTAL
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_fundamental.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_fundamental.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/meta/parser_traits.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/meta/parser_traits.hpp (original)
+++ branches/CMake/release/boost/spirit/meta/parser_traits.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_PARSER_TRAITS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_PARSER_TRAITS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_parser_traits.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_parser_traits.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/meta/refactoring.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/meta/refactoring.hpp (original)
+++ branches/CMake/release/boost/spirit/meta/refactoring.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_REFACTORING
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_REFACTORING
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_refactoring.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_refactoring.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/meta/traverse.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/meta/traverse.hpp (original)
+++ branches/CMake/release/boost/spirit/meta/traverse.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_TRAVERSE
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_TRAVERSE
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_traverse.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_traverse.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/phoenix.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/phoenix.hpp (original)
+++ branches/CMake/release/boost/spirit/phoenix.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_PHOENIX
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_PHOENIX
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/phoenix1.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/phoenix1.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/phoenix/actor.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/phoenix/actor.hpp (original)
+++ branches/CMake/release/boost/spirit/phoenix/actor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_ACTOR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_ACTOR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/phoenix1_actor.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/phoenix1_actor.hpp"
#endif
+#endif
#include <boost/spirit/include/phoenix1_actor.hpp>
Modified: branches/CMake/release/boost/spirit/phoenix/binders.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/phoenix/binders.hpp (original)
+++ branches/CMake/release/boost/spirit/phoenix/binders.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_BINDERS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_BINDERS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/phoenix1_binders.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/phoenix1_binders.hpp"
#endif
+#endif
#include <boost/spirit/include/phoenix1_binders.hpp>
Modified: branches/CMake/release/boost/spirit/phoenix/casts.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/phoenix/casts.hpp (original)
+++ branches/CMake/release/boost/spirit/phoenix/casts.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_CASTS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_CASTS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/phoenix1_casts.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/phoenix1_casts.hpp"
#endif
+#endif
#include <boost/spirit/include/phoenix1_casts.hpp>
Modified: branches/CMake/release/boost/spirit/phoenix/closures.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/phoenix/closures.hpp (original)
+++ branches/CMake/release/boost/spirit/phoenix/closures.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_CLOSURES
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_CLOSURES
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/phoenix1_closures.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/phoenix1_closures.hpp"
#endif
+#endif
#include <boost/spirit/include/phoenix1_closures.hpp>
Modified: branches/CMake/release/boost/spirit/phoenix/composite.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/phoenix/composite.hpp (original)
+++ branches/CMake/release/boost/spirit/phoenix/composite.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_COMPOSITE
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_COMPOSITE
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/phoenix1_composite.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/phoenix1_composite.hpp"
#endif
+#endif
#include <boost/spirit/include/phoenix1_composite.hpp>
Modified: branches/CMake/release/boost/spirit/phoenix/functions.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/phoenix/functions.hpp (original)
+++ branches/CMake/release/boost/spirit/phoenix/functions.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_FUNCTIONS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_FUNCTIONS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/phoenix1_functions.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/phoenix1_functions.hpp"
#endif
+#endif
#include <boost/spirit/include/phoenix1_functions.hpp>
Modified: branches/CMake/release/boost/spirit/phoenix/new.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/phoenix/new.hpp (original)
+++ branches/CMake/release/boost/spirit/phoenix/new.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_NEW
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_NEW
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/phoenix1_new.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/phoenix1_new.hpp"
#endif
+#endif
#include <boost/spirit/include/phoenix1_new.hpp>
Modified: branches/CMake/release/boost/spirit/phoenix/operators.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/phoenix/operators.hpp (original)
+++ branches/CMake/release/boost/spirit/phoenix/operators.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_OPERATORS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_OPERATORS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/phoenix1_operators.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/phoenix1_operators.hpp"
#endif
+#endif
#include <boost/spirit/include/phoenix1_operators.hpp>
Modified: branches/CMake/release/boost/spirit/phoenix/primitives.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/phoenix/primitives.hpp (original)
+++ branches/CMake/release/boost/spirit/phoenix/primitives.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_PRIMITIVES
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_PRIMITIVES
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/phoenix1_primitives.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/phoenix1_primitives.hpp"
#endif
+#endif
#include <boost/spirit/include/phoenix1_primitives.hpp>
Modified: branches/CMake/release/boost/spirit/phoenix/special_ops.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/phoenix/special_ops.hpp (original)
+++ branches/CMake/release/boost/spirit/phoenix/special_ops.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SPECIAL_OPS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SPECIAL_OPS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/phoenix1_special_ops.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/phoenix1_special_ops.hpp"
#endif
+#endif
#include <boost/spirit/include/phoenix1_special_ops.hpp>
Modified: branches/CMake/release/boost/spirit/phoenix/statements.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/phoenix/statements.hpp (original)
+++ branches/CMake/release/boost/spirit/phoenix/statements.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_STATEMENTS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_STATEMENTS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/phoenix1_statements.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/phoenix1_statements.hpp"
#endif
+#endif
#include <boost/spirit/include/phoenix1_statements.hpp>
Modified: branches/CMake/release/boost/spirit/phoenix/tuple_helpers.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/phoenix/tuple_helpers.hpp (original)
+++ branches/CMake/release/boost/spirit/phoenix/tuple_helpers.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_TUPLE_HELPERS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_TUPLE_HELPERS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/phoenix1_tuple_helpers.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/phoenix1_tuple_helpers.hpp"
#endif
+#endif
#include <boost/spirit/include/phoenix1_tuple_helpers.hpp>
Modified: branches/CMake/release/boost/spirit/phoenix/tuples.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/phoenix/tuples.hpp (original)
+++ branches/CMake/release/boost/spirit/phoenix/tuples.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_TUPLES
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_TUPLES
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/phoenix1_tuples.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/phoenix1_tuples.hpp"
#endif
+#endif
#include <boost/spirit/include/phoenix1_tuples.hpp>
Modified: branches/CMake/release/boost/spirit/symbols.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/symbols.hpp (original)
+++ branches/CMake/release/boost/spirit/symbols.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SYMBOLS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SYMBOLS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_symbols.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_symbols.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/symbols/symbols.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/symbols/symbols.hpp (original)
+++ branches/CMake/release/boost/spirit/symbols/symbols.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SYMBOLS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SYMBOLS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_symbols.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_symbols.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/symbols/symbols_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/symbols/symbols_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/symbols/symbols_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SYMBOLS_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SYMBOLS_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_symbols_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_symbols_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/symbols/typeof.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/symbols/typeof.hpp (original)
+++ branches/CMake/release/boost/spirit/symbols/typeof.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/tree/ast.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/tree/ast.hpp (original)
+++ branches/CMake/release/boost/spirit/tree/ast.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_AST
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_AST
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_ast.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_ast.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/tree/ast_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/tree/ast_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/tree/ast_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_AST_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_AST_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_ast_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_ast_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/tree/common.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/tree/common.hpp (original)
+++ branches/CMake/release/boost/spirit/tree/common.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_COMMON
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_COMMON
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_common.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_common.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/tree/common_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/tree/common_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/tree/common_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_COMMON_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_COMMON_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_common_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_common_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/tree/parse_tree.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/tree/parse_tree.hpp (original)
+++ branches/CMake/release/boost/spirit/tree/parse_tree.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_PARSE_TREE
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_PARSE_TREE
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_parse_tree.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_parse_tree.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/tree/parse_tree_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/tree/parse_tree_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/tree/parse_tree_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_PARSE_TREE_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_PARSE_TREE_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_parse_tree_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_parse_tree_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/tree/parse_tree_utils.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/tree/parse_tree_utils.hpp (original)
+++ branches/CMake/release/boost/spirit/tree/parse_tree_utils.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_PARSE_TREE_UTILS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_PARSE_TREE_UTILS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_parse_tree_utils.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_parse_tree_utils.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/tree/tree_to_xml.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/tree/tree_to_xml.hpp (original)
+++ branches/CMake/release/boost/spirit/tree/tree_to_xml.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_TREE_TO_XML
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_TREE_TO_XML
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_tree_to_xml.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_tree_to_xml.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/tree/typeof.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/tree/typeof.hpp (original)
+++ branches/CMake/release/boost/spirit/tree/typeof.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility.hpp (original)
+++ branches/CMake/release/boost/spirit/utility.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_UTILITY
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_UTILITY
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_utility.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_utility.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/chset.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/chset.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/chset.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_CHSET
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_CHSET
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_chset.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_chset.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/chset_operators.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/chset_operators.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/chset_operators.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_CHSET_OPERATORS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_CHSET_OPERATORS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_chset_operators.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_chset_operators.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/confix.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/confix.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/confix.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_CONFIX
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_CONFIX
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_confix.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_confix.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/confix_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/confix_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/confix_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_CONFIX_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_CONFIX_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_confix_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_confix_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/distinct.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/distinct.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/distinct.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_DISTINCT
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_DISTINCT
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_distinct.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_distinct.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/distinct_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/distinct_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/distinct_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_DISTINCT_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_DISTINCT_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_distinct_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_distinct_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/escape_char.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/escape_char.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/escape_char.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_ESCAPE_CHAR
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_ESCAPE_CHAR
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_escape_char.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_escape_char.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/escape_char_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/escape_char_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/escape_char_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_ESCAPE_CHAR_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_ESCAPE_CHAR_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_escape_char_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_escape_char_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/flush_multi_pass.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/flush_multi_pass.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/flush_multi_pass.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_FLUSH_MULTI_PASS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_FLUSH_MULTI_PASS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_flush_multi_pass.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_flush_multi_pass.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/functor_parser.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/functor_parser.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/functor_parser.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_FUNCTOR_PARSER
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_FUNCTOR_PARSER
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_functor_parser.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_functor_parser.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/grammar_def.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/grammar_def.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/grammar_def.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_GRAMMAR_DEF
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_GRAMMAR_DEF
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_grammar_def.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_grammar_def.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/grammar_def_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/grammar_def_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/grammar_def_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_GRAMMAR_DEF_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_GRAMMAR_DEF_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_grammar_def_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_grammar_def_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/lists.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/lists.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/lists.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_LISTS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_LISTS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_lists.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_lists.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/lists_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/lists_fwd.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/lists_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_LISTS_FWD
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_LISTS_FWD
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_lists_fwd.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_lists_fwd.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/loops.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/loops.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/loops.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_LOOPS
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_LOOPS
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_loops.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_loops.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/regex.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/regex.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/regex.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_REGEX
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_REGEX
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_regex.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_regex.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/rule_parser.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/rule_parser.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/rule_parser.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_RULE_PARSER
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_RULE_PARSER
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_rule_parser.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_rule_parser.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/scoped_lock.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/scoped_lock.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/scoped_lock.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_SCOPED_LOCK
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SCOPED_LOCK
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_scoped_lock.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_scoped_lock.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/utility/typeof.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/utility/typeof.hpp (original)
+++ branches/CMake/release/boost/spirit/utility/typeof.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_TYPEOF
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_typeof.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/spirit/version.hpp
==============================================================================
--- branches/CMake/release/boost/spirit/version.hpp (original)
+++ branches/CMake/release/boost/spirit/version.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,11 +9,15 @@
#ifndef BOOST_SPIRIT_DEPRECATED_INCLUDE_VERSION
#define BOOST_SPIRIT_DEPRECATED_INCLUDE_VERSION
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 103800
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
# pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic_version.hpp")
#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
# warning "This header is deprecated. Please use: boost/spirit/include/classic_version.hpp"
#endif
+#endif
#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
#define BOOST_SPIRIT_USE_OLD_NAMESPACE
Modified: branches/CMake/release/boost/statechart/detail/counted_base.hpp
==============================================================================
--- branches/CMake/release/boost/statechart/detail/counted_base.hpp (original)
+++ branches/CMake/release/boost/statechart/detail/counted_base.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -61,7 +61,7 @@
// do nothing copy implementation is intentional (the number of
// referencing pointers of the source and the destination is not changed
// through the copy operation)
- counted_base( const counted_base & ) {}
+ counted_base( const counted_base & ) : base_type() {}
counted_base & operator=( const counted_base & ) { return *this; }
public:
Modified: branches/CMake/release/boost/statechart/detail/rtti_policy.hpp
==============================================================================
--- branches/CMake/release/boost/statechart/detail/rtti_policy.hpp (original)
+++ branches/CMake/release/boost/statechart/detail/rtti_policy.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,7 +1,7 @@
#ifndef BOOST_STATECHART_DETAIL_RTTI_POLICY_HPP_INCLUDED
#define BOOST_STATECHART_DETAIL_RTTI_POLICY_HPP_INCLUDED
//////////////////////////////////////////////////////////////////////////////
-// Copyright 2002-2006 Andreas Huber Doenni
+// Copyright 2002-2008 Andreas Huber Doenni
// Distributed under the Boost Software License, Version 1.0. (See accompany-
// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//////////////////////////////////////////////////////////////////////////////
@@ -16,15 +16,6 @@
-#ifdef BOOST_MSVC
-// We permanently turn off the following level 4 warnings because users will
-// have to do so themselves anyway if we turn them back on
-# pragma warning( disable: 4511 ) // copy constructor could not be generated
-# pragma warning( disable: 4512 ) // assignment operator could not be generated
-#endif
-
-
-
namespace boost
{
namespace statechart
Modified: branches/CMake/release/boost/statechart/detail/state_base.hpp
==============================================================================
--- branches/CMake/release/boost/statechart/detail/state_base.hpp (original)
+++ branches/CMake/release/boost/statechart/detail/state_base.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,7 +1,7 @@
#ifndef BOOST_STATECHART_DETAIL_STATE_BASE_HPP_INCLUDED
#define BOOST_STATECHART_DETAIL_STATE_BASE_HPP_INCLUDED
//////////////////////////////////////////////////////////////////////////////
-// Copyright 2002-2006 Andreas Huber Doenni
+// Copyright 2002-2008 Andreas Huber Doenni
// Distributed under the Boost Software License, Version 1.0. (See accompany-
// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//////////////////////////////////////////////////////////////////////////////
@@ -34,15 +34,6 @@
-#ifdef BOOST_MSVC
-// We permanently turn off the following level 4 warnings because users will
-// have to do so themselves anyway if we turn them back on
-# pragma warning( disable: 4511 ) // copy constructor could not be generated
-# pragma warning( disable: 4512 ) // assignment operator could not be generated
-#endif
-
-
-
namespace boost
{
namespace statechart
Modified: branches/CMake/release/boost/statechart/event.hpp
==============================================================================
--- branches/CMake/release/boost/statechart/event.hpp (original)
+++ branches/CMake/release/boost/statechart/event.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,7 +1,7 @@
#ifndef BOOST_STATECHART_EVENT_HPP_INCLUDED
#define BOOST_STATECHART_EVENT_HPP_INCLUDED
//////////////////////////////////////////////////////////////////////////////
-// Copyright 2002-2006 Andreas Huber Doenni
+// Copyright 2002-2007 Andreas Huber Doenni
// Distributed under the Boost Software License, Version 1.0. (See accompany-
// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//////////////////////////////////////////////////////////////////////////////
Modified: branches/CMake/release/boost/statechart/event_processor.hpp
==============================================================================
--- branches/CMake/release/boost/statechart/event_processor.hpp (original)
+++ branches/CMake/release/boost/statechart/event_processor.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,7 +1,7 @@
#ifndef BOOST_STATECHART_EVENT_PROCESSOR_INCLUDED
#define BOOST_STATECHART_EVENT_PROCESSOR_INCLUDED
//////////////////////////////////////////////////////////////////////////////
-// Copyright 2002-2006 Andreas Huber Doenni
+// Copyright 2002-2008 Andreas Huber Doenni
// Distributed under the Boost Software License, Version 1.0. (See accompany-
// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//////////////////////////////////////////////////////////////////////////////
@@ -70,6 +70,9 @@
virtual void process_event_impl( const event_base & evt ) = 0;
virtual void terminate_impl() = 0;
+ // avoids C4512 (assignment operator could not be generated)
+ event_processor & operator=( const event_processor & );
+
Scheduler & myScheduler_;
const processor_handle myHandle_;
};
Modified: branches/CMake/release/boost/statechart/fifo_worker.hpp
==============================================================================
--- branches/CMake/release/boost/statechart/fifo_worker.hpp (original)
+++ branches/CMake/release/boost/statechart/fifo_worker.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,7 +1,7 @@
#ifndef BOOST_STATECHART_FIFO_WORKER_HPP_INCLUDED
#define BOOST_STATECHART_FIFO_WORKER_HPP_INCLUDED
//////////////////////////////////////////////////////////////////////////////
-// Copyright 2002-2006 Andreas Huber Doenni
+// Copyright 2002-2008 Andreas Huber Doenni
// Distributed under the Boost Software License, Version 1.0. (See accompany-
// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//////////////////////////////////////////////////////////////////////////////
@@ -20,7 +20,17 @@
#ifdef BOOST_HAS_THREADS
# ifdef BOOST_MSVC
# pragma warning( push )
-# pragma warning( disable: 4275 ) // non-dll class used as base for dll class
+ // "conditional expression is constant" in basic_timed_mutex.hpp
+# pragma warning( disable: 4127 )
+ // "conversion from 'int' to 'unsigned short'" in microsec_time_clock.hpp
+# pragma warning( disable: 4244 )
+ // "... needs to have dll-interface to be used by clients of class ..."
+# pragma warning( disable: 4251 )
+ // "... assignment operator could not be generated"
+# pragma warning( disable: 4512 )
+ // "Function call with parameters that may be unsafe" in
+ // condition_variable.hpp
+# pragma warning( disable: 4996 )
# endif
# include <boost/thread/mutex.hpp>
@@ -57,7 +67,7 @@
{
}
- typedef function0< void, Allocator > work_item;
+ typedef function0< void > work_item;
// We take a non-const reference so that we can move (i.e. swap) the item
// into the queue, what avoids copying the (possibly heap-allocated)
Modified: branches/CMake/release/boost/statechart/in_state_reaction.hpp
==============================================================================
--- branches/CMake/release/boost/statechart/in_state_reaction.hpp (original)
+++ branches/CMake/release/boost/statechart/in_state_reaction.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,7 +1,7 @@
#ifndef BOOST_STATECHART_IN_STATE_REACTION_HPP_INCLUDED
#define BOOST_STATECHART_IN_STATE_REACTION_HPP_INCLUDED
//////////////////////////////////////////////////////////////////////////////
-// Copyright 2005-2006 Andreas Huber Doenni
+// Copyright 2005-2008 Andreas Huber Doenni
// Distributed under the Boost Software License, Version 1.0. (See accompany-
// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//////////////////////////////////////////////////////////////////////////////
@@ -10,10 +10,7 @@
#include <boost/statechart/result.hpp>
-#include <boost/mpl/if.hpp>
-
-#include <boost/cast.hpp> // boost::polymorphic_downcast
-#include <boost/type_traits/is_same.hpp>
+#include <boost/statechart/detail/reaction_dispatcher.hpp>
@@ -27,40 +24,26 @@
class event_base;
//////////////////////////////////////////////////////////////////////////////
-template< class Event,
- class ReactionContext,
- void ( ReactionContext::*pAction )( const Event & ) >
+template< class Event,
+ class ReactionContext = detail::no_context< Event >,
+ void ( ReactionContext::*pAction )( const Event & ) =
+ &detail::no_context< Event >::no_function >
class in_state_reaction
{
private:
//////////////////////////////////////////////////////////////////////////
- struct react_base
+ template< class State >
+ struct reactions
{
- template< class State, class EventBase, class IdType >
- static detail::reaction_result react(
- State & stt, const EventBase & evt, const IdType & )
+ static result react_without_action( State & stt )
{
- ( stt.template context< ReactionContext >().*pAction )( evt );
- return detail::do_discard_event;
+ return stt.discard_event();
}
- };
- struct react_derived
- {
- template< class State, class EventBase, class IdType >
- static detail::reaction_result react(
- State & stt, const EventBase & evt, const IdType & eventType )
+ static result react_with_action( State & stt, const Event & evt )
{
- if ( eventType == Event::static_type() )
- {
- ( stt.template context< ReactionContext >().*pAction )(
- *polymorphic_downcast< const Event * >( &evt ) );
- return detail::do_discard_event;
- }
- else
- {
- return detail::no_reaction;
- }
+ ( stt.template context< ReactionContext >().*pAction )( evt );
+ return react_without_action( stt );
}
};
@@ -73,11 +56,10 @@
static detail::reaction_result react(
State & stt, const EventBase & evt, const IdType & eventType )
{
- typedef typename mpl::if_<
- is_same< Event, event_base >, react_base, react_derived
- >::type impl;
-
- return impl::react( stt, evt, eventType );
+ typedef detail::reaction_dispatcher<
+ reactions< State >, State, EventBase, Event, ReactionContext, IdType
+ > dispatcher;
+ return dispatcher::react( stt, evt, eventType );
}
};
Modified: branches/CMake/release/boost/statechart/processor_container.hpp
==============================================================================
--- branches/CMake/release/boost/statechart/processor_container.hpp (original)
+++ branches/CMake/release/boost/statechart/processor_container.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,7 +1,7 @@
#ifndef BOOST_STATECHART_PROCESSOR_CONTAINER_HPP_INCLUDED
#define BOOST_STATECHART_PROCESSOR_CONTAINER_HPP_INCLUDED
//////////////////////////////////////////////////////////////////////////////
-// Copyright 2002-2006 Andreas Huber Doenni
+// Copyright 2002-2008 Andreas Huber Doenni
// Distributed under the Boost Software License, Version 1.0. (See accompany-
// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//////////////////////////////////////////////////////////////////////////////
@@ -70,6 +70,9 @@
private:
#endif
+ // avoids C4512 (assignment operator could not be generated)
+ processor_context & operator=( const processor_context & );
+
Scheduler & scheduler_;
const processor_handle handle_;
@@ -86,8 +89,10 @@
const processor_holder_ptr_type &, const processor_context & );
impl_fun_ptr pImpl =
&processor_container::template create_processor_impl0< Processor >;
- return bind(
- pImpl, this, pProcessor, processor_context( scheduler, handle ) );
+ return WorkItem(
+ bind( pImpl, this, pProcessor,
+ processor_context( scheduler, handle ) ),
+ Allocator() );
}
template< class Processor, typename Arg1 >
@@ -101,8 +106,10 @@
impl_fun_ptr pImpl =
&processor_container::template create_processor_impl1<
Processor, Arg1 >;
- return bind(
- pImpl, this, pProcessor, processor_context( scheduler, handle ), arg1 );
+ return WorkItem(
+ bind( pImpl, this, pProcessor, processor_context( scheduler, handle ),
+ arg1 ),
+ Allocator() );
}
template< class Processor, typename Arg1, typename Arg2 >
@@ -117,9 +124,10 @@
impl_fun_ptr pImpl =
&processor_container::template create_processor_impl2<
Processor, Arg1, Arg2 >;
- return bind(
- pImpl, this, pProcessor, processor_context( scheduler, handle ),
- arg1, arg2 );
+ return WorkItem(
+ bind( pImpl, this, pProcessor, processor_context( scheduler, handle ),
+ arg1, arg2 ),
+ Allocator() );
}
template< class Processor, typename Arg1, typename Arg2, typename Arg3 >
@@ -136,9 +144,10 @@
impl_fun_ptr pImpl =
&processor_container::template create_processor_impl3<
Processor, Arg1, Arg2, Arg3 >;
- return bind(
- pImpl, this, pProcessor, processor_context( scheduler, handle ),
- arg1, arg2, arg3 );
+ return WorkItem(
+ bind( pImpl, this, pProcessor, processor_context( scheduler, handle ),
+ arg1, arg2, arg3 ),
+ Allocator() );
}
template<
@@ -157,9 +166,10 @@
impl_fun_ptr pImpl =
&processor_container::template create_processor_impl4<
Processor, Arg1, Arg2, Arg3, Arg4 >;
- return bind(
- pImpl, this, pProcessor, processor_context( scheduler, handle ),
- arg1, arg2, arg3, arg4 );
+ return WorkItem(
+ bind( pImpl, this, pProcessor, processor_context( scheduler, handle ),
+ arg1, arg2, arg3, arg4 ),
+ Allocator() );
}
template<
@@ -178,9 +188,10 @@
impl_fun_ptr pImpl =
&processor_container::template create_processor_impl5<
Processor, Arg1, Arg2, Arg3, Arg4, Arg5 >;
- return bind(
- pImpl, this, pProcessor, processor_context( scheduler, handle ),
- arg1, arg2, arg3, arg4, arg5 );
+ return WorkItem(
+ bind( pImpl, this, pProcessor, processor_context( scheduler, handle ),
+ arg1, arg2, arg3, arg4, arg5 ),
+ Allocator() );
}
template<
@@ -199,27 +210,33 @@
impl_fun_ptr pImpl =
&processor_container::template create_processor_impl6<
Processor, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6 >;
- return bind(
- pImpl, this, pProcessor, processor_context( scheduler, handle ),
- arg1, arg2, arg3, arg4, arg5, arg6 );
+ return WorkItem(
+ bind( pImpl, this, pProcessor, processor_context( scheduler, handle ),
+ arg1, arg2, arg3, arg4, arg5, arg6 ),
+ Allocator() );
}
WorkItem destroy_processor( const processor_handle & processor )
{
- return bind(
- &processor_container::destroy_processor_impl, this, processor );
+ return WorkItem(
+ bind( &processor_container::destroy_processor_impl, this, processor ),
+ Allocator() );
}
WorkItem initiate_processor( const processor_handle & processor )
{
- return bind(
- &processor_container::initiate_processor_impl, this, processor );
+ return WorkItem(
+ bind( &processor_container::initiate_processor_impl, this,
+ processor ),
+ Allocator() );
}
WorkItem terminate_processor( const processor_handle & processor )
{
- return bind(
- &processor_container::terminate_processor_impl, this, processor );
+ return WorkItem(
+ bind( &processor_container::terminate_processor_impl, this,
+ processor ),
+ Allocator() );
}
typedef intrusive_ptr< const event_base > event_ptr_type;
@@ -229,8 +246,10 @@
{
BOOST_ASSERT( pEvent.get() != 0 );
- return bind(
- &processor_container::queue_event_impl, this, processor, pEvent );
+ return WorkItem(
+ bind( &processor_container::queue_event_impl, this, processor,
+ pEvent ),
+ Allocator() );
}
private:
Modified: branches/CMake/release/boost/statechart/simple_state.hpp
==============================================================================
--- branches/CMake/release/boost/statechart/simple_state.hpp (original)
+++ branches/CMake/release/boost/statechart/simple_state.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,7 +1,7 @@
#ifndef BOOST_STATECHART_SIMPLE_STATE_HPP_INCLUDED
#define BOOST_STATECHART_SIMPLE_STATE_HPP_INCLUDED
//////////////////////////////////////////////////////////////////////////////
-// Copyright 2002-2006 Andreas Huber Doenni
+// Copyright 2002-2008 Andreas Huber Doenni
// Distributed under the Boost Software License, Version 1.0. (See accompany-
// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//////////////////////////////////////////////////////////////////////////////
@@ -128,6 +128,9 @@
}
private:
+ // avoids C4512 (assignment operator could not be generated)
+ transition_function & operator=( const transition_function & );
+
void ( TransitionContext::*pTransitionAction_ )( const Event & );
const Event & evt_;
};
Modified: branches/CMake/release/boost/statechart/state_machine.hpp
==============================================================================
--- branches/CMake/release/boost/statechart/state_machine.hpp (original)
+++ branches/CMake/release/boost/statechart/state_machine.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,7 +1,7 @@
#ifndef BOOST_STATECHART_STATE_MACHINE_HPP_INCLUDED
#define BOOST_STATECHART_STATE_MACHINE_HPP_INCLUDED
//////////////////////////////////////////////////////////////////////////////
-// Copyright 2002-2006 Andreas Huber Doenni
+// Copyright 2002-2008 Andreas Huber Doenni
// Distributed under the Boost Software License, Version 1.0. (See accompany-
// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//////////////////////////////////////////////////////////////////////////////
@@ -57,15 +57,6 @@
-#ifdef BOOST_MSVC
-// We permanently turn off the following level 4 warnings because users will
-// have to do so themselves anyway if we turn them back on
-# pragma warning( disable: 4511 ) // copy constructor could not be generated
-# pragma warning( disable: 4512 ) // assignment op could not be generated
-#endif
-
-
-
namespace boost
{
namespace statechart
@@ -98,6 +89,9 @@
private:
//////////////////////////////////////////////////////////////////////////
+ // avoids C4512 (assignment operator could not be generated)
+ send_function & operator=( const send_function & );
+
StateBaseType & toState_;
const EventBaseType & evt_;
IdType eventType_;
@@ -220,6 +214,9 @@
{
}
+ // avoids C4512 (assignment operator could not be generated)
+ history_key & operator=( const history_key & );
+
const typename RttiPolicy::id_type historyContextType_;
const orthogonal_position_type historizedOrthogonalRegion_;
};
@@ -720,6 +717,10 @@
private:
//////////////////////////////////////////////////////////////////////
+ // avoids C4512 (assignment operator could not be generated)
+ initial_construct_function & operator=(
+ const initial_construct_function & );
+
state_machine & machine_;
};
friend class initial_construct_function;
@@ -739,6 +740,9 @@
private:
//////////////////////////////////////////////////////////////////////
+ // avoids C4512 (assignment operator could not be generated)
+ terminate_function & operator=( const terminate_function & );
+
state_machine & machine_;
};
friend class terminate_function;
@@ -814,6 +818,10 @@
private:
//////////////////////////////////////////////////////////////////////
+ // avoids C4512 (assignment operator could not be generated)
+ exception_event_handler & operator=(
+ const exception_event_handler & );
+
state_machine & machine_;
state_base_type * pCurrentState_;
};
@@ -822,6 +830,7 @@
class terminator
{
public:
+ //////////////////////////////////////////////////////////////////////
terminator( state_machine & machine ) :
machine_( machine ), dismissed_( false ) {}
~terminator()
@@ -831,6 +840,10 @@
void dismiss() { dismissed_ = true; }
private:
+ //////////////////////////////////////////////////////////////////////
+ // avoids C4512 (assignment operator could not be generated)
+ terminator & operator=( const terminator & );
+
state_machine & machine_;
bool dismissed_;
};
Modified: branches/CMake/release/boost/statechart/transition.hpp
==============================================================================
--- branches/CMake/release/boost/statechart/transition.hpp (original)
+++ branches/CMake/release/boost/statechart/transition.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,7 +1,7 @@
#ifndef BOOST_STATECHART_TRANSITION_HPP_INCLUDED
#define BOOST_STATECHART_TRANSITION_HPP_INCLUDED
//////////////////////////////////////////////////////////////////////////////
-// Copyright 2002-2006 Andreas Huber Doenni
+// Copyright 2002-2008 Andreas Huber Doenni
// Distributed under the Boost Software License, Version 1.0. (See accompany-
// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//////////////////////////////////////////////////////////////////////////////
@@ -10,10 +10,7 @@
#include <boost/statechart/result.hpp>
-#include <boost/mpl/if.hpp>
-
-#include <boost/cast.hpp> // boost::polymorphic_downcast
-#include <boost/type_traits/is_same.hpp>
+#include <boost/statechart/detail/reaction_dispatcher.hpp>
@@ -21,27 +18,10 @@
{
namespace statechart
{
-namespace detail
-{
//////////////////////////////////////////////////////////////////////////////
-template< class Event >
-struct no_context
-{
- void no_function( const Event & );
-};
-
-
-
-} // namespace detail
-
-
-
-class event_base;
-
-//////////////////////////////////////////////////////////////////////////////
template< class Event, class Destination,
class TransitionContext = detail::no_context< Event >,
void ( TransitionContext::*pTransitionAction )( const Event & ) =
@@ -50,74 +30,17 @@
{
private:
//////////////////////////////////////////////////////////////////////////
- struct react_without_transition_action_impl
- {
- template< class State, class EventBase >
- static detail::reaction_result react( State & stt, const EventBase & )
- {
- return detail::result_utility::get_result(
- stt.template transit< Destination >() );
- }
- };
-
- struct react_base_with_transition_action_impl
+ template< class State >
+ struct reactions
{
- template< class State, class EventBase >
- static detail::reaction_result react(
- State & stt, const EventBase & toEvent )
+ static result react_without_action( State & stt )
{
- return detail::result_utility::get_result(
- stt.template transit< Destination >( pTransitionAction, toEvent ) );
+ return stt.template transit< Destination >();
}
- };
- struct react_base
- {
- template< class State, class EventBase, class IdType >
- static detail::reaction_result react(
- State & stt, const EventBase & evt, const IdType & )
+ static result react_with_action( State & stt, const Event & evt )
{
- typedef typename mpl::if_<
- is_same< TransitionContext, detail::no_context< Event > >,
- react_without_transition_action_impl,
- react_base_with_transition_action_impl
- >::type impl;
- return impl::react( stt, evt );
- }
- };
-
- struct react_derived_with_transition_action_impl
- {
- template< class State, class EventBase >
- static detail::reaction_result react(
- State & stt, const EventBase & toEvent )
- {
- return detail::result_utility::get_result(
- stt.template transit< Destination >(
- pTransitionAction,
- *polymorphic_downcast< const Event * >( &toEvent ) ) );
- }
- };
-
- struct react_derived
- {
- template< class State, class EventBase, class IdType >
- static detail::reaction_result react(
- State & stt, const EventBase & evt, const IdType & eventType )
- {
- if ( eventType == Event::static_type() )
- {
- typedef typename mpl::if_<
- is_same< TransitionContext, detail::no_context< Event > >,
- react_without_transition_action_impl,
- react_derived_with_transition_action_impl
- >::type impl;
- return impl::react( stt, evt );
- }
- else
- {
- return detail::no_reaction;
- }
+ return stt.template transit< Destination >( pTransitionAction, evt );
}
};
@@ -130,11 +53,10 @@
static detail::reaction_result react(
State & stt, const EventBase & evt, const IdType & eventType )
{
- typedef typename mpl::if_<
- is_same< Event, event_base >, react_base, react_derived
- >::type impl;
-
- return impl::react( stt, evt, eventType );
+ typedef detail::reaction_dispatcher<
+ reactions< State >, State, EventBase, Event, TransitionContext, IdType
+ > dispatcher;
+ return dispatcher::react( stt, evt, eventType );
}
};
Modified: branches/CMake/release/boost/static_assert.hpp
==============================================================================
--- branches/CMake/release/boost/static_assert.hpp (original)
+++ branches/CMake/release/boost/static_assert.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -28,6 +28,16 @@
# define BOOST_SA_GCC_WORKAROUND
#endif
+//
+// If the compiler issues warnings about old C style casts,
+// then enable this:
+//
+#if defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4)))
+# define BOOST_STATIC_ASSERT_BOOL_CAST( x ) ((x) == 0 ? false : true)
+#else
+# define BOOST_STATIC_ASSERT_BOOL_CAST(x) (bool)(x)
+#endif
+
#ifdef BOOST_HAS_STATIC_ASSERT
# define BOOST_STATIC_ASSERT( B ) static_assert(B, #B)
#else
@@ -78,14 +88,14 @@
#elif defined(BOOST_MSVC)
#define BOOST_STATIC_ASSERT( B ) \
typedef ::boost::static_assert_test<\
- sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >)>\
+ sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST ( B ) >)>\
BOOST_JOIN(boost_static_assert_typedef_, __COUNTER__)
#elif defined(BOOST_INTEL_CXX_VERSION) || defined(BOOST_SA_GCC_WORKAROUND)
// agurt 15/sep/02: a special care is needed to force Intel C++ issue an error
// instead of warning in case of failure
# define BOOST_STATIC_ASSERT( B ) \
typedef char BOOST_JOIN(boost_static_assert_typedef_, __LINE__) \
- [ ::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >::value ]
+ [ ::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >::value ]
#elif defined(__sgi)
// special version for SGI MIPSpro compiler
#define BOOST_STATIC_ASSERT( B ) \
@@ -100,12 +110,12 @@
#define BOOST_STATIC_ASSERT( B ) \
BOOST_STATIC_CONSTANT(int, \
BOOST_JOIN(boost_static_assert_test_, __LINE__) = \
- sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >) )
+ sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >) )
#else
// generic version
#define BOOST_STATIC_ASSERT( B ) \
typedef ::boost::static_assert_test<\
- sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >)>\
+ sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >)>\
BOOST_JOIN(boost_static_assert_typedef_, __LINE__)
#endif
Modified: branches/CMake/release/boost/system/error_code.hpp
==============================================================================
--- branches/CMake/release/boost/system/error_code.hpp (original)
+++ branches/CMake/release/boost/system/error_code.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -47,11 +47,11 @@
template< class T >
struct is_error_condition_enum { static const bool value = false; };
- // portable error_conditions -------------------------------------------//
+ // generic error_conditions --------------------------------------------//
- namespace posix_error
+ namespace errc
{
- enum posix_errno
+ enum errc_t
{
success = 0,
address_family_not_supported = EAFNOSUPPORT,
@@ -134,13 +134,14 @@
wrong_protocol_type = EPROTOTYPE
};
- } // namespace posix_error
+ } // namespace errc
# ifndef BOOST_SYSTEM_NO_DEPRECATED
- namespace posix = posix_error;
+ namespace posix = errc;
+ namespace posix_error = errc;
# endif
- template<> struct is_error_condition_enum<posix_error::posix_errno>
+ template<> struct is_error_condition_enum<errc::errc_t>
{ static const bool value = true; };
@@ -199,15 +200,16 @@
// predefined error categories -----------------------------------------//
BOOST_SYSTEM_DECL const error_category & get_system_category();
- BOOST_SYSTEM_DECL const error_category & get_posix_category();
+ BOOST_SYSTEM_DECL const error_category & get_generic_category();
static const error_category & system_category = get_system_category();
- static const error_category & posix_category = get_posix_category();
+ static const error_category & generic_category = get_generic_category();
# ifndef BOOST_SYSTEM_NO_DEPRECATED
// deprecated synonyms
- static const error_category & errno_ecat = get_posix_category();
- static const error_category & native_ecat = get_system_category();
+ static const error_category & posix_category = get_generic_category();
+ static const error_category & errno_ecat = get_generic_category();
+ static const error_category & native_ecat = get_system_category();
# endif
// class error_condition -----------------------------------------------//
@@ -219,7 +221,7 @@
public:
// constructors:
- error_condition() : m_val(0), m_cat(&get_posix_category()) {}
+ error_condition() : m_val(0), m_cat(&get_generic_category()) {}
error_condition( int val, const error_category & cat ) : m_val(val), m_cat(&cat) {}
template <class ConditionEnum>
@@ -248,7 +250,7 @@
void clear()
{
m_val = 0;
- m_cat = &get_posix_category();
+ m_cat = &get_generic_category();
}
// observers:
@@ -436,17 +438,17 @@
+ reinterpret_cast<std::size_t>(&ec.category());
}
- // make_* functions for posix_error::posix_errno -----------------------------//
+ // make_* functions for errc::errc_t -----------------------------//
- namespace posix_error
+ namespace errc
{
// explicit conversion:
- inline error_code make_error_code( posix_errno e )
- { return error_code( e, get_posix_category() ); }
+ inline error_code make_error_code( errc_t e )
+ { return error_code( e, get_generic_category() ); }
// implicit conversion:
- inline error_condition make_error_condition( posix_errno e )
- { return error_condition( e, get_posix_category() ); }
+ inline error_condition make_error_condition( errc_t e )
+ { return error_condition( e, get_generic_category() ); }
}
// error_category default implementation -------------------------------//
Modified: branches/CMake/release/boost/system/system_error.hpp
==============================================================================
--- branches/CMake/release/boost/system/system_error.hpp (original)
+++ branches/CMake/release/boost/system/system_error.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -24,13 +24,23 @@
public:
system_error( error_code ec )
: std::runtime_error(""), m_error_code(ec) {}
+
system_error( error_code ec, const std::string & what_arg )
: std::runtime_error(what_arg), m_error_code(ec) {}
+
+ system_error( error_code ec, const char* what_arg )
+ : std::runtime_error(what_arg), m_error_code(ec) {}
+
+ system_error( int ev, const error_category & ecat )
+ : std::runtime_error(""), m_error_code(ev,ecat) {}
+
system_error( int ev, const error_category & ecat,
const std::string & what_arg )
: std::runtime_error(what_arg), m_error_code(ev,ecat) {}
- system_error( int ev, const error_category & ecat )
- : std::runtime_error(""), m_error_code(ev,ecat) {}
+
+ system_error( int ev, const error_category & ecat,
+ const char * what_arg )
+ : std::runtime_error(what_arg), m_error_code(ev,ecat) {}
virtual ~system_error() throw() {}
Modified: branches/CMake/release/boost/thread/detail/platform.hpp
==============================================================================
--- branches/CMake/release/boost/thread/detail/platform.hpp (original)
+++ branches/CMake/release/boost/thread/detail/platform.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -42,9 +42,9 @@
#elif defined(__QNXNTO__)
# define BOOST_THREAD_QNXNTO
#elif defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) || defined(_POSIX_SOURCE)
-# if defined(BOOST_HAS_PTHREADS) && !defined(BOOST_THREAD_POSIX)
-# define BOOST_THREAD_POSIX
-# endif
+# if defined(BOOST_HAS_PTHREADS) && !defined(BOOST_THREAD_POSIX)
+# define BOOST_THREAD_POSIX
+# endif
#endif
// For every supported platform add a new entry into the dispatch table below.
Modified: branches/CMake/release/boost/thread/detail/thread.hpp
==============================================================================
--- branches/CMake/release/boost/thread/detail/thread.hpp (original)
+++ branches/CMake/release/boost/thread/detail/thread.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -163,7 +163,7 @@
thread& operator=(thread&& other)
{
thread_info=other.thread_info;
- other.thread_info.reset((detail::thread_data_base*)0);
+ other.thread_info.reset();
return *this;
}
@@ -190,7 +190,7 @@
thread(detail::thread_move_t<thread> x)
{
thread_info=x->thread_info;
- x->thread_info.reset((detail::thread_data_base*)0);
+ x->thread_info.reset();
}
thread& operator=(detail::thread_move_t<thread> x)
Modified: branches/CMake/release/boost/thread/locks.hpp
==============================================================================
--- branches/CMake/release/boost/thread/locks.hpp (original)
+++ branches/CMake/release/boost/thread/locks.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -16,6 +16,8 @@
namespace boost
{
+ struct xtime;
+
namespace detail
{
template<typename T>
@@ -126,8 +128,10 @@
private:
Mutex* m;
bool is_locked;
- explicit unique_lock(unique_lock&);
+ unique_lock(unique_lock&);
+ explicit unique_lock(upgrade_lock<Mutex>&);
unique_lock& operator=(unique_lock&);
+ unique_lock& operator=(upgrade_lock<Mutex>& other);
public:
unique_lock():
m(0),is_locked(false)
@@ -154,6 +158,40 @@
{
timed_lock(target_time);
}
+#ifdef BOOST_HAS_RVALUE_REFS
+ unique_lock(unique_lock&& other):
+ m(other.m),is_locked(other.is_locked)
+ {
+ other.is_locked=false;
+ other.m=0;
+ }
+ explicit unique_lock(upgrade_lock<Mutex>&& other);
+
+ unique_lock<Mutex>&& move()
+ {
+ return static_cast<unique_lock<Mutex>&&>(*this);
+ }
+
+
+ unique_lock& operator=(unique_lock<Mutex>&& other)
+ {
+ unique_lock temp(other);
+ swap(temp);
+ return *this;
+ }
+
+ unique_lock& operator=(upgrade_lock<Mutex>&& other)
+ {
+ unique_lock temp(other);
+ swap(temp);
+ return *this;
+ }
+ void swap(unique_lock&& other)
+ {
+ std::swap(m,other.m);
+ std::swap(is_locked,other.is_locked);
+ }
+#else
unique_lock(detail::thread_move_t<unique_lock<Mutex> > other):
m(other->m),is_locked(other->is_locked)
{
@@ -185,7 +223,6 @@
swap(temp);
return *this;
}
-
void swap(unique_lock& other)
{
std::swap(m,other.m);
@@ -196,6 +233,7 @@
std::swap(m,other->m);
std::swap(is_locked,other->is_locked);
}
+#endif
~unique_lock()
{
@@ -234,6 +272,11 @@
is_locked=m->timed_lock(absolute_time);
return is_locked;
}
+ bool timed_lock(::boost::xtime const& absolute_time)
+ {
+ is_locked=m->timed_lock(absolute_time);
+ return is_locked;
+ }
void unlock()
{
if(!owns_lock())
@@ -275,11 +318,27 @@
friend class upgrade_lock<Mutex>;
};
+#ifdef BOOST_HAS_RVALUE_REFS
+ template<typename Mutex>
+ void swap(unique_lock<Mutex>&& lhs,unique_lock<Mutex>&& rhs)
+ {
+ lhs.swap(rhs);
+ }
+#else
template<typename Mutex>
void swap(unique_lock<Mutex>& lhs,unique_lock<Mutex>& rhs)
{
lhs.swap(rhs);
}
+#endif
+
+#ifdef BOOST_HAS_RVALUE_REFS
+ template<typename Mutex>
+ inline unique_lock<Mutex>&& move(unique_lock<Mutex>&& ul)
+ {
+ return ul;
+ }
+#endif
template<typename Mutex>
class shared_lock
@@ -378,11 +437,29 @@
return *this;
}
+#ifdef BOOST_HAS_RVALUE_REFS
+ void swap(shared_lock&& other)
+ {
+ std::swap(m,other.m);
+ std::swap(is_locked,other.is_locked);
+ }
+#else
void swap(shared_lock& other)
{
std::swap(m,other.m);
std::swap(is_locked,other.is_locked);
}
+ void swap(boost::detail::thread_move_t<shared_lock> other)
+ {
+ std::swap(m,other->m);
+ std::swap(is_locked,other->is_locked);
+ }
+#endif
+
+ Mutex* mutex() const
+ {
+ return m;
+ }
~shared_lock()
{
@@ -418,6 +495,16 @@
is_locked=m->timed_lock_shared(target_time);
return is_locked;
}
+ template<typename Duration>
+ bool timed_lock(Duration const& target_time)
+ {
+ if(owns_lock())
+ {
+ throw boost::lock_error();
+ }
+ is_locked=m->timed_lock_shared(target_time);
+ return is_locked;
+ }
void unlock()
{
if(!owns_lock())
@@ -444,6 +531,20 @@
};
+#ifdef BOOST_HAS_RVALUE_REFS
+ template<typename Mutex>
+ void swap(shared_lock<Mutex>&& lhs,shared_lock<Mutex>&& rhs)
+ {
+ lhs.swap(rhs);
+ }
+#else
+ template<typename Mutex>
+ void swap(shared_lock<Mutex>& lhs,shared_lock<Mutex>& rhs)
+ {
+ lhs.swap(rhs);
+ }
+#endif
+
template<typename Mutex>
class upgrade_lock
{
@@ -576,6 +677,18 @@
};
+#ifdef BOOST_HAS_RVALUE_REFS
+ template<typename Mutex>
+ unique_lock<Mutex>::unique_lock(upgrade_lock<Mutex>&& other):
+ m(other.m),is_locked(other.is_locked)
+ {
+ other.is_locked=false;
+ if(is_locked)
+ {
+ m.unlock_upgrade_and_lock();
+ }
+ }
+#else
template<typename Mutex>
unique_lock<Mutex>::unique_lock(detail::thread_move_t<upgrade_lock<Mutex> > other):
m(other->m),is_locked(other->is_locked)
@@ -586,7 +699,7 @@
m->unlock_upgrade_and_lock();
}
}
-
+#endif
template <class Mutex>
class upgrade_to_unique_lock
{
@@ -685,6 +798,12 @@
return *this;
}
+#ifdef BOOST_HAS_RVALUE_REFS
+ void swap(try_lock_wrapper&& other)
+ {
+ base::swap(other);
+ }
+#else
void swap(try_lock_wrapper& other)
{
base::swap(other);
@@ -693,6 +812,7 @@
{
base::swap(*other);
}
+#endif
void lock()
{
@@ -730,11 +850,19 @@
}
};
+#ifdef BOOST_HAS_RVALUE_REFS
+ template<typename Mutex>
+ void swap(try_lock_wrapper<Mutex>&& lhs,try_lock_wrapper<Mutex>&& rhs)
+ {
+ lhs.swap(rhs);
+ }
+#else
template<typename Mutex>
void swap(try_lock_wrapper<Mutex>& lhs,try_lock_wrapper<Mutex>& rhs)
{
lhs.swap(rhs);
}
+#endif
template<typename MutexType1,typename MutexType2>
unsigned try_lock_internal(MutexType1& m1,MutexType2& m2)
@@ -1131,5 +1259,6 @@
}
#include <boost/config/abi_suffix.hpp>
+#include <boost/mpl/identity.hpp>
#endif
Modified: branches/CMake/release/boost/thread/pthread/condition_variable.hpp
==============================================================================
--- branches/CMake/release/boost/thread/pthread/condition_variable.hpp (original)
+++ branches/CMake/release/boost/thread/pthread/condition_variable.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -121,6 +121,17 @@
}
return true;
}
+ template<typename lock_type>
+ bool timed_wait(lock_type& m,xtime const& wait_until)
+ {
+ return timed_wait(m,system_time(wait_until));
+ }
+
+ template<typename lock_type,typename duration_type>
+ bool timed_wait(lock_type& m,duration_type const& wait_duration)
+ {
+ return timed_wait(m,get_system_time()+wait_duration);
+ }
template<typename lock_type,typename predicate_type>
bool timed_wait(lock_type& m,boost::system_time const& wait_until,predicate_type pred)
Modified: branches/CMake/release/boost/thread/pthread/condition_variable_fwd.hpp
==============================================================================
--- branches/CMake/release/boost/thread/pthread/condition_variable_fwd.hpp (original)
+++ branches/CMake/release/boost/thread/pthread/condition_variable_fwd.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -47,6 +47,16 @@
}
bool timed_wait(unique_lock<mutex>& m,boost::system_time const& wait_until);
+ bool timed_wait(unique_lock<mutex>& m,xtime const& wait_until)
+ {
+ return timed_wait(m,system_time(wait_until));
+ }
+
+ template<typename duration_type>
+ bool timed_wait(unique_lock<mutex>& m,duration_type const& wait_duration)
+ {
+ return timed_wait(m,get_system_time()+wait_duration);
+ }
template<typename predicate_type>
bool timed_wait(unique_lock<mutex>& m,boost::system_time const& wait_until,predicate_type pred)
Modified: branches/CMake/release/boost/thread/pthread/mutex.hpp
==============================================================================
--- branches/CMake/release/boost/thread/pthread/mutex.hpp (original)
+++ branches/CMake/release/boost/thread/pthread/mutex.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -10,6 +10,7 @@
#include <boost/thread/exceptions.hpp>
#include <boost/thread/locks.hpp>
#include <boost/thread/thread_time.hpp>
+#include <boost/thread/xtime.hpp>
#include <boost/assert.hpp>
#include <errno.h>
#include "timespec.hpp"
@@ -113,6 +114,10 @@
{
return timed_lock(get_system_time()+relative_time);
}
+ bool timed_lock(boost::xtime const & absolute_time)
+ {
+ return timed_lock(system_time(absolute_time));
+ }
#ifdef BOOST_PTHREAD_HAS_TIMEDLOCK
void lock()
Modified: branches/CMake/release/boost/thread/tss.hpp
==============================================================================
--- branches/CMake/release/boost/thread/tss.hpp (original)
+++ branches/CMake/release/boost/thread/tss.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -5,6 +5,7 @@
// http://www.boost.org/LICENSE_1_0.txt)
// (C) Copyright 2007-8 Anthony Williams
+#include <boost/thread/detail/config.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/thread/detail/thread_heap_alloc.hpp>
Modified: branches/CMake/release/boost/thread/win32/basic_timed_mutex.hpp
==============================================================================
--- branches/CMake/release/boost/thread/win32/basic_timed_mutex.hpp (original)
+++ branches/CMake/release/boost/thread/win32/basic_timed_mutex.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -13,6 +13,7 @@
#include "thread_primitives.hpp"
#include "interlocked_read.hpp"
#include <boost/thread/thread_time.hpp>
+#include <boost/thread/xtime.hpp>
#include <boost/detail/interlocked.hpp>
#include <boost/config/abi_prefix.hpp>
@@ -117,6 +118,11 @@
return timed_lock(get_system_time()+timeout);
}
+ bool timed_lock(boost::xtime const& timeout)
+ {
+ return timed_lock(system_time(timeout));
+ }
+
long get_active_count()
{
return ::boost::detail::interlocked_read_acquire(&active_count);
Modified: branches/CMake/release/boost/thread/win32/mutex.hpp
==============================================================================
--- branches/CMake/release/boost/thread/win32/mutex.hpp (original)
+++ branches/CMake/release/boost/thread/win32/mutex.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -20,7 +20,7 @@
}
class mutex:
- boost::noncopyable,
+ boost::noncopyable,
public ::boost::detail::underlying_mutex
{
public:
Modified: branches/CMake/release/boost/thread/win32/shared_mutex.hpp
==============================================================================
--- branches/CMake/release/boost/thread/win32/shared_mutex.hpp (original)
+++ branches/CMake/release/boost/thread/win32/shared_mutex.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -91,7 +91,7 @@
bool try_lock_shared()
{
state_data old_state=state;
- do
+ for(;;)
{
state_data new_state=old_state;
if(!new_state.exclusive && !new_state.exclusive_waiting_blocked)
@@ -106,14 +106,6 @@
}
old_state=current_state;
}
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
- while(true);
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
return !(old_state.exclusive| old_state.exclusive_waiting_blocked);
}
@@ -130,17 +122,10 @@
bool timed_lock_shared(boost::system_time const& wait_until)
{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
- while(true)
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
+ for(;;)
{
state_data old_state=state;
- do
+ for(;;)
{
state_data new_state=old_state;
if(new_state.exclusive || new_state.exclusive_waiting_blocked)
@@ -159,14 +144,6 @@
}
old_state=current_state;
}
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
- while(true);
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
if(!(old_state.exclusive| old_state.exclusive_waiting_blocked))
{
@@ -176,7 +153,7 @@
unsigned long const res=detail::win32::WaitForSingleObject(unlock_sem,::boost::detail::get_milliseconds_until(wait_until));
if(res==detail::win32::timeout)
{
- do
+ for(;;)
{
state_data new_state=old_state;
if(new_state.exclusive || new_state.exclusive_waiting_blocked)
@@ -198,14 +175,6 @@
}
old_state=current_state;
}
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
- while(true);
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
if(!(old_state.exclusive| old_state.exclusive_waiting_blocked))
{
@@ -221,7 +190,7 @@
void unlock_shared()
{
state_data old_state=state;
- do
+ for(;;)
{
state_data new_state=old_state;
bool const last_reader=!--new_state.shared_count;
@@ -262,14 +231,6 @@
}
old_state=current_state;
}
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
- while(true);
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
}
void lock()
@@ -283,20 +244,39 @@
return timed_lock(get_system_time()+relative_time);
}
+ bool try_lock()
+ {
+ state_data old_state=state;
+ for(;;)
+ {
+ state_data new_state=old_state;
+ if(new_state.shared_count || new_state.exclusive)
+ {
+ return false;
+ }
+ else
+ {
+ new_state.exclusive=true;
+ }
+
+ state_data const current_state=interlocked_compare_exchange(&state,new_state,old_state);
+ if(current_state==old_state)
+ {
+ break;
+ }
+ old_state=current_state;
+ }
+ return true;
+ }
+
+
bool timed_lock(boost::system_time const& wait_until)
{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
- while(true)
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
+ for(;;)
{
state_data old_state=state;
- do
+ for(;;)
{
state_data new_state=old_state;
if(new_state.shared_count || new_state.exclusive)
@@ -316,14 +296,6 @@
}
old_state=current_state;
}
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
- while(true);
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
if(!old_state.shared_count && !old_state.exclusive)
{
@@ -332,7 +304,7 @@
unsigned long const wait_res=detail::win32::WaitForMultipleObjects(2,semaphores,true,::boost::detail::get_milliseconds_until(wait_until));
if(wait_res==detail::win32::timeout)
{
- do
+ for(;;)
{
state_data new_state=old_state;
if(new_state.shared_count || new_state.exclusive)
@@ -357,14 +329,6 @@
}
old_state=current_state;
}
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
- while(true);
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
if(!old_state.shared_count && !old_state.exclusive)
{
return true;
@@ -378,7 +342,7 @@
void unlock()
{
state_data old_state=state;
- do
+ for(;;)
{
state_data new_state=old_state;
new_state.exclusive=false;
@@ -396,30 +360,15 @@
}
old_state=current_state;
}
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
- while(true);
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
release_waiters(old_state);
}
void lock_upgrade()
{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
- while(true)
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
+ for(;;)
{
state_data old_state=state;
- do
+ for(;;)
{
state_data new_state=old_state;
if(new_state.exclusive || new_state.exclusive_waiting_blocked || new_state.upgrade)
@@ -439,14 +388,6 @@
}
old_state=current_state;
}
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
- while(true);
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
if(!(old_state.exclusive|| old_state.exclusive_waiting_blocked|| old_state.upgrade))
{
@@ -457,10 +398,36 @@
}
}
+ bool try_lock_upgrade()
+ {
+ state_data old_state=state;
+ for(;;)
+ {
+ state_data new_state=old_state;
+ if(new_state.exclusive || new_state.exclusive_waiting_blocked || new_state.upgrade)
+ {
+ return false;
+ }
+ else
+ {
+ ++new_state.shared_count;
+ new_state.upgrade=true;
+ }
+
+ state_data const current_state=interlocked_compare_exchange(&state,new_state,old_state);
+ if(current_state==old_state)
+ {
+ break;
+ }
+ old_state=current_state;
+ }
+ return true;
+ }
+
void unlock_upgrade()
{
state_data old_state=state;
- do
+ for(;;)
{
state_data new_state=old_state;
new_state.upgrade=false;
@@ -487,20 +454,12 @@
}
old_state=current_state;
}
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
- while(true);
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
}
void unlock_upgrade_and_lock()
{
state_data old_state=state;
- do
+ for(;;)
{
state_data new_state=old_state;
bool const last_reader=!--new_state.shared_count;
@@ -522,20 +481,12 @@
}
old_state=current_state;
}
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
- while(true);
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
}
void unlock_and_lock_upgrade()
{
state_data old_state=state;
- do
+ for(;;)
{
state_data new_state=old_state;
new_state.exclusive=false;
@@ -555,21 +506,13 @@
}
old_state=current_state;
}
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
- while(true);
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
release_waiters(old_state);
}
void unlock_and_lock_shared()
{
state_data old_state=state;
- do
+ for(;;)
{
state_data new_state=old_state;
new_state.exclusive=false;
@@ -588,21 +531,13 @@
}
old_state=current_state;
}
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
- while(true);
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
release_waiters(old_state);
}
void unlock_upgrade_and_lock_shared()
{
state_data old_state=state;
- do
+ for(;;)
{
state_data new_state=old_state;
new_state.upgrade=false;
@@ -620,14 +555,6 @@
}
old_state=current_state;
}
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
- while(true);
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
release_waiters(old_state);
}
Modified: branches/CMake/release/boost/thread/win32/thread_primitives.hpp
==============================================================================
--- branches/CMake/release/boost/thread/win32/thread_primitives.hpp (original)
+++ branches/CMake/release/boost/thread/win32/thread_primitives.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -64,7 +64,7 @@
# ifdef UNDER_CE
# ifndef WINAPI
# ifndef _WIN32_WCE_EMULATION
-# define WINAPI __cdecl // Note this doesn't match the desktop definition
+# define WINAPI __cdecl // Note this doesn't match the desktop definition
# else
# define WINAPI __stdcall
# endif
@@ -282,16 +282,6 @@
}
#if defined(BOOST_MSVC) && (_MSC_VER>=1400) && !defined(UNDER_CE)
-#if _MSC_VER==1400
-extern "C" unsigned char _interlockedbittestandset(long *a,long b);
-extern "C" unsigned char _interlockedbittestandreset(long *a,long b);
-#else
-extern "C" unsigned char _interlockedbittestandset(volatile long *a,long b);
-extern "C" unsigned char _interlockedbittestandreset(volatile long *a,long b);
-#endif
-
-#pragma intrinsic(_interlockedbittestandset)
-#pragma intrinsic(_interlockedbittestandreset)
namespace boost
{
@@ -299,6 +289,17 @@
{
namespace win32
{
+#if _MSC_VER==1400
+ extern "C" unsigned char _interlockedbittestandset(long *a,long b);
+ extern "C" unsigned char _interlockedbittestandreset(long *a,long b);
+#else
+ extern "C" unsigned char _interlockedbittestandset(volatile long *a,long b);
+ extern "C" unsigned char _interlockedbittestandreset(volatile long *a,long b);
+#endif
+
+#pragma intrinsic(_interlockedbittestandset)
+#pragma intrinsic(_interlockedbittestandreset)
+
inline bool interlocked_bit_test_and_set(long* x,long bit)
{
return _interlockedbittestandset(x,bit)!=0;
Modified: branches/CMake/release/boost/tr1/detail/config.hpp
==============================================================================
--- branches/CMake/release/boost/tr1/detail/config.hpp (original)
+++ branches/CMake/release/boost/tr1/detail/config.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -112,7 +112,9 @@
#if defined(_MSC_VER) && (_MSC_VER >= 1500) \
&& defined(_MSC_FULL_VER) && \
!defined(__SGI_STL_PORT) && \
- !defined(_STLPORT_VERSION)
+ !defined(_STLPORT_VERSION) && \
+ !defined(_RWSTD_VER_STR) && \
+ !defined(_RWSTD_VER)
//
// MSVC-9.0 defines a not-quite TR1 conforming hash
// function object in <functional>, so we must define
Modified: branches/CMake/release/boost/type_traits/alignment_of.hpp
==============================================================================
--- branches/CMake/release/boost/type_traits/alignment_of.hpp (original)
+++ branches/CMake/release/boost/type_traits/alignment_of.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -12,6 +12,7 @@
#include <boost/config.hpp>
#include <cstddef>
+#include <boost/type_traits/intrinsics.hpp>
// should be the last #include
#include <boost/type_traits/detail/size_t_trait_def.hpp>
@@ -30,6 +31,10 @@
// get the alignment of some arbitrary type:
namespace detail {
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4324) // structure was padded due to __declspec(align())
+#endif
template <typename T>
struct alignment_of_hack
{
@@ -37,7 +42,9 @@
T t;
alignment_of_hack();
};
-
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
template <unsigned A, unsigned S>
struct alignment_logic
@@ -49,11 +56,21 @@
template< typename T >
struct alignment_of_impl
{
+#ifndef BOOST_ALIGNMENT_OF
BOOST_STATIC_CONSTANT(std::size_t, value =
(::boost::detail::alignment_logic<
sizeof(::boost::detail::alignment_of_hack<T>) - sizeof(T),
sizeof(T)
>::value));
+#else
+ //
+ // We put this here, rather than in the definition of
+ // alignment_of below, because MSVC's __alignof doesn't
+ // always work in that context for some unexplained reason.
+ // (See type_with_alignment tests for test cases).
+ //
+ BOOST_STATIC_CONSTANT(std::size_t, value = BOOST_ALIGNMENT_OF(T));
+#endif
};
} // namespace detail
Modified: branches/CMake/release/boost/type_traits/conversion_traits.hpp
==============================================================================
--- branches/CMake/release/boost/type_traits/conversion_traits.hpp (original)
+++ branches/CMake/release/boost/type_traits/conversion_traits.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,7 +1,7 @@
// Copyright 2000 John Maddock (john_at_[hidden])
// Copyright 2000 Jeremy Siek (jsiek_at_[hidden])
-// Copyright 1999, 2000 Jaakko Jrvi (jaakko.jarvi_at_[hidden])
+// Copyright 1999, 2000 Jaakko Jarvi (jaakko.jarvi_at_[hidden])
//
// Use, modification and distribution are subject to the Boost Software License,
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
Modified: branches/CMake/release/boost/type_traits/intrinsics.hpp
==============================================================================
--- branches/CMake/release/boost/type_traits/intrinsics.hpp (original)
+++ branches/CMake/release/boost/type_traits/intrinsics.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -31,6 +31,18 @@
// BOOST_HAS_NOTHROW_COPY(T) should evaluate to true if T(t) can not throw
// BOOST_HAS_NOTHROW_ASSIGN(T) should evaluate to true if t = u can not throw
// BOOST_HAS_VIRTUAL_DESTRUCTOR(T) should evaluate to true T has a virtual destructor
+//
+// The following can also be defined: when detected our implementation is greatly simplified.
+// Note that unlike the macros above these do not have default definitions, so we can use
+// #ifdef MACRONAME to detect when these are available.
+//
+// BOOST_IS_ABSTRACT(T) true if T is an abstract type
+// BOOST_IS_BASE_OF(T,U) true if T is a base class of U
+// BOOST_IS_CLASS(T) true if T is a class type
+// BOOST_IS_CONVERTIBLE(T,U) true if T is convertible to U
+// BOOST_IS_ENUM(T) true is T is an enum
+// BOOST_IS_POLYMORPHIC(T) true if T is a polymorphic type
+// BOOST_ALIGNMENT_OF(T) should evaluate to the alignment requirements of type T.
#ifdef BOOST_HAS_SGI_TYPE_TRAITS
// Hook into SGI's __type_traits class, this will pick up user supplied
@@ -71,6 +83,8 @@
#endif
#if defined(BOOST_MSVC) && defined(_MSC_FULL_VER) && (_MSC_FULL_VER >=140050215)
+# include <boost/type_traits/is_same.hpp>
+
# define BOOST_IS_UNION(T) __is_union(T)
# define BOOST_IS_POD(T) (__is_pod(T) && __has_trivial_constructor(T))
# define BOOST_IS_EMPTY(T) __is_empty(T)
@@ -82,6 +96,17 @@
# define BOOST_HAS_NOTHROW_COPY(T) __has_nothrow_copy(T)
# define BOOST_HAS_NOTHROW_ASSIGN(T) __has_nothrow_assign(T)
# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
+
+# define BOOST_IS_ABSTRACT(T) __is_abstract(T)
+# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
+# define BOOST_IS_CLASS(T) __is_class(T)
+// This one doesn't quite always do the right thing:
+// # define BOOST_IS_CONVERTIBLE(T,U) __is_convertible_to(T,U)
+# define BOOST_IS_ENUM(T) __is_enum(T)
+// This one doesn't quite always do the right thing:
+// # define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
+# define BOOST_ALIGNMENT_OF(T) __alignof(T)
+
# define BOOST_HAS_TYPE_TRAITS_INTRINSICS
#endif
@@ -101,6 +126,33 @@
# define BOOST_HAS_TYPE_TRAITS_INTRINSICS
#endif
+#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))
+# include <boost/type_traits/is_same.hpp>
+# include <boost/type_traits/is_reference.hpp>
+# include <boost/type_traits/is_volatile.hpp>
+
+# define BOOST_IS_UNION(T) __is_union(T)
+# define BOOST_IS_POD(T) __is_pod(T)
+# define BOOST_IS_EMPTY(T) __is_empty(T)
+# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T)
+# define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference<T>::value)
+# define BOOST_HAS_TRIVIAL_ASSIGN(T) __has_trivial_assign(T)
+# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T)
+# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T)
+# define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile<T>::value && !is_reference<T>::value)
+# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value)
+# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
+
+# define BOOST_IS_ABSTRACT(T) __is_abstract(T)
+# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
+# define BOOST_IS_CLASS(T) __is_class(T)
+# define BOOST_IS_ENUM(T) __is_enum(T)
+# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
+# define BOOST_ALIGNMENT_OF(T) __alignof__(T)
+
+# define BOOST_HAS_TYPE_TRAITS_INTRINSICS
+#endif
+
#ifndef BOOST_IS_UNION
# define BOOST_IS_UNION(T) false
#endif
Modified: branches/CMake/release/boost/type_traits/is_abstract.hpp
==============================================================================
--- branches/CMake/release/boost/type_traits/is_abstract.hpp (original)
+++ branches/CMake/release/boost/type_traits/is_abstract.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -48,6 +48,8 @@
// to degrade gracefully, rather than trash the compiler (John Maddock).
//
+#include <boost/type_traits/intrinsics.hpp>
+#ifndef BOOST_IS_ABSTRACT
#include <boost/static_assert.hpp>
#include <boost/type_traits/detail/yes_no_type.hpp>
#include <boost/type_traits/is_class.hpp>
@@ -55,6 +57,7 @@
#ifdef BOOST_NO_IS_ABSTRACT
#include <boost/type_traits/is_polymorphic.hpp>
#endif
+#endif
// should be the last #include
#include <boost/type_traits/detail/bool_trait_def.hpp>
@@ -62,7 +65,13 @@
namespace boost {
namespace detail{
-#ifndef BOOST_NO_IS_ABSTRACT
+#ifdef BOOST_IS_ABSTRACT
+template <class T>
+struct is_abstract_imp
+{
+ BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_ABSTRACT(T));
+};
+#elif !defined(BOOST_NO_IS_ABSTRACT)
template<class T>
struct is_abstract_imp2
{
Modified: branches/CMake/release/boost/type_traits/is_base_and_derived.hpp
==============================================================================
--- branches/CMake/release/boost/type_traits/is_base_and_derived.hpp (original)
+++ branches/CMake/release/boost/type_traits/is_base_and_derived.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,6 +9,8 @@
#ifndef BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
#define BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
+#include <boost/type_traits/intrinsics.hpp>
+#ifndef BOOST_IS_BASE_OF
#include <boost/type_traits/is_class.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/type_traits/is_convertible.hpp>
@@ -16,6 +18,7 @@
#include <boost/type_traits/remove_cv.hpp>
#include <boost/config.hpp>
#include <boost/static_assert.hpp>
+#endif
// should be the last #include
#include <boost/type_traits/detail/bool_trait_def.hpp>
@@ -24,6 +27,7 @@
namespace detail {
+#ifndef BOOST_IS_BASE_OF
#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581)) \
&& !BOOST_WORKAROUND(__SUNPRO_CC , <= 0x540) \
&& !BOOST_WORKAROUND(__EDG_VERSION__, <= 243) \
@@ -214,7 +218,13 @@
BOOST_STATIC_CONSTANT(bool, value = bound_type::value);
};
-
+#else
+template <typename B, typename D>
+struct is_base_and_derived_impl
+{
+ BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_BASE_OF(B,D));
+};
+#endif
} // namespace detail
BOOST_TT_AUX_BOOL_TRAIT_DEF2(
Modified: branches/CMake/release/boost/type_traits/is_class.hpp
==============================================================================
--- branches/CMake/release/boost/type_traits/is_class.hpp (original)
+++ branches/CMake/release/boost/type_traits/is_class.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -11,6 +11,8 @@
#define BOOST_TT_IS_CLASS_HPP_INCLUDED
#include <boost/type_traits/config.hpp>
+#include <boost/type_traits/intrinsics.hpp>
+#ifndef BOOST_IS_CLASS
# include <boost/type_traits/is_union.hpp>
# include <boost/type_traits/detail/ice_and.hpp>
# include <boost/type_traits/detail/ice_not.hpp>
@@ -28,6 +30,7 @@
#ifdef __EDG_VERSION__
# include <boost/type_traits/remove_cv.hpp>
#endif
+#endif // BOOST_IS_CLASS
// should be the last #include
#include <boost/type_traits/detail/bool_trait_def.hpp>
@@ -36,6 +39,7 @@
namespace detail {
+#ifndef BOOST_IS_CLASS
#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
// This is actually the conforming implementation which works with
@@ -111,6 +115,13 @@
};
# endif // BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
+# else // BOOST_IS_CLASS
+template <typename T>
+struct is_class_impl
+{
+ BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_CLASS(T));
+};
+# endif // BOOST_IS_CLASS
} // namespace detail
Modified: branches/CMake/release/boost/type_traits/is_convertible.hpp
==============================================================================
--- branches/CMake/release/boost/type_traits/is_convertible.hpp (original)
+++ branches/CMake/release/boost/type_traits/is_convertible.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,7 +1,7 @@
// Copyright 2000 John Maddock (john_at_[hidden])
// Copyright 2000 Jeremy Siek (jsiek_at_[hidden])
-// Copyright 1999, 2000 Jaakko Jrvi (jaakko.jarvi_at_[hidden])
+// Copyright 1999, 2000 Jaakko Jarvi (jaakko.jarvi_at_[hidden])
//
// Use, modification and distribution are subject to the Boost Software License,
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@@ -12,6 +12,8 @@
#ifndef BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED
#define BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED
+#include <boost/type_traits/intrinsics.hpp>
+#ifndef BOOST_IS_CONVERTIBLE
#include <boost/type_traits/detail/yes_no_type.hpp>
#include <boost/type_traits/config.hpp>
#include <boost/type_traits/is_array.hpp>
@@ -28,11 +30,15 @@
#include <boost/type_traits/remove_reference.hpp>
#endif
+#endif // BOOST_IS_CONVERTIBLE
+
// should be always the last #include directive
#include <boost/type_traits/detail/bool_trait_def.hpp>
namespace boost {
+#ifndef BOOST_IS_CONVERTIBLE
+
// is one type convertable to another?
//
// there are multiple versions of the is_convertible
@@ -411,6 +417,12 @@
BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_convertible,From,To,(::boost::detail::is_convertible_impl_dispatch<From,To>::value))
+#else
+
+BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_convertible,From,To,BOOST_IS_CONVERTIBLE(From,To))
+
+#endif
+
} // namespace boost
#include <boost/type_traits/detail/bool_trait_undef.hpp>
Modified: branches/CMake/release/boost/type_traits/is_enum.hpp
==============================================================================
--- branches/CMake/release/boost/type_traits/is_enum.hpp (original)
+++ branches/CMake/release/boost/type_traits/is_enum.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -11,6 +11,8 @@
#ifndef BOOST_TT_IS_ENUM_HPP_INCLUDED
#define BOOST_TT_IS_ENUM_HPP_INCLUDED
+#include <boost/type_traits/intrinsics.hpp>
+#ifndef BOOST_IS_ENUM
#include <boost/type_traits/add_reference.hpp>
#include <boost/type_traits/is_arithmetic.hpp>
#include <boost/type_traits/is_reference.hpp>
@@ -24,13 +26,14 @@
# include <boost/type_traits/is_class.hpp>
# include <boost/type_traits/is_union.hpp>
#endif
-
+#endif
// should be the last #include
#include <boost/type_traits/detail/bool_trait_def.hpp>
namespace boost {
+#ifndef BOOST_IS_ENUM
#if !(defined(__BORLANDC__) && (__BORLANDC__ <= 0x551))
namespace detail {
@@ -173,6 +176,12 @@
#endif
+#else // BOOST_IS_ENUM
+
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,BOOST_IS_ENUM(T))
+
+#endif
+
} // namespace boost
#include <boost/type_traits/detail/bool_trait_undef.hpp>
Modified: branches/CMake/release/boost/type_traits/is_polymorphic.hpp
==============================================================================
--- branches/CMake/release/boost/type_traits/is_polymorphic.hpp (original)
+++ branches/CMake/release/boost/type_traits/is_polymorphic.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -8,13 +8,19 @@
#ifndef BOOST_TT_IS_POLYMORPHIC_HPP
#define BOOST_TT_IS_POLYMORPHIC_HPP
+#include <boost/type_traits/intrinsics.hpp>
+#ifndef BOOST_IS_POLYMORPHIC
#include <boost/type_traits/is_class.hpp>
#include <boost/type_traits/remove_cv.hpp>
+#endif
// should be the last #include
#include <boost/type_traits/detail/bool_trait_def.hpp>
#include <boost/detail/workaround.hpp>
namespace boost{
+
+#ifndef BOOST_IS_POLYMORPHIC
+
namespace detail{
template <class T>
@@ -95,6 +101,12 @@
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_polymorphic,T,::boost::detail::is_polymorphic_imp<T>::value)
+#else // BOOST_IS_POLYMORPHIC
+
+BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_polymorphic,T,BOOST_IS_POLYMORPHIC(T))
+
+#endif
+
} // namespace boost
#include <boost/type_traits/detail/bool_trait_undef.hpp>
Modified: branches/CMake/release/boost/type_traits/make_signed.hpp
==============================================================================
--- branches/CMake/release/boost/type_traits/make_signed.hpp (original)
+++ branches/CMake/release/boost/type_traits/make_signed.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -72,7 +72,7 @@
is_same<t_no_cv, unsigned long>,
long,
#if defined(BOOST_HAS_LONG_LONG)
- long long
+ boost::long_long_type
#elif defined(BOOST_HAS_MS_INT64)
__int64
#else
@@ -96,7 +96,7 @@
sizeof(t_no_cv) == sizeof(unsigned long),
long,
#if defined(BOOST_HAS_LONG_LONG)
- long long
+ boost::long_long_type
#elif defined(BOOST_HAS_MS_INT64)
__int64
#else
Modified: branches/CMake/release/boost/type_traits/make_unsigned.hpp
==============================================================================
--- branches/CMake/release/boost/type_traits/make_unsigned.hpp (original)
+++ branches/CMake/release/boost/type_traits/make_unsigned.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -72,7 +72,7 @@
is_same<t_no_cv, long>,
unsigned long,
#if defined(BOOST_HAS_LONG_LONG)
- unsigned long long
+ boost::ulong_long_type
#elif defined(BOOST_HAS_MS_INT64)
unsigned __int64
#else
@@ -96,7 +96,7 @@
sizeof(t_no_cv) == sizeof(unsigned long),
unsigned long,
#if defined(BOOST_HAS_LONG_LONG)
- unsigned long long
+ boost::ulong_long_type
#elif defined(BOOST_HAS_MS_INT64)
unsigned __int64
#else
Modified: branches/CMake/release/boost/type_traits/type_with_alignment.hpp
==============================================================================
--- branches/CMake/release/boost/type_traits/type_with_alignment.hpp (original)
+++ branches/CMake/release/boost/type_traits/type_with_alignment.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -189,8 +189,10 @@
// This alignment method originally due to Brian Parker, implemented by David
// Abrahams, and then ported here by Doug Gregor.
+namespace detail{
+
template <std::size_t Align>
-class type_with_alignment
+class type_with_alignment_imp
{
typedef ::boost::detail::lower_alignment<Align> t1;
typedef typename mpl::if_c<
@@ -208,6 +210,14 @@
typedef align_t type;
};
+}
+
+template <std::size_t Align>
+class type_with_alignment
+ : public ::boost::detail::type_with_alignment_imp<Align>
+{
+};
+
#if defined(__GNUC__)
namespace align {
struct __attribute__((__aligned__(2))) a2 {};
@@ -232,6 +242,99 @@
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a32,true)
}
#endif
+#if (defined(BOOST_MSVC) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && _MSC_VER >= 1300
+//
+// MSVC supports types which have alignments greater than the normal
+// maximum: these are used for example in the types __m64 and __m128
+// to provide types with alignment requirements which match the SSE
+// registers. Therefore we extend type_with_alignment<> to support
+// such types, however, we have to be careful to use a builtin type
+// whenever possible otherwise we break previously working code:
+// see http://article.gmane.org/gmane.comp.lib.boost.devel/173011
+// for an example and test case. Thus types like a8 below will
+// be used *only* if the existing implementation can't provide a type
+// with suitable alignment. This does mean however, that type_with_alignment<>
+// may return a type which cannot be passed through a function call
+// by value (and neither can any type containing such a type like
+// Boost.Optional). However, this only happens when we have no choice
+// in the matter because no other "ordinary" type is available.
+//
+namespace align {
+struct __declspec(align(8)) a8 {
+ char m[8];
+ typedef a8 type;
+};
+struct __declspec(align(16)) a16 {
+ char m[16];
+ typedef a16 type;
+};
+struct __declspec(align(32)) a32 {
+ char m[32];
+ typedef a32 type;
+};
+struct __declspec(align(64)) a64
+{
+ char m[64];
+ typedef a64 type;
+};
+struct __declspec(align(128)) a128 {
+ char m[128];
+ typedef a128 type;
+};
+}
+
+template<> class type_with_alignment<8>
+{
+ typedef mpl::if_c<
+ ::boost::alignment_of<detail::max_align>::value < 8,
+ align::a8,
+ detail::type_with_alignment_imp<8> >::type t1;
+public:
+ typedef t1::type type;
+};
+template<> class type_with_alignment<16>
+{
+ typedef mpl::if_c<
+ ::boost::alignment_of<detail::max_align>::value < 16,
+ align::a16,
+ detail::type_with_alignment_imp<16> >::type t1;
+public:
+ typedef t1::type type;
+};
+template<> class type_with_alignment<32>
+{
+ typedef mpl::if_c<
+ ::boost::alignment_of<detail::max_align>::value < 32,
+ align::a32,
+ detail::type_with_alignment_imp<32> >::type t1;
+public:
+ typedef t1::type type;
+};
+template<> class type_with_alignment<64> {
+ typedef mpl::if_c<
+ ::boost::alignment_of<detail::max_align>::value < 64,
+ align::a64,
+ detail::type_with_alignment_imp<64> >::type t1;
+public:
+ typedef t1::type type;
+};
+template<> class type_with_alignment<128> {
+ typedef mpl::if_c<
+ ::boost::alignment_of<detail::max_align>::value < 128,
+ align::a128,
+ detail::type_with_alignment_imp<128> >::type t1;
+public:
+ typedef t1::type type;
+};
+
+namespace detail {
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a8,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a16,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a32,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a64,true)
+BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a128,true)
+}
+#endif
#else
Modified: branches/CMake/release/boost/units/absolute.hpp
==============================================================================
--- branches/CMake/release/boost/units/absolute.hpp (original)
+++ branches/CMake/release/boost/units/absolute.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -133,6 +133,7 @@
reduce_unit<From::unit_type>::type, \
reduce_unit<To::unit_type>::type> \
{ \
+ static const bool is_defined = true; \
typedef type_ type; \
static type value() { return(value_); } \
}; \
Modified: branches/CMake/release/boost/units/conversion.hpp
==============================================================================
--- branches/CMake/release/boost/units/conversion.hpp (original)
+++ branches/CMake/release/boost/units/conversion.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -70,6 +70,7 @@
template<> \
struct base_unit_converter<Source, reduce_unit<Destination::unit_type>::type> \
{ \
+ static const bool is_defined = true; \
typedef type_ type; \
static type value() { return(value_); } \
}; \
@@ -95,6 +96,7 @@
BOOST_UNITS_MAKE_HETEROGENEOUS_UNIT(Destination, typename Source::dimension_type)\
> \
{ \
+ static const bool is_defined = true; \
typedef type_ type; \
static type value() { return(value_); } \
}; \
@@ -112,6 +114,7 @@
template<> \
struct unscaled_get_default_conversion<unscale<Source>::type> \
{ \
+ static const bool is_defined = true; \
typedef Dest type; \
}; \
} \
@@ -130,6 +133,7 @@
template<BOOST_PP_SEQ_ENUM(Params)> \
struct unscaled_get_default_conversion<Source> \
{ \
+ static const bool is_defined = true; \
typedef Dest type; \
}; \
} \
Modified: branches/CMake/release/boost/units/derived_dimension.hpp
==============================================================================
--- branches/CMake/release/boost/units/derived_dimension.hpp (original)
+++ branches/CMake/release/boost/units/derived_dimension.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -11,8 +11,6 @@
#ifndef BOOST_UNITS_DERIVED_DIMENSION_HPP
#define BOOST_UNITS_DERIVED_DIMENSION_HPP
-#include <boost/mpl/list.hpp>
-
#include <boost/units/dim.hpp>
#include <boost/units/dimension.hpp>
#include <boost/units/static_rational.hpp>
@@ -38,14 +36,14 @@
typedef detail::unspecified type;
#else
typedef typename
- make_dimension_list< mpl::list< dim< DT1,static_rational<E1> >,
- dim< DT2,static_rational<E2> >,
- dim< DT3,static_rational<E3> >,
- dim< DT4,static_rational<E4> >,
- dim< DT5,static_rational<E5> >,
- dim< DT6,static_rational<E6> >,
- dim< DT7,static_rational<E7> >,
- dim< DT8,static_rational<E8> > > >::type type;
+ make_dimension_list< list< dim< DT1,static_rational<E1> >,
+ list< dim< DT2,static_rational<E2> >,
+ list< dim< DT3,static_rational<E3> >,
+ list< dim< DT4,static_rational<E4> >,
+ list< dim< DT5,static_rational<E5> >,
+ list< dim< DT6,static_rational<E6> >,
+ list< dim< DT7,static_rational<E7> >,
+ list< dim< DT8,static_rational<E8> >, dimensionless_type > > > > > > > > >::type type;
#endif
};
@@ -62,7 +60,7 @@
dimensionless_type,0>
{
typedef typename
- make_dimension_list< mpl::list< dim< DT1,static_rational<E1> > > >::type type;
+ make_dimension_list< list< dim< DT1,static_rational<E1> >, dimensionless_type > >::type type;
};
/// INTERNAL ONLY
@@ -79,8 +77,8 @@
dimensionless_type,0>
{
typedef typename
- make_dimension_list< mpl::list< dim< DT1,static_rational<E1> >,
- dim< DT2,static_rational<E2> > > >::type type;
+ make_dimension_list< list< dim< DT1,static_rational<E1> >,
+ list< dim< DT2,static_rational<E2> >, dimensionless_type > > >::type type;
};
/// INTERNAL ONLY
@@ -98,9 +96,9 @@
dimensionless_type,0>
{
typedef typename
- make_dimension_list< mpl::list< dim< DT1,static_rational<E1> >,
- dim< DT2,static_rational<E2> >,
- dim< DT3,static_rational<E3> > > >::type type;
+ make_dimension_list< list< dim< DT1,static_rational<E1> >,
+ list< dim< DT2,static_rational<E2> >,
+ list< dim< DT3,static_rational<E3> >, dimensionless_type > > > >::type type;
};
/// INTERNAL ONLY
@@ -119,10 +117,10 @@
dimensionless_type,0>
{
typedef typename
- make_dimension_list< mpl::list< dim< DT1,static_rational<E1> >,
- dim< DT2,static_rational<E2> >,
- dim< DT3,static_rational<E3> >,
- dim< DT4,static_rational<E4> > > >::type type;
+ make_dimension_list< list< dim< DT1,static_rational<E1> >,
+ list< dim< DT2,static_rational<E2> >,
+ list< dim< DT3,static_rational<E3> >,
+ list< dim< DT4,static_rational<E4> >, dimensionless_type > > > > >::type type;
};
/// INTERNAL ONLY
@@ -142,11 +140,11 @@
dimensionless_type,0>
{
typedef typename
- make_dimension_list< mpl::list< dim< DT1,static_rational<E1> >,
- dim< DT2,static_rational<E2> >,
- dim< DT3,static_rational<E3> >,
- dim< DT4,static_rational<E4> >,
- dim< DT5,static_rational<E5> > > >::type type;
+ make_dimension_list< list< dim< DT1,static_rational<E1> >,
+ list< dim< DT2,static_rational<E2> >,
+ list< dim< DT3,static_rational<E3> >,
+ list< dim< DT4,static_rational<E4> >,
+ list< dim< DT5,static_rational<E5> >, dimensionless_type > > > > > >::type type;
};
/// INTERNAL ONLY
@@ -167,12 +165,12 @@
dimensionless_type,0>
{
typedef typename
- make_dimension_list< mpl::list< dim< DT1,static_rational<E1> >,
- dim< DT2,static_rational<E2> >,
- dim< DT3,static_rational<E3> >,
- dim< DT4,static_rational<E4> >,
- dim< DT5,static_rational<E5> >,
- dim< DT6,static_rational<E6> > > >::type type;
+ make_dimension_list< list< dim< DT1,static_rational<E1> >,
+ list< dim< DT2,static_rational<E2> >,
+ list< dim< DT3,static_rational<E3> >,
+ list< dim< DT4,static_rational<E4> >,
+ list< dim< DT5,static_rational<E5> >,
+ list< dim< DT6,static_rational<E6> >, dimensionless_type > > > > > > >::type type;
};
/// INTERNAL ONLY
@@ -194,13 +192,13 @@
dimensionless_type,0>
{
typedef typename
- make_dimension_list< mpl::list< dim< DT1,static_rational<E1> >,
- dim< DT2,static_rational<E2> >,
- dim< DT3,static_rational<E3> >,
- dim< DT4,static_rational<E4> >,
- dim< DT5,static_rational<E5> >,
- dim< DT6,static_rational<E6> >,
- dim< DT7,static_rational<E7> > > >::type type;
+ make_dimension_list< list< dim< DT1,static_rational<E1> >,
+ list< dim< DT2,static_rational<E2> >,
+ list< dim< DT3,static_rational<E3> >,
+ list< dim< DT4,static_rational<E4> >,
+ list< dim< DT5,static_rational<E5> >,
+ list< dim< DT6,static_rational<E6> >,
+ list< dim< DT7,static_rational<E7> >, dimensionless_type > > > > > > > >::type type;
};
} // namespace units
Modified: branches/CMake/release/boost/units/detail/absolute_impl.hpp
==============================================================================
--- branches/CMake/release/boost/units/detail/absolute_impl.hpp (original)
+++ branches/CMake/release/boost/units/detail/absolute_impl.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -13,8 +13,6 @@
#include <iosfwd>
-#include <boost/type_traits/is_base_and_derived.hpp>
-
#include <boost/units/config.hpp>
#include <boost/units/conversion.hpp>
#include <boost/units/heterogeneous_system.hpp>
@@ -33,7 +31,9 @@
namespace detail {
-struct undefined_affine_conversion_base { };
+struct undefined_affine_conversion_base {
+ static const bool is_defined = false;
+};
} // namespace detail
@@ -89,14 +89,8 @@
return(
to_quantity_type::from_value(
detail::affine_conversion_impl<
- !boost::is_base_and_derived<
- detail::undefined_affine_conversion_base,
- affine_conversion_helper<typename reduce_unit<Unit1>::type, typename reduce_unit<Unit2>::type>
- >::value,
- !boost::is_base_and_derived<
- detail::undefined_affine_conversion_base,
- affine_conversion_helper<typename reduce_unit<Unit2>::type, typename reduce_unit<Unit1>::type>
- >::value
+ affine_conversion_helper<typename reduce_unit<Unit1>::type, typename reduce_unit<Unit2>::type>::is_defined,
+ affine_conversion_helper<typename reduce_unit<Unit2>::type, typename reduce_unit<Unit1>::type>::is_defined
>::template apply<Unit1, Unit2, T1, T2>::value(source.value())
)
);
Modified: branches/CMake/release/boost/units/detail/conversion_impl.hpp
==============================================================================
--- branches/CMake/release/boost/units/detail/conversion_impl.hpp (original)
+++ branches/CMake/release/boost/units/detail/conversion_impl.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -12,14 +12,10 @@
#define BOOST_UNITS_DETAIL_CONVERSION_IMPL_HPP
#include <boost/mpl/bool.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/begin.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/deref.hpp>
+#include <boost/mpl/and.hpp>
#include <boost/mpl/divides.hpp>
#include <boost/preprocessor/seq/enum.hpp>
#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
#include <boost/units/heterogeneous_system.hpp>
#include <boost/units/homogeneous_system.hpp>
@@ -49,10 +45,14 @@
}
/// INTERNAL ONLY
-struct undefined_base_unit_converter_base { };
+struct undefined_base_unit_converter_base {
+ static const bool is_defined = false;
+};
/// INTERNAL ONLY
-struct no_default_conversion { };
+struct no_default_conversion {
+ static const bool is_defined = false;
+};
/// INTERNAL ONLY
template<class BaseUnit>
@@ -89,7 +89,7 @@
struct get_default_conversion
{
typedef typename unscaled_get_default_conversion_impl<
- !boost::is_base_and_derived<no_default_conversion, unscaled_get_default_conversion<typename unscale<BaseUnit>::type> >::value
+ unscaled_get_default_conversion<typename unscale<BaseUnit>::type>::is_defined
>::template apply<BaseUnit>::type type;
};
@@ -103,12 +103,14 @@
/// INTERNAL ONLY
template<class Source, class Dest>
-struct base_unit_converter_base : undefined_base_unit_converter_base { };
+struct base_unit_converter_base : undefined_base_unit_converter_base {
+};
/// INTERNAL ONLY
template<class Source>
struct base_unit_converter_base<Source, BOOST_UNITS_MAKE_HETEROGENEOUS_UNIT(Source, typename Source::dimension_type)>
{
+ static const bool is_defined = true;
typedef one type;
static type value() {
return(one());
@@ -121,45 +123,22 @@
namespace detail {
-template<bool is_defined>
-struct do_call_base_unit_converter_impl;
-
-template<>
-struct do_call_base_unit_converter_impl<true>
-{
- template<class Source, class Dest>
- struct apply : base_unit_converter<Source, Dest> { };
-};
-
-template<>
-struct do_call_base_unit_converter_impl<false>
-{
- template<class Source, class Dest>
- struct apply {
- typedef select_base_unit_converter<typename unscale<Source>::type, typename unscale<Dest>::type> selector;
- typedef typename selector::source_type source_type;
- typedef typename selector::destination_type destination_type;
- typedef base_unit_converter<source_type, destination_type> converter;
- typedef typename mpl::divides<typename get_scale_list<Source>::type, typename get_scale_list<source_type>::type>::type source_factor;
- typedef typename mpl::divides<typename get_scale_list<Dest>::type, typename get_scale_list<destination_type>::type>::type destination_factor;
- typedef typename mpl::divides<source_factor, destination_factor>::type factor;
- typedef eval_scale_list<factor> eval_factor;
- typedef typename multiply_typeof_helper<typename converter::type, typename eval_factor::type>::type type;
- static type value()
- {
- return(converter::value() * eval_factor::value());
- }
- };
-};
-
template<class Source, class Dest>
-struct do_call_base_unit_converter :
- do_call_base_unit_converter_impl<
- !boost::is_base_and_derived<
- undefined_base_unit_converter_base,
- base_unit_converter<Source, Dest>
- >::value
- >::template apply<Source, Dest> {};
+struct do_call_base_unit_converter {
+ typedef select_base_unit_converter<typename unscale<Source>::type, typename unscale<Dest>::type> selector;
+ typedef typename selector::source_type source_type;
+ typedef typename selector::destination_type destination_type;
+ typedef base_unit_converter<source_type, destination_type> converter;
+ typedef typename mpl::divides<typename get_scale_list<Source>::type, typename get_scale_list<source_type>::type>::type source_factor;
+ typedef typename mpl::divides<typename get_scale_list<Dest>::type, typename get_scale_list<destination_type>::type>::type destination_factor;
+ typedef typename mpl::divides<source_factor, destination_factor>::type factor;
+ typedef eval_scale_list<factor> eval_factor;
+ typedef typename multiply_typeof_helper<typename converter::type, typename eval_factor::type>::type type;
+ static type value()
+ {
+ return(converter::value() * eval_factor::value());
+ }
+};
template<bool forward_is_defined, bool reverse_is_defined>
struct call_base_unit_converter_base_unit_impl;
@@ -168,7 +147,8 @@
struct call_base_unit_converter_base_unit_impl<true, true>
{
template<class Source, class Dest>
- struct apply : do_call_base_unit_converter<Source, typename Dest::unit_type>
+ struct apply
+ : do_call_base_unit_converter<Source, typename Dest::unit_type>
{
};
};
@@ -177,7 +157,8 @@
struct call_base_unit_converter_base_unit_impl<true, false>
{
template<class Source, class Dest>
- struct apply : do_call_base_unit_converter<Source, typename Dest::unit_type>
+ struct apply
+ : do_call_base_unit_converter<Source, typename Dest::unit_type>
{
};
};
@@ -229,11 +210,11 @@
template<class Begin>
struct apply
{
- typedef typename mpl::deref<Begin>::type source_pair;
+ typedef typename Begin::item source_pair;
typedef typename source_pair::value_type exponent;
typedef typename source_pair::tag_type source;
typedef typename get_default_conversion<source>::type new_source;
- typedef typename get_default_conversion_impl<N-1>::template apply<typename mpl::next<Begin>::type> next_iteration;
+ typedef typename get_default_conversion_impl<N-1>::template apply<typename Begin::next> next_iteration;
typedef typename multiply_typeof_helper<typename power_typeof_helper<new_source, exponent>::type, typename next_iteration::unit_type>::type unit_type;
typedef call_base_unit_converter<source, new_source> conversion;
typedef typename multiply_typeof_helper<typename conversion::type, typename next_iteration::type>::type type;
@@ -264,7 +245,8 @@
struct call_base_unit_converter_impl<true>
{
template<class Source, class Dest>
- struct apply : do_call_base_unit_converter<Source, Dest>
+ struct apply
+ : do_call_base_unit_converter<Source, Dest>
{
};
};
@@ -276,7 +258,7 @@
struct apply {
typedef typename reduce_unit<typename get_default_conversion<Source>::type>::type new_source;
typedef typename Dest::system_type::type system_list;
- typedef typename get_default_conversion_impl<mpl::size<system_list>::value>::template apply<typename mpl::begin<system_list>::type> impl;
+ typedef typename get_default_conversion_impl<system_list::size::value>::template apply<system_list> impl;
typedef typename impl::unit_type new_dest;
typedef call_base_unit_converter<Source, new_source> start;
typedef conversion_factor_helper<new_source, new_dest> conversion;
@@ -293,36 +275,22 @@
};
};
-template<class Source, class Dest>
-struct base_unit_converter_scaled_is_undefined :
- boost::is_base_and_derived<
- undefined_base_unit_converter_base,
- base_unit_converter<
- typename select_base_unit_converter<typename unscale<Source>::type, typename unscale<Dest>::type>::source_type,
- typename select_base_unit_converter<typename unscale<Source>::type, typename unscale<Dest>::type>::destination_type
- >
- > {};
-
-template<class Source, class Dest>
-struct base_unit_converter_is_undefined :
- mpl::and_<
- boost::is_base_and_derived<
- undefined_base_unit_converter_base,
- base_unit_converter<Source, Dest>
- >,
- base_unit_converter_scaled_is_undefined<Source, Dest>
- > {};
+#define BOOST_UNITS_DETAIL_BASE_UNIT_CONVERTER_IS_DEFINED(Source, Dest)\
+ base_unit_converter<\
+ typename select_base_unit_converter<typename unscale<Source>::type, typename unscale<Dest>::type>::source_type,\
+ typename select_base_unit_converter<typename unscale<Source>::type, typename unscale<Dest>::type>::destination_type\
+ >::is_defined
template<class Source, class Dest>
-struct call_base_unit_converter : call_base_unit_converter_impl<!base_unit_converter_is_undefined<Source, Dest>::value>::template apply<Source, Dest>
+struct call_base_unit_converter : call_base_unit_converter_impl<BOOST_UNITS_DETAIL_BASE_UNIT_CONVERTER_IS_DEFINED(Source, Dest)>::template apply<Source, Dest>
{
};
template<class Source, class Dest>
struct call_base_unit_converter<Source, BOOST_UNITS_MAKE_HETEROGENEOUS_UNIT(Dest, typename Source::dimension_type)> :
call_base_unit_converter_base_unit_impl<
- !base_unit_converter_is_undefined<Source, typename Dest::unit_type>::value,
- !base_unit_converter_is_undefined<Dest, typename Source::unit_type>::value
+ BOOST_UNITS_DETAIL_BASE_UNIT_CONVERTER_IS_DEFINED(Source, typename Dest::unit_type),
+ BOOST_UNITS_DETAIL_BASE_UNIT_CONVERTER_IS_DEFINED(Dest, typename Source::unit_type)
>::template apply<Source, Dest>
{
};
@@ -334,10 +302,10 @@
struct apply
{
typedef typename conversion_impl<N-1>::template apply<
- typename mpl::next<Begin>::type,
+ typename Begin::next,
DestinationSystem
> next_iteration;
- typedef typename mpl::deref<Begin>::type unit_pair;
+ typedef typename Begin::item unit_pair;
typedef typename unit_pair::tag_type unit;
typedef typename unit::dimension_type dimensions;
typedef typename reduce_unit<units::unit<dimensions, DestinationSystem> >::type reduced_unit;
@@ -374,8 +342,8 @@
static destination_type convert(const quantity<unit<D, homogeneous_system<L1> >, T1>& source)
{
return(destination_type::from_value(source.value() *
- detail::conversion_impl<mpl::size<unit_list>::value>::template apply<
- typename mpl::begin<unit_list>::type,
+ detail::conversion_impl<unit_list::size::value>::template apply<
+ unit_list,
homogeneous_system<L2>
>::value()
));
@@ -392,8 +360,8 @@
static destination_type convert(const quantity<unit<D, heterogeneous_system<L1> >, T1>& source)
{
return(destination_type::from_value(source.value() *
- detail::conversion_impl<mpl::size<typename L1::type>::value>::template apply<
- typename mpl::begin<typename L1::type>::type,
+ detail::conversion_impl<L1::type::size::value>::template apply<
+ typename L1::type,
homogeneous_system<L2>
>::value() *
eval_scale_list<typename L1::scale>::value()
@@ -414,8 +382,8 @@
static destination_type convert(const quantity<unit<D, homogeneous_system<L1> >, T1>& source)
{
return(destination_type::from_value(source.value() /
- (detail::conversion_impl<mpl::size<typename L2::type>::value>::template apply<
- typename mpl::begin<typename L2::type>::type,
+ (detail::conversion_impl<L2::type::size::value>::template apply<
+ typename L2::type,
homogeneous_system<L1>
>::value() *
eval_scale_list<typename L2::scale>::value()
@@ -435,13 +403,13 @@
/// INTERNAL ONLY
typedef quantity<unit<D, heterogeneous_system<S2> >, T2> destination_type;
/// INTERNAL ONLY
- typedef typename detail::extract_base_units<mpl::size<typename S1::type>::value>::template apply<
- typename mpl::begin<typename S1::type>::type,
- mpl::list0<>
+ typedef typename detail::extract_base_units<S1::type::size::value>::template apply<
+ typename S1::type,
+ dimensionless_type
>::type from_base_units;
/// INTERNAL ONLY
- typedef typename detail::extract_base_units<mpl::size<typename S2::type>::value>::template apply<
- typename mpl::begin<typename S2::type>::type,
+ typedef typename detail::extract_base_units<S2::type::size::value>::template apply<
+ typename S2::type,
from_base_units
>::type all_base_units;
/// INTERNAL ONLY
@@ -451,12 +419,12 @@
static destination_type convert(const source_type& source)
{
return(destination_type::from_value(source.value() *
- (detail::conversion_impl<mpl::size<typename S1::type>::value>::template apply<
- typename mpl::begin<typename S1::type>::type,
+ (detail::conversion_impl<S1::type::size::value>::template apply<
+ typename S1::type,
system
>::value() * eval_scale_list<result_scale>::value() /
- detail::conversion_impl<mpl::size<typename S2::type>::value>::template apply<
- typename mpl::begin<typename S2::type>::type,
+ detail::conversion_impl<S2::type::size::value>::template apply<
+ typename S2::type,
system
>::value()
)
@@ -474,8 +442,8 @@
{
typedef typename reduce_unit<unit<D, homogeneous_system<L1> > >::type source_unit;
typedef typename source_unit::system_type::type unit_list;
- typedef typename detail::conversion_impl<mpl::size<unit_list>::value>::template apply<
- typename mpl::begin<unit_list>::type,
+ typedef typename detail::conversion_impl<unit_list::size::value>::template apply<
+ unit_list,
homogeneous_system<L2>
> impl;
typedef typename impl::type type;
@@ -488,8 +456,8 @@
template<class D, class L1, class L2>
struct conversion_factor_helper<unit<D, heterogeneous_system<L1> >, unit<D, homogeneous_system<L2> > >
{
- typedef typename detail::conversion_impl<mpl::size<typename L1::type>::value>::template apply<
- typename mpl::begin<typename L1::type>::type,
+ typedef typename detail::conversion_impl<L1::type::size::value>::template apply<
+ typename L1::type,
homogeneous_system<L2>
> impl;
typedef eval_scale_list<typename L1::scale> scale;
@@ -506,8 +474,8 @@
template<class D, class L1, class L2>
struct conversion_factor_helper<unit<D, homogeneous_system<L1> >, unit<D, heterogeneous_system<L2> > >
{
- typedef typename detail::conversion_impl<mpl::size<typename L2::type>::value>::template apply<
- typename mpl::begin<typename L2::type>::type,
+ typedef typename detail::conversion_impl<L2::type::size::value>::template apply<
+ typename L2::type,
homogeneous_system<L1>
> impl;
typedef eval_scale_list<typename L2::scale> scale;
@@ -524,23 +492,23 @@
struct conversion_factor_helper<unit<D, heterogeneous_system<S1> >, unit<D, heterogeneous_system<S2> > >
{
/// INTERNAL ONLY
- typedef typename detail::extract_base_units<mpl::size<typename S1::type>::value>::template apply<
- typename mpl::begin<typename S1::type>::type,
- mpl::list0<>
+ typedef typename detail::extract_base_units<S1::type::size::value>::template apply<
+ typename S1::type,
+ dimensionless_type
>::type from_base_units;
/// INTERNAL ONLY
- typedef typename detail::extract_base_units<mpl::size<typename S2::type>::value>::template apply<
- typename mpl::begin<typename S2::type>::type,
+ typedef typename detail::extract_base_units<S2::type::size::value>::template apply<
+ typename S2::type,
from_base_units
>::type all_base_units;
/// INTERNAL ONLY
typedef typename detail::make_homogeneous_system<all_base_units>::type system;
- typedef typename detail::conversion_impl<mpl::size<typename S1::type>::value>::template apply<
- typename mpl::begin<typename S1::type>::type,
+ typedef typename detail::conversion_impl<S1::type::size::value>::template apply<
+ typename S1::type,
system
> conversion1;
- typedef typename detail::conversion_impl<mpl::size<typename S2::type>::value>::template apply<
- typename mpl::begin<typename S2::type>::type,
+ typedef typename detail::conversion_impl<S2::type::size::value>::template apply<
+ typename S2::type,
system
> conversion2;
typedef eval_scale_list<typename mpl::divides<typename S1::scale, typename S2::scale>::type> scale;
Modified: branches/CMake/release/boost/units/detail/dimension_impl.hpp
==============================================================================
--- branches/CMake/release/boost/units/detail/dimension_impl.hpp (original)
+++ branches/CMake/release/boost/units/detail/dimension_impl.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -16,7 +16,6 @@
#include <boost/mpl/if.hpp>
#include <boost/mpl/list.hpp>
#include <boost/mpl/next.hpp>
-#include <boost/mpl/push_front.hpp>
#include <boost/mpl/size.hpp>
#include <boost/mpl/less.hpp>
@@ -37,118 +36,102 @@
namespace detail {
-template<bool second_is_less>
-struct sort_dims_conditional_swap;
+template<int N>
+struct insertion_sort_dims_insert;
+
+template<bool is_greater>
+struct insertion_sort_dims_comparison_impl;
+// have to recursively add the element to the next sequence.
template<>
-struct sort_dims_conditional_swap<true>
-{
- template<class T0, class T1>
- struct apply
- {
- typedef T1 first;
- typedef T0 second;
+struct insertion_sort_dims_comparison_impl<true> {
+ template<class Begin, int N, class T>
+ struct apply {
+ typedef list<
+ typename Begin::item,
+ typename insertion_sort_dims_insert<N - 1>::template apply<
+ typename Begin::next,
+ T
+ >::type
+ > type;
};
};
+// either prepend the current element or join it to
+// the first remaining element of the sequence.
template<>
-struct sort_dims_conditional_swap<false>
-{
- template<class T0, class T1>
- struct apply
- {
- typedef T0 first;
- typedef T1 second;
+struct insertion_sort_dims_comparison_impl<false> {
+ template<class Begin, int N, class T>
+ struct apply {
+ typedef typename push_front_or_add<Begin, T>::type type;
};
};
template<int N>
-struct sort_dims_pass_impl
-{
- template<class Begin, class Current>
- struct apply
- {
- typedef typename mpl::deref<Begin>::type val;
- typedef typename sort_dims_conditional_swap<mpl::less<val, Current>::value>::template apply<Current, val> pair;
- typedef typename sort_dims_pass_impl<N-1>::template apply<typename mpl::next<Begin>::type, typename pair::second> next;
- typedef typename push_front_or_add<typename next::type, typename pair::first>::type type;
- enum { value = next::value || mpl::less<val, Current>::value };
+struct insertion_sort_dims_insert {
+ template<class Begin, class T>
+ struct apply {
+ typedef typename insertion_sort_dims_comparison_impl<mpl::less<typename Begin::item, T>::value>::template apply<
+ Begin,
+ N,
+ T
+ >::type type;
};
};
template<>
-struct sort_dims_pass_impl<0>
-{
- template<class Begin, class Current>
- struct apply
- {
- typedef typename mpl::push_front<dimensionless_type, Current>::type type;
- enum { value = false };
+struct insertion_sort_dims_insert<0> {
+ template<class Begin, class T>
+ struct apply {
+ typedef list<T, dimensionless_type> type;
};
};
-template<bool>
-struct sort_dims_impl;
-
-template<>
-struct sort_dims_impl<true>
-{
- template<class T>
- struct apply
- {
- typedef typename mpl::begin<T>::type begin;
- typedef typename sort_dims_pass_impl<mpl::size<T>::value - 1>::template apply<
- typename mpl::next<begin>::type,
- typename mpl::deref<begin>::type
- > single_pass;
- typedef typename sort_dims_impl<(single_pass::value)>::template apply<typename single_pass::type>::type type;
+template<int N>
+struct insertion_sort_dims_mpl_sequence {
+ template<class Begin>
+ struct apply {
+ typedef typename insertion_sort_dims_mpl_sequence<N - 1>::template apply<typename mpl::next<Begin>::type>::type next;
+ typedef typename insertion_sort_dims_insert<(next::size::value)>::template apply<next, typename mpl::deref<Begin>::type>::type type;
};
};
template<>
-struct sort_dims_impl<false>
-{
- template<class T>
- struct apply
- {
- typedef T type;
+struct insertion_sort_dims_mpl_sequence<0> {
+ template<class Begin>
+ struct apply {
+ typedef dimensionless_type type;
};
};
template<int N>
-struct sort_dims_one_or_zero
-{
- template<class T>
- struct apply
- {
- typedef typename sort_dims_impl<true>::template apply<T>::type type;
+struct insertion_sort_dims_impl {
+ template<class Begin>
+ struct apply {
+ typedef typename insertion_sort_dims_impl<N - 1>::template apply<typename Begin::next>::type next;
+ typedef typename insertion_sort_dims_insert<(next::size::value)>::template apply<next, typename Begin::item>::type type;
};
};
template<>
-struct sort_dims_one_or_zero<0>
-{
- template<class T>
- struct apply
- {
+struct insertion_sort_dims_impl<0> {
+ template<class Begin>
+ struct apply {
typedef dimensionless_type type;
};
};
-template<>
-struct sort_dims_one_or_zero<1>
+template<class T>
+struct sort_dims
{
- template<class T>
- struct apply
- {
- typedef typename mpl::push_front<dimensionless_type, typename mpl::front<T>::type>::type type;
- };
+ typedef typename insertion_sort_dims_mpl_sequence<mpl::size<T>::value>::template apply<typename mpl::begin<T>::type>::type type;
};
-template<class T>
-struct sort_dims
+
+template<class T, class Next>
+struct sort_dims<list<T, Next> >
{
- typedef typename sort_dims_one_or_zero<mpl::size<T>::value>::template apply<T>::type type;
+ typedef typename insertion_sort_dims_impl<list<T, Next>::size::value>::template apply<list<T, Next> >::type type;
};
/// sorted sequences can be merged in linear time
@@ -164,13 +147,13 @@
template<typename Begin1, typename Begin2, int N1, int N2>
struct apply
{
- typedef typename mpl::push_front<
+ typedef list<
+ typename Begin1::item,
typename merge_dimensions_impl<N1 - 1, N2>::template apply<
- typename boost::mpl::next<Begin1>::type,
+ typename Begin1::next,
Begin2
- >::type,
- typename boost::mpl::deref<Begin1>::type
- >::type type;
+ >::type
+ > type;
};
};
@@ -179,13 +162,13 @@
template<typename Begin1, typename Begin2, int N1, int N2>
struct apply
{
- typedef typename mpl::push_front<
+ typedef list<
+ typename Begin2::item,
typename merge_dimensions_impl<N2 - 1, N1>::template apply<
- typename boost::mpl::next<Begin2>::type,
+ typename Begin2::next,
Begin1
- >::type,
- typename boost::mpl::deref<Begin2>::type
- >::type type;
+ >::type
+ > type;
};
};
@@ -194,11 +177,11 @@
template<typename Begin1, typename Begin2, int N1, int N2>
struct apply
{
- typedef typename mpl::plus<typename boost::mpl::deref<Begin1>::type, typename boost::mpl::deref<Begin2>::type>::type combined;
+ typedef typename mpl::plus<typename Begin1::item, typename Begin2::item>::type combined;
typedef typename push_front_if<!is_empty_dim<combined>::value>::template apply<
typename merge_dimensions_impl<N1 - 1, N2 - 1>::template apply<
- typename boost::mpl::next<Begin1>::type,
- typename boost::mpl::next<Begin2>::type
+ typename Begin1::next,
+ typename Begin2::next
>::type,
combined
>::type type;
@@ -210,8 +193,8 @@
template<typename Begin1, typename Begin2>
struct apply
{
- typedef typename boost::mpl::deref<Begin1>::type dim1;
- typedef typename boost::mpl::deref<Begin2>::type dim2;
+ typedef typename Begin1::item dim1;
+ typedef typename Begin2::item dim2;
typedef typename merge_dimensions_func<(mpl::less<dim1,dim2>::value == true),
(mpl::less<dim2,dim1>::value == true)>::template apply<
@@ -226,11 +209,11 @@
template<typename Sequence1, typename Sequence2>
struct merge_dimensions
{
- typedef typename detail::merge_dimensions_impl<boost::mpl::size<Sequence1>::value,
- boost::mpl::size<Sequence2>::value>::template
+ typedef typename detail::merge_dimensions_impl<Sequence1::size::value,
+ Sequence2::size::value>::template
apply<
- typename boost::mpl::begin<Sequence1>::type,
- typename boost::mpl::begin<Sequence2>::type
+ Sequence1,
+ Sequence2
>::type type;
};
@@ -240,12 +223,12 @@
template<typename Begin>
struct apply
{
- typedef typename mpl::push_front<
+ typedef list<
+ typename Begin::item,
typename iterator_to_list<N - 1>::template apply<
- typename boost::mpl::next<Begin>::type
- >::type,
- typename boost::mpl::deref<Begin>::type
- >::type type;
+ typename Begin::next
+ >::type
+ > type;
};
};
@@ -293,12 +276,12 @@
{
template<typename Begin>
struct apply {
- typedef typename boost::mpl::push_front<
+ typedef list<
+ typename mpl::negate<typename Begin::item>::type,
typename static_inverse_impl<N - 1>::template apply<
- typename boost::mpl::next<Begin>::type
- >::type,
- typename mpl::negate<typename boost::mpl::deref<Begin>::type>::type
- >::type type;
+ typename Begin::next
+ >::type
+ > type;
};
};
@@ -318,10 +301,10 @@
template<typename Begin, typename Ex>
struct apply
{
- typedef typename mpl::push_front<
- typename detail::static_power_impl<N - 1>::template apply<typename mpl::next<Begin>::type, Ex>::type,
- typename mpl::times<typename mpl::deref<Begin>::type, Ex>::type
- >::type type;
+ typedef list<
+ typename mpl::times<typename Begin::item, Ex>::type,
+ typename detail::static_power_impl<N - 1>::template apply<typename Begin::next, Ex>::type
+ > type;
};
};
@@ -339,10 +322,10 @@
struct static_root_impl {
template<class Begin, class Ex>
struct apply {
- typedef typename mpl::push_front<
- typename detail::static_root_impl<N - 1>::template apply<typename mpl::next<Begin>::type, Ex>::type,
- typename mpl::divides<typename mpl::deref<Begin>::type, Ex>::type
- >::type type;
+ typedef list<
+ typename mpl::divides<typename Begin::item, Ex>::type,
+ typename detail::static_root_impl<N - 1>::template apply<typename Begin::next, Ex>::type
+ > type;
};
};
Modified: branches/CMake/release/boost/units/detail/heterogeneous_conversion.hpp
==============================================================================
--- branches/CMake/release/boost/units/detail/heterogeneous_conversion.hpp (original)
+++ branches/CMake/release/boost/units/detail/heterogeneous_conversion.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -11,14 +11,8 @@
#ifndef BOOST_UNITS_DETAIL_HETEROGENEOUS_CONVERSION_HPP
#define BOOST_UNITS_DETAIL_HETEROGENEOUS_CONVERSION_HPP
-#include <boost/mpl/list/list0.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/begin.hpp>
-#include <boost/mpl/push_front.hpp>
-
-#include <boost/mpl/print.hpp>
+#include <boost/mpl/minus.hpp>
+#include <boost/mpl/times.hpp>
#include <boost/units/static_rational.hpp>
#include <boost/units/homogeneous_system.hpp>
@@ -33,7 +27,7 @@
struct solve_end {
template<class Begin, class Y>
struct apply {
- typedef mpl::list0<> type;
+ typedef dimensionless_type type;
};
};
@@ -43,14 +37,14 @@
struct solve_normal {
template<class Begin, class Y>
struct apply {
- typedef typename mpl::next<Begin>::type next;
- typedef typename mpl::push_front<
- typename Next::template apply<next, Y>::type,
+ typedef typename Begin::next next;
+ typedef list<
typename mpl::minus<
typename mpl::times<X1, Y>::type,
- typename mpl::times<X2, typename mpl::deref<Begin>::type>::type
- >::type
- >::type type;
+ typename mpl::times<X2, typename Begin::item>::type
+ >::type,
+ typename Next::template apply<next, Y>::type
+ > type;
};
};
@@ -58,10 +52,10 @@
struct solve_leading_zeroes {
template<class Begin>
struct apply {
- typedef typename mpl::push_front<
- typename Next::template apply<typename mpl::next<Begin>::type>::type,
- typename mpl::deref<Begin>::type
- >::type type;
+ typedef list<
+ typename Begin::item,
+ typename Next::template apply<typename Begin::next>::type
+ > type;
};
typedef solve_leading_zeroes type;
};
@@ -76,8 +70,8 @@
template<class Begin>
struct apply {
typedef typename Next::template apply<
- typename mpl::next<Begin>::type,
- typename mpl::deref<Begin>::type
+ typename Begin::next,
+ typename Begin::item
>::type type;
};
};
@@ -86,10 +80,10 @@
struct solve_internal_zero {
template<class Begin, class Y>
struct apply {
- typedef typename mpl::push_front<
- typename Next::template apply<typename mpl::next<Begin>::type, Y>::type,
- typename mpl::deref<Begin>::type
- >::type type;
+ typedef list<
+ typename Begin::item,
+ typename Next::template apply<typename Begin::next, Y>::type
+ > type;
};
};
@@ -114,9 +108,9 @@
template<class Begin, class X>
struct apply {
typedef typename make_solve_list_internal_zero<
- typename mpl::deref<Begin>::type
+ typename Begin::item
>::template apply<
- typename make_solve_list_normal<N-1>::template apply<typename mpl::next<Begin>::type, X>::type,
+ typename make_solve_list_normal<N-1>::template apply<typename Begin::next, X>::type,
X
>::type type;
};
@@ -139,8 +133,8 @@
struct apply {
typedef solve_first_non_zero<
typename make_solve_list_normal<N-1>::template apply<
- typename mpl::next<Begin>::type,
- typename mpl::deref<Begin>::type
+ typename Begin::next,
+ typename Begin::item
>::type
> type;
};
@@ -152,7 +146,7 @@
struct apply {
typedef typename solve_leading_zeroes<
typename make_solve_list_leading_zeroes<N-1>::template apply<
- typename mpl::next<Begin>::type
+ typename Begin::next
>::type
>::type type;
};
@@ -162,7 +156,7 @@
struct make_solve_list_leading_zeroes {
template<class Begin>
struct apply {
- typedef typename make_solve_list_first_non_zero<typename mpl::deref<Begin>::type>::template apply<Begin, N>::type type;
+ typedef typename make_solve_list_first_non_zero<typename Begin::item>::template apply<Begin, N>::type type;
};
};
@@ -178,9 +172,9 @@
struct try_add_unit_impl {
template<class Begin, class L>
struct apply {
- typedef typename try_add_unit_impl<N-1>::template apply<typename mpl::next<Begin>::type, L>::type next;
- typedef typename mpl::deref<Begin>::type::template apply<typename mpl::begin<next>::type>::type type;
- BOOST_STATIC_ASSERT((mpl::size<next>::value - 1 == mpl::size<type>::value));
+ typedef typename try_add_unit_impl<N-1>::template apply<typename Begin::next, L>::type next;
+ typedef typename Begin::item::template apply<next>::type type;
+ BOOST_STATIC_ASSERT((next::size::value - 1 == type::size::value));
};
};
@@ -203,9 +197,9 @@
template<class Begin, class Current, class Units, class Dimensions, int N>
struct apply {
typedef typename make_homogeneous_system_impl<N-1>::template apply<
- typename mpl::next<Begin>::type,
- typename mpl::push_front<Current, T>::type,
- typename mpl::push_front<Units, typename mpl::deref<Begin>::type>::type,
+ typename Begin::next,
+ list<T, Current>,
+ list<typename Begin::item, Units>,
Dimensions
>::type type;
};
@@ -215,7 +209,7 @@
struct make_homogeneous_system_func<T, true> {
template<class Begin, class Current, class Units, class Dimensions, int N>
struct apply {
- typedef typename mpl::push_front<Units, typename mpl::deref<Begin>::type>::type type;
+ typedef list<typename Begin::item, Units> type;
};
};
@@ -224,7 +218,7 @@
template<class Begin, class Current, class Units, class Dimensions, int N>
struct apply {
typedef typename make_homogeneous_system_impl<N-1>::template apply<
- typename mpl::next<Begin>::type,
+ typename Begin::next,
Current,
Units,
Dimensions
@@ -237,7 +231,7 @@
template<class Begin, class Current, class Units, class Dimensions, int N>
struct apply {
typedef typename make_homogeneous_system_impl<N-1>::template apply<
- typename mpl::next<Begin>::type,
+ typename Begin::next,
Current,
Units,
Dimensions
@@ -249,15 +243,15 @@
struct make_homogeneous_system_impl {
template<class Begin, class Current, class Units, class Dimensions>
struct apply {
- typedef typename expand_dimensions<mpl::size<Dimensions>::value>::template apply<
- typename mpl::begin<Dimensions>::type,
- typename mpl::begin<typename mpl::deref<Begin>::type::dimension_type>::type
+ typedef typename expand_dimensions<Dimensions::size::value>::template apply<
+ Dimensions,
+ typename Begin::item::dimension_type
>::type dimensions;
- typedef typename try_add_unit_impl<mpl::size<Current>::value>::template apply<typename mpl::begin<Current>::type, dimensions>::type new_element;
- typedef typename make_solve_list_leading_zeroes<mpl::size<new_element>::value>::template apply<typename mpl::begin<new_element>::type>::type new_func;
+ typedef typename try_add_unit_impl<Current::size::value>::template apply<Current, dimensions>::type new_element;
+ typedef typename make_solve_list_leading_zeroes<new_element::size::value>::template apply<new_element>::type new_func;
typedef typename make_homogeneous_system_func<
new_func,
- ((mpl::size<Current>::value)+1) == (mpl::size<Dimensions>::value)
+ ((Current::size::value)+1) == (Dimensions::size::value)
>::template apply<Begin, Current, Units, Dimensions, N>::type type;
};
};
@@ -274,13 +268,13 @@
struct make_homogeneous_system {
typedef typename find_base_dimensions<Units>::type base_dimensions;
typedef homogeneous_system<
- typename bubble_sort<
+ typename insertion_sort<
typename make_homogeneous_system_impl<
- mpl::size<Units>::value
+ Units::size::value
>::template apply<
- typename mpl::begin<Units>::type,
- mpl::list0<>,
- mpl::list0<>,
+ Units,
+ dimensionless_type,
+ dimensionless_type,
base_dimensions
>::type
>::type
@@ -291,10 +285,10 @@
struct extract_base_units {
template<class Begin, class T>
struct apply {
- typedef typename mpl::push_front<
- typename extract_base_units<N-1>::template apply<typename mpl::next<Begin>::type, T>::type,
- typename mpl::deref<Begin>::type::tag_type
- >::type type;
+ typedef list<
+ typename Begin::item::tag_type,
+ typename extract_base_units<N-1>::template apply<typename Begin::next, T>::type
+ > type;
};
};
Modified: branches/CMake/release/boost/units/detail/linear_algebra.hpp
==============================================================================
--- branches/CMake/release/boost/units/detail/linear_algebra.hpp (original)
+++ branches/CMake/release/boost/units/detail/linear_algebra.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -12,22 +12,8 @@
#define BOOST_UNITS_DETAIL_LINEAR_ALGEBRA_HPP
#include <boost/units/static_rational.hpp>
-#include <boost/mpl/list.hpp>
-#include <boost/mpl/push_front.hpp>
-#include <boost/mpl/pop_front.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/begin.hpp>
-#include <boost/mpl/size.hpp>
#include <boost/mpl/next.hpp>
#include <boost/mpl/arithmetic.hpp>
-#include <boost/mpl/front_inserter.hpp>
-#include <boost/mpl/set.hpp>
-#include <boost/mpl/insert.hpp>
-#include <boost/mpl/greater.hpp>
-#include <boost/mpl/reverse.hpp>
-#include <boost/mpl/advance.hpp>
-#include <boost/mpl/erase.hpp>
-#include <boost/mpl/front.hpp>
#include <boost/mpl/and.hpp>
#include <boost/mpl/assert.hpp>
@@ -77,6 +63,24 @@
struct inconsistent {};
+// generally useful utilies.
+
+template<int N>
+struct divide_equation {
+ template<class Begin, class Divisor>
+ struct apply {
+ typedef list<typename mpl::divides<typename Begin::item, Divisor>::type, typename divide_equation<N - 1>::template apply<typename Begin::next, Divisor>::type> type;
+ };
+};
+
+template<>
+struct divide_equation<0> {
+ template<class Begin, class Divisor>
+ struct apply {
+ typedef dimensionless_type type;
+ };
+};
+
// eliminate_from_pair_of_equations takes a pair of
// equations and eliminates the first variable.
//
@@ -90,18 +94,18 @@
struct eliminate_from_pair_of_equations_impl {
template<class Begin1, class Begin2, class X1, class X2>
struct apply {
- typedef typename mpl::push_front<
+ typedef list<
+ typename mpl::minus<
+ typename mpl::times<typename Begin1::item, X2>::type,
+ typename mpl::times<typename Begin2::item, X1>::type
+ >::type,
typename eliminate_from_pair_of_equations_impl<N - 1>::template apply<
- typename mpl::next<Begin1>::type,
- typename mpl::next<Begin2>::type,
+ typename Begin1::next,
+ typename Begin2::next,
X1,
X2
- >::type,
- typename mpl::minus<
- typename mpl::times<typename mpl::deref<Begin1>::type, X2>::type,
- typename mpl::times<typename mpl::deref<Begin2>::type, X1>::type
>::type
- >::type type;
+ > type;
};
};
@@ -109,295 +113,436 @@
struct eliminate_from_pair_of_equations_impl<0> {
template<class Begin1, class Begin2, class X1, class X2>
struct apply {
- typedef mpl::list0<> type;
+ typedef dimensionless_type type;
};
};
template<class E1, class E2>
struct eliminate_from_pair_of_equations {
- typedef typename mpl::begin<E1>::type begin1;
- typedef typename mpl::begin<E2>::type begin2;
- typedef typename eliminate_from_pair_of_equations_impl<mpl::size<E1>::value - 1>::template apply<
- typename mpl::next<begin1>::type,
- typename mpl::next<begin2>::type,
- typename mpl::deref<begin1>::type,
- typename mpl::deref<begin2>::type
+ typedef E1 begin1;
+ typedef E2 begin2;
+ typedef typename eliminate_from_pair_of_equations_impl<(E1::size::value - 1)>::template apply<
+ typename begin1::next,
+ typename begin2::next,
+ typename begin1::item,
+ typename begin2::item
>::type type;
};
-// Eliminates the first variable from a list of equations
-// returns inconsistent if all its coefficients are 0. Otherwise
-// recursively calls solve to find the remaining variables
-//
-// list<rational> eliminate(list<equation> system) {
-// list<equation> result;
-// equation eliminate_against = null;
-// for_each(equation e : system) {
-// if(eliminate_against == null) {
-// if(e.front() == 0) {
-// result = push_front(result, pop_front(e));
-// } else {
-// eliminate_against = e;
-// }
-// } else {
-// result = push_back(result, eliminate_from_pair_of_equations(e,eliminate_against));
-// }
-// }
-// if(eliminate_against == null) {
-// return(inconsistent);
-// } else {
-// list<rational> solution = solve(result);
-// return(push_front(solution, substitute(eliminate_against,solution)));
-// }
-// }
+
+
+// Stage 1. Determine which dimensions should
+// have dummy base units. For this purpose
+// row reduce the matrix.
template<int N>
-struct elimination_impl {
- template<class Begin, class Prev, class L>
+struct make_zero_vector {
+ typedef list<static_rational<0>, typename make_zero_vector<N - 1>::type> type;
+};
+template<>
+struct make_zero_vector<0> {
+ typedef dimensionless_type type;
+};
+
+template<int Column, int TotalColumns>
+struct create_row_of_identity {
+ typedef list<static_rational<0>, typename create_row_of_identity<Column - 1, TotalColumns - 1>::type> type;
+};
+template<int TotalColumns>
+struct create_row_of_identity<0, TotalColumns> {
+ typedef list<static_rational<1>, typename make_zero_vector<TotalColumns - 1>::type> type;
+};
+template<int Column>
+struct create_row_of_identity<Column, 0> {
+ // error
+};
+
+template<int RemainingRows>
+struct determine_extra_equations_impl;
+
+template<bool first_is_zero, bool is_last>
+struct determine_extra_equations_skip_zeros_impl;
+
+// not the last row and not zero.
+template<>
+struct determine_extra_equations_skip_zeros_impl<false, false> {
+ template<class RowsBegin, int RemainingRows, int CurrentColumn, int TotalColumns, class Result>
struct apply {
- typedef typename mpl::push_front<
- typename elimination_impl<N-1>::template apply<typename mpl::next<Begin>::type, Prev, L>::type,
- typename eliminate_from_pair_of_equations<typename mpl::deref<Begin>::type,Prev>::type
- >::type type;
+ // remove the equation being eliminated against from the set of equations.
+ typedef typename determine_extra_equations_impl<RemainingRows - 1>::template apply<typename RowsBegin::next, typename RowsBegin::item>::type next_equations;
+ // since this column was present, strip it out.
+ typedef Result type;
};
};
+// the last row but not zero.
template<>
-struct elimination_impl<0> {
- template<class Begin, class Prev, class L>
+struct determine_extra_equations_skip_zeros_impl<false, true> {
+ template<class RowsBegin, int RemainingRows, int CurrentColumn, int TotalColumns, class Result>
struct apply {
- typedef L type;
+ // remove this equation.
+ typedef dimensionless_type next_equations;
+ // since this column was present, strip it out.
+ typedef Result type;
};
};
+
+// the first columns is zero but it is not the last column.
+// continue with the same loop.
template<>
-struct elimination_skip_leading_zeros_impl<true, true> {
- template<class Begin, int N, class L>
+struct determine_extra_equations_skip_zeros_impl<true, false> {
+ template<class RowsBegin, int RemainingRows, int CurrentColumn, int TotalColumns, class Result>
struct apply {
- typedef inconsistent type;
+ typedef typename RowsBegin::item current_row;
+ typedef typename determine_extra_equations_skip_zeros_impl<
+ current_row::item::Numerator == 0,
+ RemainingRows == 2 // the next one will be the last.
+ >::template apply<
+ typename RowsBegin::next,
+ RemainingRows - 1,
+ CurrentColumn,
+ TotalColumns,
+ Result
+ > next;
+ typedef list<typename RowsBegin::item::next, typename next::next_equations> next_equations;
+ typedef typename next::type type;
};
};
+// all the elements in this column are zero.
template<>
-struct elimination_skip_leading_zeros_impl<true, false> {
- template<class Begin, int N, class L>
+struct determine_extra_equations_skip_zeros_impl<true, true> {
+ template<class RowsBegin, int RemainingRows, int CurrentColumn, int TotalColumns, class MatrixWithFirstColumnStripped, class Result>
struct apply {
- typedef typename mpl::next<Begin>::type next;
- typedef typename elimination_skip_leading_zeros_impl<
- boost::is_same<
- typename mpl::deref<
- typename mpl::begin<typename mpl::deref<next>::type>::type
- >::type,
- static_rational<0>
- >::value,
- N == 2
- >::template apply<
- next,
- N-1,
- typename mpl::push_front<
- L,
- typename mpl::pop_front<typename mpl::deref<Begin>::type>::type
- >::type
- >::type type;
+ typedef list<typename RowsBegin::item::next, dimensionless_type> next_equations;
+ typedef list<typename create_row_of_identity<CurrentColumn, TotalColumns>::type, Result> type;
};
};
-template<class S>
-struct combine_solutions {
- template<class Iterator>
+template<int RemainingRows>
+struct determine_extra_equations_impl {
+ template<class RowsBegin, class EliminateAgainst>
struct apply {
- typedef typename substitute<typename mpl::deref<Iterator>::type, S>::type x;
- typedef typename mpl::push_front<S, x>::type type;
+ typedef list<
+ typename eliminate_from_pair_of_equations<typename RowsBegin::item, EliminateAgainst>::type,
+ typename determine_extra_equations_impl<RemainingRows-1>::template apply<typename RowsBegin::next, EliminateAgainst>::type
+ > type;
};
};
template<>
-struct combine_solutions<inconsistent> {
- template<class Iterator>
+struct determine_extra_equations_impl<0> {
+ template<class RowsBegin, class EliminateAgainst>
struct apply {
- typedef inconsistent type;
+ typedef dimensionless_type type;
};
};
-template<>
-struct elimination_skip_leading_zeros_impl<false, true> {
- template<class Begin, int N, class L>
+template<int RemainingColumns, bool is_done>
+struct determine_extra_equations {
+ template<class RowsBegin, int TotalColumns, class Result>
struct apply {
- typedef typename elimination_impl<N - 1>::template apply<
- typename mpl::next<Begin>::type,
- typename mpl::deref<Begin>::type,
- L
- >::type list_type;
- typedef typename solve<list_type>::type next;
- typedef typename combine_solutions<next>::template apply<Begin>::type type;
+ typedef typename RowsBegin::item top_row;
+ typedef typename determine_extra_equations_skip_zeros_impl<
+ top_row::item::Numerator == 0,
+ RowsBegin::item::size::value == 1
+ >::template apply<
+ RowsBegin,
+ RowsBegin::size::value,
+ TotalColumns - RemainingColumns,
+ TotalColumns,
+ Result
+ > column_info;
+ typedef typename determine_extra_equations<
+ RemainingColumns - 1,
+ column_info::next_equations::size::value == 0
+ >::template apply<
+ typename column_info::next_equations,
+ TotalColumns,
+ typename column_info::type
+ >::type type;
+ };
+};
+
+template<int RemainingColumns>
+struct determine_extra_equations<RemainingColumns, true> {
+ template<class RowsBegin, int TotalColumns, class Result>
+ struct apply {
+ typedef typename determine_extra_equations<RemainingColumns - 1, true>::template apply<
+ RowsBegin,
+ TotalColumns,
+ list<typename create_row_of_identity<TotalColumns - RemainingColumns, TotalColumns>::type, Result>
+ >::type type;
};
};
template<>
-struct elimination_skip_leading_zeros_impl<false, false> {
- template<class Begin, int N, class L>
+struct determine_extra_equations<0, true> {
+ template<class RowsBegin, int TotalColumns, class Result>
struct apply {
- typedef typename elimination_impl<N - 1>::template apply<
- typename mpl::next<Begin>::type,
- typename mpl::deref<Begin>::type,
- L
- >::type list_type;
- typedef typename solve<list_type>::type next;
- typedef typename combine_solutions<next>::template apply<Begin>::type type;
+ typedef Result type;
};
};
-// finds the vaue of the first variable given the
-// values of all the other variables.
-//
-// rational substitute(equation e, list<rational> solutions) {
-// rational value = e.back();
-// for_each(rational x : solutions, rational a : pop_front(pop_back(e))) {
-// value -= a * x;
-// }
-// return(e.front() / value);
-// }
+// Stage 2
+// invert the matrix using Gauss-Jordan elimination
+
+
+template<bool is_zero, bool is_last>
+struct invert_strip_leading_zeroes;
template<int N>
-struct substitute_impl {
- template<class Begin1, class Begin2>
+struct invert_handle_after_pivot_row;
+
+// When processing column N, none of the first N rows
+// can be the pivot column.
+template<int N>
+struct invert_handle_inital_rows {
+ template<class RowsBegin, class IdentityBegin>
struct apply {
- typedef typename mpl::minus<
- typename substitute_impl<N-1>::template apply<
- typename mpl::next<Begin1>::type,
- typename mpl::next<Begin2>::type
+ typedef typename invert_handle_inital_rows<N - 1>::template apply<
+ typename RowsBegin::next,
+ typename IdentityBegin::next
+ > next;
+ typedef typename RowsBegin::item current_row;
+ typedef typename IdentityBegin::item current_identity_row;
+ typedef typename next::pivot_row pivot_row;
+ typedef typename next::identity_pivot_row identity_pivot_row;
+ typedef list<
+ typename eliminate_from_pair_of_equations_impl<(current_row::size::value) - 1>::template apply<
+ typename current_row::next,
+ pivot_row,
+ typename current_row::item,
+ static_rational<1>
>::type,
- typename mpl::times<
- typename mpl::deref<Begin1>::type,
- typename mpl::deref<Begin2>::type
- >::type
- >::type type;
+ typename next::new_matrix
+ > new_matrix;
+ typedef list<
+ typename eliminate_from_pair_of_equations_impl<(current_identity_row::size::value)>::template apply<
+ current_identity_row,
+ identity_pivot_row,
+ typename current_row::item,
+ static_rational<1>
+ >::type,
+ typename next::identity_result
+ > identity_result;
};
};
+// This handles the switch to searching for a pivot column.
+// The pivot row will be propagated up in the typedefs
+// pivot_row and identity_pivot_row. It is inserted here.
template<>
-struct substitute_impl<0> {
- template<class Begin1, class Begin2>
+struct invert_handle_inital_rows<0> {
+ template<class RowsBegin, class IdentityBegin>
struct apply {
- typedef typename mpl::deref<Begin1>::type type;
+ typedef typename RowsBegin::item current_row;
+ typedef typename invert_strip_leading_zeroes<
+ (current_row::item::Numerator == 0),
+ (RowsBegin::size::value == 1)
+ >::template apply<
+ RowsBegin,
+ IdentityBegin
+ > next;
+ // results
+ typedef list<typename next::pivot_row, typename next::new_matrix> new_matrix;
+ typedef list<typename next::identity_pivot_row, typename next::identity_result> identity_result;
+ typedef typename next::pivot_row pivot_row;
+ typedef typename next::identity_pivot_row identity_pivot_row;
};
};
-template<class Equation, class Vars>
-struct substitute {
- typedef typename mpl::begin<Equation>::type begin;
- typedef typename mpl::divides<
- typename substitute_impl<mpl::size<Vars>::value>::template apply<
- typename mpl::next<begin>::type,
- typename mpl::begin<Vars>::type
- >::type,
- typename mpl::deref<begin>::type
- >::type type;
+// The first internal element which is not zero.
+template<>
+struct invert_strip_leading_zeroes<false, false> {
+ template<class RowsBegin, class IdentityBegin>
+ struct apply {
+ typedef typename RowsBegin::item current_row;
+ typedef typename current_row::item current_value;
+ typedef typename divide_equation<(current_row::size::value - 1)>::template apply<typename current_row::next, current_value>::type new_equation;
+ typedef typename divide_equation<(IdentityBegin::item::size::value)>::template apply<typename IdentityBegin::item, current_value>::type transformed_identity_equation;
+ typedef typename invert_handle_after_pivot_row<(RowsBegin::size::value - 1)>::template apply<
+ typename RowsBegin::next,
+ typename IdentityBegin::next,
+ new_equation,
+ transformed_identity_equation
+ > next;
+
+ // results
+ // Note that we don't add the pivot row to the
+ // results here, because it needs to propagated up
+ // to the diagonal.
+ typedef typename next::new_matrix new_matrix;
+ typedef typename next::identity_result identity_result;
+ typedef new_equation pivot_row;
+ typedef transformed_identity_equation identity_pivot_row;
+ };
};
+// The one and only non-zero element--at the end
template<>
-struct solve_impl<true> {
- template<class T>
+struct invert_strip_leading_zeroes<false, true> {
+ template<class RowsBegin, class IdentityBegin>
struct apply {
- typedef mpl::list0<> type;
+ typedef typename RowsBegin::item current_row;
+ typedef typename current_row::item current_value;
+ typedef typename divide_equation<(current_row::size::value - 1)>::template apply<typename current_row::next, current_value>::type new_equation;
+ typedef typename divide_equation<(IdentityBegin::item::size::value)>::template apply<typename IdentityBegin::item, current_value>::type transformed_identity_equation;
+
+ // results
+ // Note that we don't add the pivot row to the
+ // results here, because it needs to propagated up
+ // to the diagonal.
+ typedef dimensionless_type identity_result;
+ typedef dimensionless_type new_matrix;
+ typedef new_equation pivot_row;
+ typedef transformed_identity_equation identity_pivot_row;
};
};
-// check_extra_equations verifies that the
-// after all the variables have been eliminated
-// the remaining equations are all 0=0.
-
-template<class T>
-struct check_extra_equations_func {
- template<class Begin, int N>
+// One of the initial zeroes
+template<>
+struct invert_strip_leading_zeroes<true, false> {
+ template<class RowsBegin, class IdentityBegin>
struct apply {
- typedef inconsistent type;
+ typedef typename RowsBegin::item current_row;
+ typedef typename RowsBegin::next::item next_row;
+ typedef typename invert_strip_leading_zeroes<
+ next_row::item::Numerator == 0,
+ RowsBegin::size::value == 2
+ >::template apply<
+ typename RowsBegin::next,
+ typename IdentityBegin::next
+ > next;
+ typedef typename IdentityBegin::item current_identity_row;
+ // these are propagated up.
+ typedef typename next::pivot_row pivot_row;
+ typedef typename next::identity_pivot_row identity_pivot_row;
+ typedef list<
+ typename eliminate_from_pair_of_equations_impl<(current_row::size::value - 1)>::template apply<
+ typename current_row::next,
+ pivot_row,
+ typename current_row::item,
+ static_rational<1>
+ >::type,
+ typename next::new_matrix
+ > new_matrix;
+ typedef list<
+ typename eliminate_from_pair_of_equations_impl<(current_identity_row::size::value)>::template apply<
+ current_identity_row,
+ identity_pivot_row,
+ typename current_row::item,
+ static_rational<1>
+ >::type,
+ typename next::identity_result
+ > identity_result;
};
};
+// the last element, and is zero.
+// Should never happen.
template<>
-struct check_extra_equations_func<static_rational<0> > {
- template<class Begin, int N>
- struct apply {
- typedef typename check_extra_equations_impl<N - 1>::template apply<typename mpl::next<Begin>::type>::type type;
- };
+struct invert_strip_leading_zeroes<true, true> {
};
template<int N>
-struct check_extra_equations_impl {
- template<class Begin>
+struct invert_handle_after_pivot_row {
+ template<class RowsBegin, class IdentityBegin, class MatrixPivot, class IdentityPivot>
struct apply {
- typedef typename check_extra_equations_func<
- typename mpl::deref<typename mpl::begin<typename mpl::deref<Begin>::type>::type>::type
- >::template apply<Begin, N>::type type;
+ typedef typename invert_handle_after_pivot_row<N - 1>::template apply<
+ typename RowsBegin::next,
+ typename IdentityBegin::next,
+ MatrixPivot,
+ IdentityPivot
+ > next;
+ typedef typename RowsBegin::item current_row;
+ typedef typename IdentityBegin::item current_identity_row;
+ typedef MatrixPivot pivot_row;
+ typedef IdentityPivot identity_pivot_row;
+
+ // results
+ typedef list<
+ typename eliminate_from_pair_of_equations_impl<(current_row::size::value - 1)>::template apply<
+ typename current_row::next,
+ pivot_row,
+ typename current_row::item,
+ static_rational<1>
+ >::type,
+ typename next::new_matrix
+ > new_matrix;
+ typedef list<
+ typename eliminate_from_pair_of_equations_impl<(current_identity_row::size::value)>::template apply<
+ current_identity_row,
+ identity_pivot_row,
+ typename current_row::item,
+ static_rational<1>
+ >::type,
+ typename next::identity_result
+ > identity_result;
};
};
template<>
-struct check_extra_equations_impl<0> {
- template<class Begin>
+struct invert_handle_after_pivot_row<0> {
+ template<class RowsBegin, class IdentityBegin, class MatrixPivot, class IdentityPivot>
struct apply {
- typedef mpl::list0<> type;
+ typedef dimensionless_type new_matrix;
+ typedef dimensionless_type identity_result;
};
};
-template<bool is_end>
-struct check_extra_equations;
-
-template<>
-struct check_extra_equations<true> {
- template<class T>
+template<int N>
+struct invert_impl {
+ template<class RowsBegin, class IdentityBegin>
struct apply {
- typedef typename check_extra_equations_impl<mpl::size<T>::value>::template apply<
- typename mpl::begin<T>::type
+ typedef typename invert_handle_inital_rows<RowsBegin::size::value - N>::template apply<RowsBegin, IdentityBegin> process_column;
+ typedef typename invert_impl<N - 1>::template apply<
+ typename process_column::new_matrix,
+ typename process_column::identity_result
>::type type;
};
};
template<>
-struct check_extra_equations<false> {
- template<class T>
+struct invert_impl<0> {
+ template<class RowsBegin, class IdentityBegin>
struct apply {
- typedef typename mpl::begin<T>::type begin;
- typedef typename elimination_skip_leading_zeros_impl<
- boost::is_same<
- typename mpl::deref<
- typename mpl::begin<typename mpl::deref<begin>::type>::type
- >::type,
- static_rational<0>
- >::value,
- mpl::size<T>::value == 1
- >::template apply<
- begin,
- mpl::size<T>::value,
- mpl::list0<>
- >::type type;
+ typedef IdentityBegin type;
};
};
-template<>
-struct solve_impl<false> {
- template<class T>
+template<int N>
+struct make_identity {
+ template<int Size>
struct apply {
- typedef typename mpl::begin<T>::type begin;
- typedef typename check_extra_equations<
- mpl::size<typename mpl::deref<begin>::type>::value == 1
- >::template apply<
- T
- >::type type;
+ typedef list<typename create_row_of_identity<Size - N, Size>::type, typename make_identity<N - 1>::template apply<Size>::type> type;
};
};
-// solve takes a list of equations and returns the solutions
-// as a vector. Each equation is interpreted as a sequence
-// of coefficients with the last item being the value e.g.
-// list<1, 2, 3> is 1 * x0 + 2 * x1 = 3
+template<>
+struct make_identity<0> {
+ template<int Size>
+ struct apply {
+ typedef dimensionless_type type;
+ };
+};
-template<class T>
-struct solve {
- typedef typename solve_impl<mpl::size<T>::value == 0>::template apply<T>::type type;
+template<class Matrix>
+struct make_square_and_invert {
+ typedef typename Matrix::item top_row;
+ typedef typename determine_extra_equations<(top_row::size::value), false>::template apply<
+ Matrix, // RowsBegin
+ top_row::size::value, // TotalColumns
+ Matrix // Result
+ >::type invertible;
+ typedef typename invert_impl<invertible::size::value>::template apply<
+ invertible,
+ typename make_identity<invertible::size::value>::template apply<invertible::size::value>::type
+ >::type type;
};
+
// find_base_dimensions takes a list of
// base_units and returns a sorted list
// of all the base_dimensions they use.
@@ -412,16 +557,65 @@
// return(sort(dimensions, _1 > _2, front_inserter(list<base_dimension>())));
// }
+typedef char set_no;
+struct set_yes { set_no dummy[2]; };
+
+template<class T>
+struct wrap {};
+
+struct set_end {
+ static set_no lookup(...);
+ typedef mpl::long_<0> size;
+};
+
+template<class T, class Next>
+struct set : Next {
+ using Next::lookup;
+ static set_yes lookup(wrap<T>*);
+ typedef T item;
+ typedef Next next;
+ typedef typename mpl::next<typename Next::size>::type size;
+};
+
+template<bool has_key>
+struct set_insert;
+
+template<>
+struct set_insert<true> {
+ template<class Set, class T>
+ struct apply {
+ typedef Set type;
+ };
+};
+
+template<>
+struct set_insert<false> {
+ template<class Set, class T>
+ struct apply {
+ typedef set<T, Set> type;
+ };
+};
+
+template<class Set, class T>
+struct has_key {
+ static const long size = sizeof(Set::lookup((wrap<T>*)0));
+ static const bool value = (size == sizeof(set_yes));
+};
+
template<int N>
struct find_base_dimensions_impl_impl {
template<class Begin, class S>
struct apply {
- typedef typename mpl::insert<
- typename find_base_dimensions_impl_impl<N-1>::template apply<
- typename mpl::next<Begin>::type,
- S
- >::type,
- typename mpl::deref<Begin>::type::tag_type
+ typedef typename find_base_dimensions_impl_impl<N-1>::template apply<
+ typename Begin::next,
+ S
+ >::type next;
+
+ typedef typename set_insert<
+ (has_key<next, typename Begin::item::tag_type>::value)
+ >::template apply<
+ next,
+ typename Begin::item::tag_type
>::type type;
};
};
@@ -438,9 +632,9 @@
struct find_base_dimensions_impl {
template<class Begin>
struct apply {
- typedef typename find_base_dimensions_impl_impl<mpl::size<typename mpl::deref<Begin>::type::dimension_type>::value>::template apply<
- typename mpl::begin<typename mpl::deref<Begin>::type::dimension_type>::type,
- typename find_base_dimensions_impl<N-1>::template apply<typename mpl::next<Begin>::type>::type
+ typedef typename find_base_dimensions_impl_impl<(Begin::item::dimension_type::size::value)>::template apply<
+ typename Begin::item::dimension_type,
+ typename find_base_dimensions_impl<N-1>::template apply<typename Begin::next>::type
>::type type;
};
};
@@ -449,16 +643,16 @@
struct find_base_dimensions_impl<0> {
template<class Begin>
struct apply {
- typedef mpl::set0<> type;
+ typedef set_end type;
};
};
template<class T>
struct find_base_dimensions {
- typedef typename bubble_sort<
+ typedef typename insertion_sort<
typename find_base_dimensions_impl<
- mpl::size<T>::value
- >::template apply<typename mpl::begin<T>::type>::type
+ (T::size::value)
+ >::template apply<T>::type
>::type type;
};
@@ -480,8 +674,8 @@
struct calculate_base_dimension_coefficients_func<true> {
template<class T>
struct apply {
- typedef typename mpl::deref<T>::type::value_type type;
- typedef typename mpl::next<T>::type next;
+ typedef typename T::item::value_type type;
+ typedef typename T::next next;
};
};
@@ -504,7 +698,7 @@
struct apply :
boost::is_same<
Dim,
- typename mpl::deref<Iterator>::type::tag_type
+ typename Iterator::item::tag_type
> {};
};
@@ -519,19 +713,19 @@
template<class BaseUnitDimensions,class Dim,class T>
struct apply {
typedef typename calculate_base_dimension_coefficients_func<
- begins_with_dimension<typename mpl::deref<BaseUnitDimensions>::type>::template apply<
+ begins_with_dimension<typename BaseUnitDimensions::item>::template apply<
Dim
>::value
>::template apply<
- typename mpl::deref<BaseUnitDimensions>::type
+ typename BaseUnitDimensions::item
> result;
typedef typename calculate_base_dimension_coefficients_impl<N-1>::template apply<
- typename mpl::next<BaseUnitDimensions>::type,
+ typename BaseUnitDimensions::next,
Dim,
- typename mpl::push_front<T, typename result::type>::type
+ list<typename result::type, T>
> next_;
typedef typename next_::type type;
- typedef typename mpl::push_front<typename next_::next, typename result::next>::type next;
+ typedef list<typename result::next, typename next_::next> next;
};
};
@@ -540,87 +734,7 @@
template<class Begin, class BaseUnitDimensions, class T>
struct apply {
typedef T type;
- typedef mpl::list0<> next;
- };
-};
-
-// solve_for_base_dimension_impl computes the
-// coefficients of each unit for all the base_dimensions.
-// the inner lists are in reverse order.
-
-template<int N>
-struct get_equations_for_base_dimension_impl {
- template<class Begin, class Units>
- struct apply {
- typedef typename calculate_base_dimension_coefficients_impl<mpl::size<Units>::value>::template apply<
- typename mpl::begin<Units>::type,
- typename mpl::deref<Begin>::type,
- mpl::list0<>
- > x;
- typedef typename mpl::push_front<
- typename get_equations_for_base_dimension_impl<N-1>::template apply<
- typename mpl::next<Begin>::type,
- typename x::next
- >::type,
- typename x::type
- >::type type;
- };
-};
-
-template<>
-struct get_equations_for_base_dimension_impl<0> {
- template<class Begin, class Units>
- struct apply {
- typedef mpl::list0<> type;
- };
-};
-
-// get_dimension_iterators_impl takes a list of base_units
-// and returns a list of the begin iterators of their
-// dimensions
-
-template<int N>
-struct get_dimension_iterators_impl {
- template<class Begin>
- struct apply {
- typedef typename mpl::push_front<
- typename get_dimension_iterators_impl<N-1>::template apply<typename mpl::next<Begin>::type>::type,
- typename mpl::begin<typename mpl::deref<Begin>::type::dimension_type>::type
- >::type type;
- };
-};
-
-template<>
-struct get_dimension_iterators_impl<0> {
- template<class Begin>
- struct apply {
- typedef mpl::list0<> type;
- };
-};
-
-// prepare_equations takes the result of
-// solve_for_base_dimension_impl and an index.
-// it sets the equation at the index equal to
-// one and all the others to zero. In the process
-// it reverses the inner lists thus yielding
-// a matrix that can be passed to solve.
-
-template<int N>
-struct prepare_equations_impl {
- template<class Begin, int M>
- struct apply {
- typedef typename mpl::push_front<
- typename prepare_equations_impl<N-1>::template apply<typename mpl::next<Begin>::type, M - 1>::type,
- typename mpl::reverse<typename mpl::push_front<typename mpl::deref<Begin>::type, static_rational<(M == 0 ? 1 : 0)> >::type>::type
- >::type type;
- };
-};
-
-template<>
-struct prepare_equations_impl<0> {
- template<class Begin, int M>
- struct apply {
- typedef mpl::list0<> type;
+ typedef dimensionless_type next;
};
};
@@ -642,10 +756,10 @@
BOOST_MPL_ASSERT_MSG((N > 0), base_units_are_probably_not_linearly_independent, (void));
template<class T>
struct apply {
- typedef typename mpl::push_front<
- typename add_zeroes_impl<N-1>::template apply<T>::type,
- static_rational<0>
- >::type type;
+ typedef list<
+ static_rational<0>,
+ typename add_zeroes_impl<N-1>::template apply<T>::type
+ > type;
};
};
@@ -657,205 +771,6 @@
};
};
-// add_solutions takes a list of equations
-// for the extra dummy units and a list
-// of the values of all the regular units.
-// It find the coefficients of all the dummy
-// units and pushes them onto the begining
-// of the list in reverse order (since the
-// dummy equations are reversed).
-
-template<int N>
-struct add_solutions_impl {
- template<class Begin, class T, class Solution>
- struct apply {
- typedef typename add_solutions_impl<N-1>::template apply<
- typename mpl::next<Begin>::type,
- typename mpl::push_front<
- T,
- typename substitute_impl<mpl::size<Solution>::value>::template apply<
- typename mpl::begin<typename mpl::deref<Begin>::type>::type,
- typename mpl::begin<Solution>::type
- >::type
- >::type,
- Solution
- >::type type;
- };
-};
-
-template<>
-struct add_solutions_impl<0> {
- template<class Begin, class T, class Solution>
- struct apply {
- typedef T type;
- };
-};
-
-// normalize_units finds the units corresponding
-// to each base dimension. The form of the result is
-// a two dimensional list. list<list<rational> >.
-// each of the inner lists represents a single
-// base dimension. There may be extra units added
-// to the front of the inner list if there are
-// more base dimensions than base units. The
-// number such units is returned as a long called
-// extra. For example list<pound, foot> will yield
-// list<list<0, 0, 1>,list<1, 0, 0>,list<1/2,-1/2,1/2> > meaning
-//
-// length = 0 * mass + 0 * force + 1 * length
-// mass = 1 * mass + 0 * force + 0 * length
-// time = 1/2 * mass - 1/2 * force + 1/2 * length
-//
-// Why is there a dummy mass unit? It isn't
-// possible to represent three base dimensions
-// with only two base units. So we need some
-// kind of dummy. Why mass? Well, a base
-// unit of length doesn't help us since we
-// already have one. Mass is before time
-// so we use mass.
-
-// S is the solution for this particular base dimension.
-// if the base dimension cannot be represented then
-// solve will return inconsistent hence the two specializations.
-
-template<class S>
-struct normalize_units_func {
- template<class ReverseEquations, int M, class DimensionIterator, int N, int Extra, int I,class ExtraEquations>
- struct apply {
- // first add zeroes for all the extra units that
- // are not needed.
- typedef typename add_zeroes_impl<Extra-mpl::size<ExtraEquations>::value>::template apply<S>::type result1;
- // then find the values for the extra units that /are/ needed.
- typedef typename add_solutions_impl<mpl::size<ExtraEquations>::value>::template apply<
- typename mpl::begin<ExtraEquations>::type,
- result1,
- S
- >::type result;
- // recurse back to the primary loop putting
- // push_front outside since we wish to maintain
- // the original ordering of dimensions
- typedef typename mpl::push_front<
- typename normalize_units_impl<N-1>::template apply<
- // The coefficient are still the same
- // and we don't need to remove any equations
- ReverseEquations,
- // increment the number of equations that
- // need to be skipped when we add another
- // dummy unit.
- M+1,
- typename mpl::next<DimensionIterator>::type,
- Extra,
- // increment the number of dimensions we've seen
- I+1,
- // pass the equations for the dummy
- // units on without modification.
- ExtraEquations
- >::type,
- result
- >::type type;
- };
-};
-
-// handles the case when this base dimension
-// cannot be represented with the base units
-// and the dummies allready added.
-template<>
-struct normalize_units_func<inconsistent> {
- template<class ReverseEquations, int M, class DimensionIterator, int N, int Extra, int I, class ExtraEquations>
- struct apply {
- // Find the position that needs to be erased. (Since this
- // equation can always be adjusted by adjusting the
- // dummy unit we are adding now, independently of
- // other units, we don't need it anymore.)
- typedef typename mpl::advance_c<typename mpl::begin<ReverseEquations>::type, M>::type pos;
- // Continue with the main loop.
- typedef typename normalize_units_impl<N-1>::template apply<
- // Remove current_equation
- typename mpl::erase<
- ReverseEquations,
- pos
- >::type,
- M,
- typename mpl::next<DimensionIterator>::type,
- Extra,
- // Increment the number of dimensions we've seen
- I+1,
- // Add "current_equation == 0" to the list of equations
- // for the dummy units. (For all base dimensions
- // except this the current dimension must sum to
- // zero.)
- typename mpl::push_front<
- ExtraEquations,
- // Remember it's backwards
- typename mpl::reverse<
- typename mpl::push_front<typename mpl::deref<pos>::type, static_rational<0> >::type
- >::type
- >::type
- > next;
- // this dimension is (0, ..., 0, 1, 0, ..., 0)
- typedef typename mpl::push_front<
- typename add_zeroes_impl<N-1>::template apply<mpl::list0<> >::type,
- static_rational<1>
- >::type result1;
- typedef typename add_zeroes_impl<I>::template apply<result1>::type result;
- // Push the result onto the list.
- typedef typename mpl::push_front<typename next::type, result>::type type;
- };
-};
-
-template<int N>
-struct normalize_units_impl {
- template<class ReverseEquations, int M, class DimensionIterator, int Extra, int I, class ExtraEquations>
- struct apply {
- typedef typename solve<
- typename prepare_equations_impl<
- mpl::size<ReverseEquations>::value
- >::template apply<
- typename mpl::begin<ReverseEquations>::type,
- M
- >::type
- >::type solution;
- typedef typename normalize_units_func<solution>::template apply<
- ReverseEquations,
- M,
- DimensionIterator,
- N,
- Extra,
- I,
- ExtraEquations
- >::type type;
- };
-};
-
-template<>
-struct normalize_units_impl<0> {
- template<class ReverseEquations, int M, class DimensionIterator, int Extra, int I, class ExtraEquations>
- struct apply {
- typedef mpl::list0<> type;
- };
-};
-
-template<class T>
-struct normalize_units {
- typedef typename find_base_dimensions<T>::type dimensions;
- typedef typename get_dimension_iterators_impl<mpl::size<T>::value>::template apply<typename mpl::begin<T>::type>::type iterators;
- typedef typename get_equations_for_base_dimension_impl<
- mpl::size<dimensions>::value
- >::template apply<
- typename mpl::begin<dimensions>::type,
- iterators
- >::type reverse_equations;
- static const long extra = mpl::size<reverse_equations>::value - mpl::size<T>::value;
- typedef typename normalize_units_impl<mpl::size<reverse_equations>::value>::template apply<
- reverse_equations,
- 0,
- typename mpl::begin<dimensions>::type,
- extra,
- 0,
- mpl::list0<>
- >::type type;
-};
-
// expand_dimensions finds the exponents of
// a set of dimensions in a dimension_list.
// the second parameter is assumed to be
@@ -869,12 +784,12 @@
template<class Begin, class DimensionIterator>
struct apply {
typedef typename calculate_base_dimension_coefficients_func<
- begins_with_dimension<DimensionIterator>::template apply<typename mpl::deref<Begin>::type>::value
+ begins_with_dimension<DimensionIterator>::template apply<typename Begin::item>::value
>::template apply<DimensionIterator> result;
- typedef typename mpl::push_front<
- typename expand_dimensions<N-1>::template apply<typename mpl::next<Begin>::type, typename result::next>::type,
- typename result::type
- >::type type;
+ typedef list<
+ typename result::type,
+ typename expand_dimensions<N-1>::template apply<typename Begin::next, typename result::next>::type
+ > type;
};
};
@@ -882,10 +797,38 @@
struct expand_dimensions<0> {
template<class Begin, class DimensionIterator>
struct apply {
- typedef mpl::list0<> type;
+ typedef dimensionless_type type;
+ };
+};
+
+template<int N>
+struct create_unit_matrix {
+ template<class Begin, class Dimensions>
+ struct apply {
+ typedef typename create_unit_matrix<N - 1>::template apply<typename Begin::next, Dimensions>::type next;
+ typedef list<typename expand_dimensions<Dimensions::size::value>::template apply<Dimensions, typename Begin::item::dimension_type>::type, next> type;
};
};
+template<>
+struct create_unit_matrix<0> {
+ template<class Begin, class Dimensions>
+ struct apply {
+ typedef dimensionless_type type;
+ };
+};
+
+template<class T>
+struct normalize_units {
+ typedef typename find_base_dimensions<T>::type dimensions;
+ typedef typename create_unit_matrix<(T::size::value)>::template apply<
+ T,
+ dimensions
+ >::type matrix;
+ typedef typename make_square_and_invert<matrix>::type type;
+ static const long extra = (type::size::value) - (T::size::value);
+};
+
// multiply_add_units computes M x V
// where M is a matrix and V is a horizontal
// vector
@@ -896,20 +839,20 @@
struct multiply_add_units_impl {
template<class Begin1, class Begin2 ,class X>
struct apply {
- typedef typename mpl::push_front<
- typename multiply_add_units_impl<N-1>::template apply<
- typename mpl::next<Begin1>::type,
- typename mpl::next<Begin2>::type,
- X
- >::type,
+ typedef list<
typename mpl::plus<
typename mpl::times<
- typename mpl::deref<Begin2>::type,
+ typename Begin2::item,
X
>::type,
- typename mpl::deref<Begin1>::type
+ typename Begin1::item
+ >::type,
+ typename multiply_add_units_impl<N-1>::template apply<
+ typename Begin1::next,
+ typename Begin2::next,
+ X
>::type
- >::type type;
+ > type;
};
};
@@ -917,7 +860,7 @@
struct multiply_add_units_impl<0> {
template<class Begin1, class Begin2 ,class X>
struct apply {
- typedef mpl::list0<> type;
+ typedef dimensionless_type type;
};
};
@@ -926,16 +869,14 @@
template<class Begin1, class Begin2>
struct apply {
typedef typename multiply_add_units_impl<
- mpl::size<typename mpl::deref<Begin2>::type>::value
+ (Begin2::item::size::value)
>::template apply<
- typename mpl::begin<
- typename multiply_add_units<N-1>::template apply<
- typename mpl::next<Begin1>::type,
- typename mpl::next<Begin2>::type
- >::type
+ typename multiply_add_units<N-1>::template apply<
+ typename Begin1::next,
+ typename Begin2::next
>::type,
- typename mpl::begin<typename mpl::deref<Begin2>::type>::type,
- typename mpl::deref<Begin1>::type
+ typename Begin2::item,
+ typename Begin1::item
>::type type;
};
};
@@ -945,16 +886,14 @@
template<class Begin1, class Begin2>
struct apply {
typedef typename add_zeroes_impl<
- mpl::size<typename mpl::deref<Begin2>::type>::value
- >::template apply<mpl::list0<> >::type type1;
+ (Begin2::item::size::value)
+ >::template apply<dimensionless_type>::type type1;
typedef typename multiply_add_units_impl<
- mpl::size<typename mpl::deref<Begin2>::type>::value
+ (Begin2::item::size::value)
>::template apply<
- typename mpl::begin<
- type1
- >::type,
- typename mpl::begin<typename mpl::deref<Begin2>::type>::type,
- typename mpl::deref<Begin1>::type
+ type1,
+ typename Begin2::item,
+ typename Begin1::item
>::type type;
};
};
@@ -988,7 +927,7 @@
struct strip_zeroes_func<static_rational<0> > {
template<class L, int N>
struct apply {
- typedef typename strip_zeroes_impl<N-1>::template apply<typename mpl::pop_front<L>::type>::type type;
+ typedef typename strip_zeroes_impl<N-1>::template apply<typename L::next>::type type;
};
};
@@ -996,7 +935,7 @@
struct strip_zeroes_impl {
template<class T>
struct apply {
- typedef typename strip_zeroes_func<typename mpl::front<T>::type>::template apply<T, N>::type type;
+ typedef typename strip_zeroes_func<typename T::item>::template apply<T, N>::type type;
};
};
@@ -1043,12 +982,12 @@
struct is_simple_system_impl {
template<class Begin, class Prev>
struct apply {
- typedef is_base_dimension_unit<typename mpl::deref<Begin>::type::dimension_type> test;
+ typedef is_base_dimension_unit<typename Begin::item::dimension_type> test;
typedef mpl::and_<
typename test::type,
mpl::less<Prev, typename test::base_dimension_type>,
typename is_simple_system_impl<N-1>::template apply<
- typename mpl::next<Begin>::type,
+ typename Begin::next,
typename test::base_dimension_type
>
> type;
@@ -1065,14 +1004,14 @@
template<class T>
struct is_simple_system {
- typedef typename mpl::begin<T>::type Begin;
- typedef is_base_dimension_unit<typename mpl::deref<Begin>::type::dimension_type> test;
+ typedef T Begin;
+ typedef is_base_dimension_unit<typename Begin::item::dimension_type> test;
typedef typename mpl::and_<
typename test::type,
typename is_simple_system_impl<
- mpl::size<T>::value - 1
+ T::size::value - 1
>::template apply<
- typename mpl::next<Begin>::type,
+ typename Begin::next::type,
typename test::base_dimension_type
>
>::type type;
@@ -1086,9 +1025,9 @@
struct calculate_base_unit_exponents_impl<true> {
template<class T, class Dimensions>
struct apply {
- typedef typename expand_dimensions<mpl::size<T>::value>::template apply<
- typename mpl::begin<typename find_base_dimensions<T>::type>::type,
- typename mpl::begin<Dimensions>::type
+ typedef typename expand_dimensions<(T::size::value)>::template apply<
+ typename find_base_dimensions<T>::type,
+ Dimensions
>::type type;
};
};
@@ -1104,16 +1043,16 @@
// e.g. if the arguments are list<pound, foot> and
// list<mass,time^-2> then this step will
// yield list<0,1,-2>
- typedef typename expand_dimensions<mpl::size<typename base_solutions::dimensions>::value>::template apply<
- typename mpl::begin<typename base_solutions::dimensions>::type,
- typename mpl::begin<Dimensions>::type
+ typedef typename expand_dimensions<(base_solutions::dimensions::size::value)>::template apply<
+ typename base_solutions::dimensions,
+ Dimensions
>::type dimensions;
// take the unit corresponding to each base unit
// multiply each of its exponents by the exponent
// of the base_dimension in the result and sum.
- typedef typename multiply_add_units<mpl::size<dimensions>::value>::template apply<
- typename mpl::begin<dimensions>::type,
- typename mpl::begin<typename base_solutions::type>::type
+ typedef typename multiply_add_units<dimensions::size::value>::template apply<
+ dimensions,
+ typename base_solutions::type
>::type units;
// Now, verify that the dummy units really
// cancel out and remove them.
Modified: branches/CMake/release/boost/units/detail/push_front_if.hpp
==============================================================================
--- branches/CMake/release/boost/units/detail/push_front_if.hpp (original)
+++ branches/CMake/release/boost/units/detail/push_front_if.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -11,12 +11,13 @@
#ifndef BOOST_UNITS_DETAIL_PUSH_FRONT_IF_HPP
#define BOOST_UNITS_DETAIL_PUSH_FRONT_IF_HPP
-#include <boost/mpl/push_front.hpp>
-
namespace boost {
namespace units {
+template<class T, class Next>
+struct list;
+
namespace detail {
template<bool>
@@ -26,7 +27,7 @@
struct push_front_if<true> {
template<class L, class T>
struct apply {
- typedef typename mpl::push_front<L, T>::type type;
+ typedef list<T, L> type;
};
};
Modified: branches/CMake/release/boost/units/detail/push_front_or_add.hpp
==============================================================================
--- branches/CMake/release/boost/units/detail/push_front_or_add.hpp (original)
+++ branches/CMake/release/boost/units/detail/push_front_or_add.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -24,6 +24,9 @@
namespace units {
+template<class Item, class Next>
+struct list;
+
namespace detail {
template<class T>
@@ -39,9 +42,9 @@
template<typename Sequence, typename T>
struct apply
{
- typedef typename mpl::plus<T, typename mpl::front<Sequence>::type>::type item;
+ typedef typename mpl::plus<T, typename Sequence::item>::type item;
typedef typename push_front_if<!is_empty_dim<item>::value>::template apply<
- typename mpl::pop_front<Sequence>::type,
+ typename Sequence::next,
item
> type;
};
@@ -53,14 +56,14 @@
template<typename Sequence, typename T>
struct apply
{
- typedef typename mpl::push_front<Sequence, T>::type type;
+ typedef list<T, Sequence> type;
};
};
template<typename Sequence, typename T>
struct push_front_or_add
{
- typedef typename push_front_or_add_impl<boost::is_same<typename T::tag_type, typename mpl::front<Sequence>::type::tag_type>::value>::template apply<
+ typedef typename push_front_or_add_impl<boost::is_same<typename T::tag_type, typename Sequence::item::tag_type>::value>::template apply<
Sequence,
T
>::type type;
@@ -69,7 +72,7 @@
template<typename T>
struct push_front_or_add<dimensionless_type, T>
{
- typedef typename mpl::push_front<dimensionless_type, T>::type type;
+ typedef list<T, dimensionless_type> type;
};
} // namespace detail
Modified: branches/CMake/release/boost/units/detail/sort.hpp
==============================================================================
--- branches/CMake/release/boost/units/detail/sort.hpp (original)
+++ branches/CMake/release/boost/units/detail/sort.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -27,118 +27,77 @@
namespace detail {
-template<bool second_is_less>
-struct bubble_sort_conditional_swap;
+template<int N>
+struct insertion_sort_insert;
-template<>
-struct bubble_sort_conditional_swap<true>
-{
- template<class T0, class T1>
- struct apply
- {
- typedef T1 first;
- typedef T0 second;
- };
-};
+template<bool is_greater>
+struct insertion_sort_comparison_impl;
+// have to recursively add the element to the next sequence.
template<>
-struct bubble_sort_conditional_swap<false>
-{
- template<class T0, class T1>
- struct apply
- {
- typedef T0 first;
- typedef T1 second;
- };
-};
-
-template<int N>
-struct bubble_sort_pass_impl
-{
- template<class Begin, class Current>
- struct apply
- {
- typedef typename mpl::deref<Begin>::type val;
- typedef typename bubble_sort_conditional_swap<mpl::less<val, Current>::value>::template apply<Current, val> pair;
- typedef typename bubble_sort_pass_impl<N-1>::template apply<typename mpl::next<Begin>::type, typename pair::second> next;
- typedef typename mpl::push_front<typename next::type, typename pair::first>::type type;
- enum { value = next::value || mpl::less<val, Current>::value };
+struct insertion_sort_comparison_impl<true> {
+ template<class Begin, int N, class T>
+ struct apply {
+ typedef list<
+ typename Begin::item,
+ typename insertion_sort_insert<N - 1>::template apply<
+ typename Begin::next,
+ T
+ >::type
+ > type;
};
};
+// prepend the current element
template<>
-struct bubble_sort_pass_impl<0>
-{
- template<class Begin, class Current>
- struct apply
- {
- typedef typename mpl::push_front<dimensionless_type, Current>::type type;
- enum { value = false };
+struct insertion_sort_comparison_impl<false> {
+ template<class Begin, int N, class T>
+ struct apply {
+ typedef list<T, Begin> type;
};
};
-template<bool>
-struct bubble_sort_impl;
-
-template<>
-struct bubble_sort_impl<true>
-{
- template<class T>
- struct apply
- {
- typedef typename mpl::begin<T>::type begin;
- typedef typename bubble_sort_pass_impl<mpl::size<T>::value - 1>::template apply<
- typename mpl::next<begin>::type,
- typename mpl::deref<begin>::type
- > single_pass;
- typedef typename bubble_sort_impl<(single_pass::value)>::template apply<typename single_pass::type>::type type;
+template<int N>
+struct insertion_sort_insert {
+ template<class Begin, class T>
+ struct apply {
+ typedef typename insertion_sort_comparison_impl<mpl::less<typename Begin::item, T>::value>::template apply<
+ Begin,
+ N,
+ T
+ >::type type;
};
};
template<>
-struct bubble_sort_impl<false>
-{
- template<class T>
- struct apply
- {
- typedef T type;
+struct insertion_sort_insert<0> {
+ template<class Begin, class T>
+ struct apply {
+ typedef list<T, dimensionless_type> type;
};
};
template<int N>
-struct bubble_sort_one_or_zero
-{
- template<class T>
- struct apply
- {
- typedef typename bubble_sort_impl<true>::template apply<T>::type type;
+struct insertion_sort_impl {
+ template<class Begin>
+ struct apply {
+ typedef typename insertion_sort_impl<N - 1>::template apply<typename Begin::next>::type next;
+ typedef typename insertion_sort_insert<(next::size::value)>::template apply<next, typename Begin::item>::type type;
};
};
template<>
-struct bubble_sort_one_or_zero<0>
-{
- template<class T>
- struct apply
- {
+struct insertion_sort_impl<0> {
+ template<class Begin>
+ struct apply {
typedef dimensionless_type type;
};
};
-template<>
-struct bubble_sort_one_or_zero<1>
-{
- template<class T>
- struct apply
- {
- typedef typename mpl::push_front<dimensionless_type, typename mpl::front<T>::type>::type type;
- };
-};
-
template<class T>
-struct bubble_sort
+struct insertion_sort
{
- typedef typename bubble_sort_one_or_zero<mpl::size<T>::value>::template apply<T>::type type;
+ typedef typename insertion_sort_impl<T::size::value>::template apply<T>::type type;
};
} // namespace detail
Modified: branches/CMake/release/boost/units/detail/unscale.hpp
==============================================================================
--- branches/CMake/release/boost/units/detail/unscale.hpp (original)
+++ branches/CMake/release/boost/units/detail/unscale.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -141,11 +141,11 @@
template<class Begin>
struct apply
{
- typedef typename eval_scale_list_impl<N-1>::template apply<typename mpl::next<Begin>::type> next_iteration;
- typedef typename multiply_typeof_helper<typename next_iteration::type, typename mpl::deref<Begin>::type::value_type>::type type;
+ typedef typename eval_scale_list_impl<N-1>::template apply<typename Begin::next> next_iteration;
+ typedef typename multiply_typeof_helper<typename next_iteration::type, typename Begin::item::value_type>::type type;
static type value()
{
- return(next_iteration::value() * mpl::deref<Begin>::type::value());
+ return(next_iteration::value() * Begin::item::value());
}
};
};
@@ -168,7 +168,7 @@
/// INTERNAL ONLY
template<class T>
-struct eval_scale_list : detail::eval_scale_list_impl<mpl::size<T>::value>::template apply<typename mpl::begin<T>::type> {};
+struct eval_scale_list : detail::eval_scale_list_impl<T::size::value>::template apply<T> {};
} // namespace units
Modified: branches/CMake/release/boost/units/dimension.hpp
==============================================================================
--- branches/CMake/release/boost/units/dimension.hpp (original)
+++ branches/CMake/release/boost/units/dimension.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -16,8 +16,6 @@
#include <boost/type_traits/is_same.hpp>
#include <boost/mpl/arithmetic.hpp>
-#include <boost/mpl/begin.hpp>
-#include <boost/mpl/size.hpp>
#include <boost/units/static_rational.hpp>
#include <boost/units/detail/dimension_list.hpp>
@@ -62,8 +60,8 @@
template<typename DL,typename Ex>
struct static_power
{
- typedef typename detail::static_power_impl<mpl::size<DL>::value>::template apply<
- typename mpl::begin<DL>::type,
+ typedef typename detail::static_power_impl<DL::size::value>::template apply<
+ DL,
Ex
>::type type;
};
@@ -72,8 +70,8 @@
template<typename DL,typename Rt>
struct static_root
{
- typedef typename detail::static_root_impl<mpl::size<DL>::value>::template apply<
- typename mpl::begin<DL>::type,
+ typedef typename detail::static_root_impl<DL::size::value>::template apply<
+ DL,
Rt
>::type type;
};
@@ -125,9 +123,9 @@
typedef typename boost::units::detail::merge_dimensions<
T0,
typename boost::units::detail::static_inverse_impl<
- mpl::size<T1>::value
+ T1::size::value
>::template apply<
- typename mpl::begin<T1>::type
+ T1
>::type
>::type type;
};
Modified: branches/CMake/release/boost/units/heterogeneous_system.hpp
==============================================================================
--- branches/CMake/release/boost/units/heterogeneous_system.hpp (original)
+++ branches/CMake/release/boost/units/heterogeneous_system.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -214,12 +214,12 @@
template<class UnitsBegin, class ExponentsBegin>
struct apply
{
- typedef typename push_front_if<!(is_zero<typename mpl::deref<ExponentsBegin>::type>::value)>::template apply<
+ typedef typename push_front_if<!(is_zero<typename ExponentsBegin::item>::value)>::template apply<
typename make_heterogeneous_system_impl<N-1>::template apply<
- typename mpl::next<UnitsBegin>::type,
- typename mpl::next<ExponentsBegin>::type
+ typename UnitsBegin::next,
+ typename ExponentsBegin::next
>::type,
- heterogeneous_system_dim<typename mpl::deref<UnitsBegin>::type, typename mpl::deref<ExponentsBegin>::type>
+ heterogeneous_system_dim<typename UnitsBegin::item, typename ExponentsBegin::item>
>::type type;
};
};
@@ -239,9 +239,9 @@
{
typedef typename calculate_base_unit_exponents<typename System::type, Dimensions>::type exponents;
BOOST_MPL_ASSERT_MSG((!boost::is_same<exponents, inconsistent>::value), the_specified_dimension_is_not_representible_in_the_given_system, (types<Dimensions, System>));
- typedef typename make_heterogeneous_system_impl<mpl::size<typename System::type>::value>::template apply<
- typename mpl::begin<typename System::type>::type,
- typename mpl::begin<exponents>::type
+ typedef typename make_heterogeneous_system_impl<System::type::size::value>::template apply<
+ typename System::type,
+ exponents
>::type unit_list;
typedef heterogeneous_system<heterogeneous_system_impl<unit_list, Dimensions, no_scale> > type;
};
@@ -314,9 +314,9 @@
{
typedef typename push_front_or_add<
typename unscale_heterogeneous_system_impl<N-1>::template apply<
- typename mpl::next<Begin>::type
+ typename Begin::next
>::type,
- typename unscale<typename mpl::deref<Begin>::type>::type
+ typename unscale<typename Begin::item>::type
>::type type;
};
};
@@ -343,9 +343,9 @@
typedef heterogeneous_system<
heterogeneous_system_impl<
typename detail::unscale_heterogeneous_system_impl<
- mpl::size<typename T::type>::value
+ T::type::size::value
>::template apply<
- typename mpl::begin<typename T::type>::type
+ typename T::type
>::type,
typename T::dimensions,
no_scale
@@ -370,9 +370,9 @@
{
typedef typename mpl::times<
typename get_scale_list_of_heterogeneous_system_impl<N-1>::template apply<
- typename mpl::next<Begin>::type
+ typename Begin::next
>::type,
- typename get_scale_list<typename mpl::deref<Begin>::type>::type
+ typename get_scale_list<typename Begin::item>::type
>::type type;
};
};
@@ -395,7 +395,7 @@
{
typedef typename mpl::times<
typename detail::get_scale_list_of_heterogeneous_system_impl<
- mpl::size<typename T::type>::value
+ T::type::size::value
>::template apply<typename T::type>::type,
typename T::scale
>::type type;
Modified: branches/CMake/release/boost/units/io.hpp
==============================================================================
--- branches/CMake/release/boost/units/io.hpp (original)
+++ branches/CMake/release/boost/units/io.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -208,10 +208,10 @@
template<class Begin>
struct apply
{
- typedef typename symbol_string_impl<N-1>::template apply<typename mpl::next<Begin>::type> next;
+ typedef typename symbol_string_impl<N-1>::template apply<typename Begin::next> next;
static void value(std::string& str)
{
- str += base_unit_symbol_string(typename mpl::deref<Begin>::type()) + ' ';
+ str += base_unit_symbol_string(typename Begin::item()) + ' ';
next::value(str);
}
};
@@ -225,7 +225,7 @@
{
static void value(std::string& str)
{
- str += base_unit_symbol_string(typename mpl::deref<Begin>::type());
+ str += base_unit_symbol_string(typename Begin::item());
};
};
};
@@ -252,8 +252,8 @@
{
static void value(std::string& str)
{
- str += mpl::deref<Begin>::type::symbol();
- scale_symbol_string_impl<N - 1>::template apply<typename mpl::next<Begin>::type>::value(str);
+ str += Begin::item::symbol();
+ scale_symbol_string_impl<N - 1>::template apply<typename Begin::next>::value(str);
}
};
};
@@ -275,10 +275,10 @@
template<class Begin>
struct apply
{
- typedef typename name_string_impl<N-1>::template apply<typename mpl::next<Begin>::type> next;
+ typedef typename name_string_impl<N-1>::template apply<typename Begin::next> next;
static void value(std::string& str)
{
- str += base_unit_name_string(typename mpl::deref<Begin>::type()) + ' ';
+ str += base_unit_name_string(typename Begin::item()) + ' ';
next::value(str);
}
};
@@ -292,7 +292,7 @@
{
static void value(std::string& str)
{
- str += base_unit_name_string(typename mpl::deref<Begin>::type());
+ str += base_unit_name_string(typename Begin::item());
};
};
};
@@ -318,8 +318,8 @@
{
static void value(std::string& str)
{
- str += mpl::deref<Begin>::type::name();
- scale_name_string_impl<N - 1>::template apply<typename mpl::next<Begin>::type>::value(str);
+ str += Begin::item::name();
+ scale_name_string_impl<N - 1>::template apply<typename Begin::next>::value(str);
}
};
};
@@ -476,13 +476,11 @@
struct format_raw_symbol_impl {
template<class Units>
void append_units_to(std::string& str) {
- detail::symbol_string_impl<mpl::size<Units>::value>::template apply<
- typename mpl::begin<Units>::type>::value(str);
+ detail::symbol_string_impl<Units::size::value>::template apply<Units>::value(str);
}
template<class Scale>
void append_scale_to(std::string& str) {
- detail::scale_symbol_string_impl<mpl::size<Scale>::value>::template apply<
- typename mpl::begin<Scale>::type>::value(str);
+ detail::scale_symbol_string_impl<Scale::size::value>::template apply<Scale>::value(str);
}
template<class Unit>
std::string operator()(const Unit& unit) {
@@ -508,13 +506,11 @@
struct format_raw_name_impl {
template<class Units>
void append_units_to(std::string& str) {
- detail::name_string_impl<mpl::size<Units>::value>::template apply<
- typename mpl::begin<Units>::type>::value(str);
+ detail::name_string_impl<(Units::size::value)>::template apply<Units>::value(str);
}
template<class Scale>
void append_scale_to(std::string& str) {
- detail::scale_name_string_impl<mpl::size<Scale>::value>::template apply<
- typename mpl::begin<Scale>::type>::value(str);
+ detail::scale_name_string_impl<Scale::size::value>::template apply<Scale>::value(str);
}
template<class Unit>
std::string operator()(const Unit& unit) {
Modified: branches/CMake/release/boost/units/lambda.hpp
==============================================================================
--- branches/CMake/release/boost/units/lambda.hpp (original)
+++ branches/CMake/release/boost/units/lambda.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -56,7 +56,7 @@
template<typename System, typename Dim, typename Arg>
struct multiply_typeof_helper<boost::units::unit<Dim, System>, boost::lambda::lambda_functor<Arg> > {
- typename boost::lambda::lambda_functor<
+ typedef boost::lambda::lambda_functor<
boost::lambda::lambda_functor_base<
boost::lambda::arithmetic_action<boost::lambda::multiply_action>,
tuple<typename boost::lambda::const_copy_argument<const boost::units::unit<Dim, System> >::type, boost::lambda::lambda_functor<Arg> >
Modified: branches/CMake/release/boost/units/make_system.hpp
==============================================================================
--- branches/CMake/release/boost/units/make_system.hpp (original)
+++ branches/CMake/release/boost/units/make_system.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -11,8 +11,6 @@
#ifndef BOOST_UNITS_MAKE_SYSTEM_HPP
#define BOOST_UNITS_MAKE_SYSTEM_HPP
-#include <boost/mpl/list/list10.hpp>
-
#include <boost/units/config.hpp>
#include <boost/units/dimensionless_type.hpp>
#include <boost/units/homogeneous_system.hpp>
@@ -77,55 +75,55 @@
template<class T0, class T1>
struct make_system<T0, T1, na, na, na, na, na, na, na, na>
{
- typedef homogeneous_system<typename detail::bubble_sort<mpl::list2<T0, T1> >::type> type;
+ typedef homogeneous_system<typename detail::insertion_sort<list<T0, list<T1, dimensionless_type> > >::type> type;
};
template<class T0, class T1, class T2>
struct make_system<T0, T1, T2, na, na, na, na, na, na, na>
{
- typedef homogeneous_system<typename detail::bubble_sort<mpl::list3<T0, T1, T2> >::type> type;
+ typedef homogeneous_system<typename detail::insertion_sort<list<T0, list<T1, list<T2, dimensionless_type> > > >::type> type;
};
template<class T0, class T1, class T2, class T3>
struct make_system<T0, T1, T2, T3, na, na, na, na, na, na>
{
- typedef homogeneous_system<typename detail::bubble_sort<mpl::list4<T0, T1, T2, T3> >::type> type;
+ typedef homogeneous_system<typename detail::insertion_sort<list<T0, list<T1, list<T2, list<T3, dimensionless_type> > > > >::type> type;
};
template<class T0, class T1, class T2, class T3, class T4>
struct make_system<T0, T1, T2, T3, T4, na, na, na, na, na>
{
- typedef homogeneous_system<typename detail::bubble_sort<mpl::list5<T0, T1, T2, T3, T4> >::type> type;
+ typedef homogeneous_system<typename detail::insertion_sort<list<T0, list<T1, list<T2, list<T3, list<T4, dimensionless_type> > > > > >::type> type;
};
template<class T0, class T1, class T2, class T3, class T4, class T5>
struct make_system<T0, T1, T2, T3, T4, T5, na, na, na, na>
{
- typedef homogeneous_system<typename detail::bubble_sort<mpl::list6<T0, T1, T2, T3, T4, T5> >::type> type;
+ typedef homogeneous_system<typename detail::insertion_sort<list<T0, list<T1, list<T2, list<T3, list<T4, list<T5, dimensionless_type> > > > > > >::type> type;
};
template<class T0, class T1, class T2, class T3, class T4, class T5, class T6>
struct make_system<T0, T1, T2, T3, T4, T5, T6, na, na, na>
{
- typedef homogeneous_system<typename detail::bubble_sort<mpl::list7<T0, T1, T2, T3, T4, T5, T6> >::type> type;
+ typedef homogeneous_system<typename detail::insertion_sort<list<T0, list<T1, list<T2, list<T3, list<T4, list<T5, list<T6, dimensionless_type> > > > > > > >::type> type;
};
template<class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7>
struct make_system<T0, T1, T2, T3, T4, T5, T6, T7, na, na>
{
- typedef homogeneous_system<typename detail::bubble_sort<mpl::list8<T0, T1, T2, T3, T4, T5, T6, T7> >::type> type;
+ typedef homogeneous_system<typename detail::insertion_sort<list<T0, list<T1, list<T2, list<T3, list<T4, list<T5, list<T6, list<T7, dimensionless_type> > > > > > > > >::type> type;
};
template<class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>
struct make_system<T0, T1, T2, T3, T4, T5, T6, T7, T8, na>
{
- typedef homogeneous_system<typename detail::bubble_sort<mpl::list9<T0, T1, T2, T3, T4, T5, T6, T7, T8> >::type> type;
+ typedef homogeneous_system<typename detail::insertion_sort<list<T0, list<T1, list<T2, list<T3, list<T4, list<T5, list<T6, list<T7, list<T8, dimensionless_type> > > > > > > > > >::type> type;
};
template<class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>
struct make_system
{
- typedef homogeneous_system<typename detail::bubble_sort<mpl::list10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> >::type> type;
+ typedef homogeneous_system<typename detail::insertion_sort<list<T0, list<T1, list<T2, list<T3, list<T4, list<T5, list<T6, list<T7, list<T8, list<T9, dimensionless_type> > > > > > > > > > >::type> type;
};
#endif
Modified: branches/CMake/release/boost/units/quantity.hpp
==============================================================================
--- branches/CMake/release/boost/units/quantity.hpp (original)
+++ branches/CMake/release/boost/units/quantity.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -107,6 +107,15 @@
BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
}
+ // Need to make sure that the destructor of
+ // Unit which contains the checking is instantiated,
+ // on sun.
+ #ifdef __SUNPRO_CC
+ ~quantity() {
+ unit_type force_unit_instantiation;
+ }
+ #endif
+
//~quantity() { }
this_type& operator=(const this_type& source)
@@ -314,6 +323,7 @@
return *this;
}
+
#ifndef BOOST_NO_SFINAE
/// implicit conversion between value types is allowed if allowed for value types themselves
@@ -358,14 +368,24 @@
return *this;
}
- #ifndef BOOST_NO_SFINAE
+ #if 1
/// implicit conversion between different unit systems is allowed
template<class System2, class Y2>
quantity(const quantity<unit<dimensionless_type, System2>,Y2>& source,
- typename boost::enable_if<detail::is_non_narrowing_conversion<Y2, Y>,
- typename detail::disable_if_is_same<System, System2>::type>::type* = 0,
- typename boost::enable_if<detail::is_dimensionless_system<System2> >::type* = 0) :
+ #ifdef __SUNPRO_CC
+ typename boost::enable_if<
+ boost::mpl::and_<
+ detail::is_non_narrowing_conversion<Y2, Y>,
+ detail::is_dimensionless_system<System2>
+ >
+ >::type* = 0
+ #else
+ typename boost::enable_if<detail::is_non_narrowing_conversion<Y2, Y> >::type* = 0,
+ typename detail::disable_if_is_same<System, System2>::type* = 0,
+ typename boost::enable_if<detail::is_dimensionless_system<System2> >::type* = 0
+ #endif
+ ) :
val_(source.value())
{
BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
@@ -374,9 +394,19 @@
/// implicit conversion between different unit systems is allowed
template<class System2, class Y2>
explicit quantity(const quantity<unit<dimensionless_type, System2>,Y2>& source,
- typename boost::disable_if<detail::is_non_narrowing_conversion<Y2, Y>,
- typename detail::disable_if_is_same<System, System2>::type>::type* = 0,
- typename boost::enable_if<detail::is_dimensionless_system<System2> >::type* = 0) :
+ #ifdef __SUNPRO_CC
+ typename boost::enable_if<
+ boost::mpl::and_<
+ boost::mpl::not_<detail::is_non_narrowing_conversion<Y2, Y> >,
+ detail::is_dimensionless_system<System2>
+ >
+ >::type* = 0
+ #else
+ typename boost::disable_if<detail::is_non_narrowing_conversion<Y2, Y> >::type* = 0,
+ typename detail::disable_if_is_same<System, System2>::type* = 0,
+ typename boost::enable_if<detail::is_dimensionless_system<System2> >::type* = 0
+ #endif
+ ) :
val_(static_cast<Y>(source.value()))
{
BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
@@ -404,6 +434,8 @@
{
BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(this_type, Y);
}
+
+ #ifndef __SUNPRO_CC
/// implicit assignment between different unit systems is allowed
template<class System2>
@@ -414,6 +446,8 @@
return *this;
}
+ #endif
+
/// implicit conversion to @c value_type is allowed
operator value_type() const { return val_; }
@@ -549,6 +583,28 @@
typedef quantity<unit_type,value_type> type;
};
+/// for sun CC we need to invoke SFINAE at
+/// the top level, otherwise it will silently
+/// return int.
+template<class Dim1, class System1,
+ class Dim2, class System2,
+ class X,
+ class Y>
+struct add_typeof_helper< quantity<unit<Dim1, System1>,X>,quantity<unit<Dim2, System2>,Y> >
+{
+};
+
+template<class Dim,
+ class System,
+ class X,
+ class Y>
+struct add_typeof_helper< quantity<unit<Dim, System>,X>,quantity<unit<Dim, System>,Y> >
+{
+ typedef typename add_typeof_helper<X,Y>::type value_type;
+ typedef unit<Dim, System> unit_type;
+ typedef quantity<unit_type,value_type> type;
+};
+
/// specialize subtract typeof helper
/// INTERNAL ONLY
template<class Unit1,
@@ -562,6 +618,26 @@
typedef quantity<unit_type,value_type> type;
};
+// Force adding different units to fail on sun.
+template<class Dim1, class System1,
+ class Dim2, class System2,
+ class X,
+ class Y>
+struct subtract_typeof_helper< quantity<unit<Dim1, System1>,X>,quantity<unit<Dim2, System2>,Y> >
+{
+};
+
+template<class Dim,
+ class System,
+ class X,
+ class Y>
+struct subtract_typeof_helper< quantity<unit<Dim, System>,X>,quantity<unit<Dim, System>,Y> >
+{
+ typedef typename subtract_typeof_helper<X,Y>::type value_type;
+ typedef unit<Dim, System> unit_type;
+ typedef quantity<unit_type,value_type> type;
+};
+
/// scalar times unit typeof helper
/// INTERNAL ONLY
template<class System,
Modified: branches/CMake/release/boost/units/unit.hpp
==============================================================================
--- branches/CMake/release/boost/units/unit.hpp (original)
+++ branches/CMake/release/boost/units/unit.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -13,6 +13,7 @@
#include <boost/static_assert.hpp>
#include <boost/mpl/bool.hpp>
+#include <boost/mpl/assert.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/units/config.hpp>
@@ -47,9 +48,20 @@
this_type& operator=(const this_type&) { }
+ // sun will ignore errors resulting from templates
+ // instantiated in the return type of a function.
+ // Make sure that we get an error anyway by putting.
+ // the check in the destructor.
+ #ifdef __SUNPRO_CC
+ ~unit() {
+ BOOST_MPL_ASSERT((detail::check_system<System, Dim>));
+ BOOST_MPL_ASSERT((is_dimension_list<Dim>));
+ }
+ #else
private:
- BOOST_STATIC_ASSERT((detail::check_system<System, Dim>::value == true));
- BOOST_STATIC_ASSERT((is_dimension_list<Dim>::value == true));
+ BOOST_MPL_ASSERT((detail::check_system<System, Dim>));
+ BOOST_MPL_ASSERT((is_dimension_list<Dim>));
+ #endif
};
}
@@ -105,28 +117,20 @@
/// unit add typeof helper
/// INTERNAL ONLY
-template<class Dim1,
- class Dim2,
+template<class Dim,
class System>
-struct add_typeof_helper< unit<Dim1,System>,unit<Dim2,System> >
+struct add_typeof_helper< unit<Dim,System>,unit<Dim,System> >
{
- // ensure dimension lists are commensurate
- BOOST_STATIC_ASSERT((is_same<Dim1,Dim2>::value == true));
-
- typedef unit<Dim1,System> type;
+ typedef unit<Dim,System> type;
};
/// unit subtract typeof helper
/// INTERNAL ONLY
-template<class Dim1,
- class Dim2,
+template<class Dim,
class System>
-struct subtract_typeof_helper< unit<Dim1,System>,unit<Dim2,System> >
+struct subtract_typeof_helper< unit<Dim,System>,unit<Dim,System> >
{
- // ensure dimension lists are commensurate
- BOOST_STATIC_ASSERT((is_same<Dim1,Dim2>::value == true));
-
- typedef unit<Dim1,System> type;
+ typedef unit<Dim,System> type;
};
/// unit multiply typeof helper for two identical homogeneous systems
Modified: branches/CMake/release/boost/wave/cpplexer/cpp_lex_token.hpp
==============================================================================
--- branches/CMake/release/boost/wave/cpplexer/cpp_lex_token.hpp (original)
+++ branches/CMake/release/boost/wave/cpplexer/cpp_lex_token.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -21,6 +21,7 @@
#include <boost/wave/token_ids.hpp>
#include <boost/wave/language_support.hpp>
+#include <boost/throw_exception.hpp>
#include <boost/pool/singleton_pool.hpp>
// this must occur after all of the includes and before any code appears
@@ -147,7 +148,7 @@
void *ret = pool_type::malloc();
if (0 == ret)
- throw std::bad_alloc();
+ boost::throw_exception(std::bad_alloc());
return ret;
}
Modified: branches/CMake/release/boost/wave/grammars/cpp_expression_grammar.hpp
==============================================================================
--- branches/CMake/release/boost/wave/grammars/cpp_expression_grammar.hpp (original)
+++ branches/CMake/release/boost/wave/grammars/cpp_expression_grammar.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -755,7 +755,10 @@
parse_info<iterator_type> hit(first);
closure_value result; // expression result
- try {
+#if !defined(BOOST_NO_EXCEPTIONS)
+ try
+#endif
+ {
expression_grammar g; // expression grammar
hit = parse (first, last, g[spirit_assign_actor(result)],
ch_p(T_SPACE) | ch_p(T_CCOMMENT) | ch_p(T_CPPCOMMENT));
@@ -768,6 +771,7 @@
expression = "<empty expression>";
BOOST_WAVE_THROW(preprocess_exception, ill_formed_expression,
expression.c_str(), act_pos);
+ return false;
}
else {
// as the if_block_status is false no errors will be reported
@@ -775,17 +779,20 @@
}
}
}
+#if !defined(BOOST_NO_EXCEPTIONS)
catch (boost::wave::preprocess_exception const& e) {
// expression is illformed
if (if_block_status) {
boost::throw_exception(e);
+ return false;
}
- else {
+ else {
// as the if_block_status is false no errors will be reported
return false;
}
}
-
+#endif
+
if (!hit.full) {
// The token list starts with a valid expression, but there remains
// something. If the remainder consists out of whitespace only, the
@@ -812,6 +819,7 @@
expression = "<empty expression>";
BOOST_WAVE_THROW(preprocess_exception, ill_formed_expression,
expression.c_str(), act_pos);
+ return false;
}
else {
// as the if_block_status is false no errors will be reported
Modified: branches/CMake/release/boost/weak_ptr.hpp
==============================================================================
--- branches/CMake/release/boost/weak_ptr.hpp (original)
+++ branches/CMake/release/boost/weak_ptr.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -61,13 +61,31 @@
//
template<class Y>
- weak_ptr(weak_ptr<Y> const & r): pn(r.pn) // never throws
+#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
+
+ weak_ptr( weak_ptr<Y> const & r, typename detail::sp_enable_if_convertible<Y,T>::type = detail::sp_empty() )
+
+#else
+
+ weak_ptr( weak_ptr<Y> const & r )
+
+#endif
+ : pn(r.pn) // never throws
{
px = r.lock().get();
}
template<class Y>
- weak_ptr(shared_ptr<Y> const & r): px(r.px), pn(r.pn) // never throws
+#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
+
+ weak_ptr( shared_ptr<Y> const & r, typename detail::sp_enable_if_convertible<Y,T>::type = detail::sp_empty() )
+
+#else
+
+ weak_ptr( shared_ptr<Y> const & r )
+
+#endif
+ : px( r.px ), pn( r.pn ) // never throws
{
}
@@ -93,31 +111,7 @@
shared_ptr<T> lock() const // never throws
{
-#if defined(BOOST_HAS_THREADS)
-
- // optimization: avoid throw overhead
- if(expired())
- {
- return shared_ptr<element_type>();
- }
-
- try
- {
- return shared_ptr<element_type>(*this);
- }
- catch(bad_weak_ptr const &)
- {
- // Q: how can we get here?
- // A: another thread may have invalidated r after the use_count test above.
- return shared_ptr<element_type>();
- }
-
-#else
-
- // optimization: avoid try/catch overhead when single threaded
- return expired()? shared_ptr<element_type>(): shared_ptr<element_type>(*this);
-
-#endif
+ return shared_ptr<element_type>( *this, boost::detail::sp_nothrow_tag() );
}
long use_count() const // never throws
Modified: branches/CMake/release/libs/any/test.hpp
==============================================================================
--- branches/CMake/release/libs/any/test.hpp (original)
+++ branches/CMake/release/libs/any/test.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -232,7 +232,12 @@
template<typename test_iterator>
bool tester<test_iterator>::operator()()
{
- using namespace std;
+ using std::cerr;
+ using std::endl;
+ using std::ends;
+ using std::exception;
+ using std::flush;
+ using std::string;
unsigned long passed = 0, failed = 0, unimplemented = 0;
@@ -251,9 +256,9 @@
unsigned long allocated = allocations::instance().allocated();
unsigned long deallocated = allocations::instance().deallocated();
#ifdef BOOST_NO_STRINGSTREAM
- ostrstream report;
+ std::ostrstream report;
#else
- ostringstream report;
+ std::ostringstream report;
#endif
report << "new/delete ("
<< allocated << " allocated, "
Modified: branches/CMake/release/libs/asio/doc/Jamfile.v2
==============================================================================
--- branches/CMake/release/libs/asio/doc/Jamfile.v2 (original)
+++ branches/CMake/release/libs/asio/doc/Jamfile.v2 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -24,14 +24,14 @@
install images
:
- design/proactor.png
+ overview/proactor.png
:
<location>html/boost_asio
;
local example-names = allocation buffers chat echo http/client http/server
- http/server2 http/server3 invocation iostreams multicast serialization
- services socks4 ssl timeouts timers ;
+ http/server2 http/server3 invocation iostreams local multicast nonblocking
+ porthopper serialization services socks4 ssl timeouts timers ;
for local l in $(example-names)
{
@@ -66,7 +66,7 @@
install asio_doc_images
:
- design/proactor.png
+ overview/proactor.png
:
<location>$(BOOST_ROOT)/doc/html/boost_asio
;
Modified: branches/CMake/release/libs/asio/doc/asio.qbk
==============================================================================
--- branches/CMake/release/libs/asio/doc/asio.qbk (original)
+++ branches/CMake/release/libs/asio/doc/asio.qbk 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -37,13 +37,21 @@
[/=============================================================================]
-Boost.Asio is a cross-platform C++ library for network programming that
-provides developers with a consistent asynchronous I/O model using a modern C++
-approach.
+Boost.Asio is a cross-platform C++ library for network and low-level I/O
+programming that provides developers with a consistent asynchronous model using
+a modern C++ approach.
[variablelist
[
[
+ [link boost_asio.overview Overview]
+ ]
+ [
+ An overview of the features included in Boost.Asio, plus rationale and design information.
+ ]
+ ]
+ [
+ [
[link boost_asio.using Using Boost.Asio]
]
[
@@ -80,16 +88,17 @@
]
[
[
- [link boost_asio.design Design]
+ [link boost_asio.index Index]
]
[
- Rationale and design information for Boost.Asio.
+ Book-style text index of Boost.Asio documentation.
]
]
]
+[include overview.qbk]
[include using.qbk]
[include tutorial.qbk]
[include examples.qbk]
[include reference.qbk]
-[include design.qbk]
+[xinclude index.xml]
Deleted: branches/CMake/release/libs/asio/doc/design.qbk
==============================================================================
--- branches/CMake/release/libs/asio/doc/design.qbk 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
+++ (empty file)
@@ -1,104 +0,0 @@
-[/
- / Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
- /
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- /]
-
-[section:design Design Notes]
-
-[variablelist
- [
- [
- [link boost_asio.design.rationale Rationale]
- ]
- [
- Design rationale for the Boost.Asio library.
- ]
- ]
- [
- [
- [link boost_asio.design.async Asynchronous operations]
- ]
- [
- Support for asynchronous operations in the Boost.Asio library is based on
- the Proactor pattern. This design note outlines the advantages and
- disadvantages of this approach.
- ]
- ]
- [
- [
- [link boost_asio.design.allocation Custom memory allocation]
- ]
- [
- Describes the custom memory allocation support in Boost.Asio.
- ]
- ]
- [
- [
- [link boost_asio.design.buffers Buffers]
- ]
- [
- Examines the buffer abstraction used by asio in order to support
- scatter-gather operations.
- ]
- ]
- [
- [
- [link boost_asio.design.eof Why EOF is an error]
- ]
- [
- Discusses why the end-of-file condition should be an error code.
- ]
- ]
- [
- [
- [link boost_asio.design.line_based Line-based protocols]
- ]
- [
- Outlines Boost.Asio's support for line-based protocols.
- ]
- ]
- [
- [
- [link boost_asio.design.threads Threads]
- ]
- [
- An implementation of Boost.Asio for a particular platform may make use of
- one or more additional threads to emulate asynchronicity. This design
- note discusses design rules applied to the use of threads in this way.
- ]
- ]
- [
- [
- [link boost_asio.design.strands Strands]
- ]
- [
- Describes the "strand" abstraction provided by Boost.Asio to ease
- concurrent programming and provide scalability across multiple
- processors.
- ]
- ]
- [
- [
- [link boost_asio.design.implementation Platform-specific implementation]
- ]
- [
- This design note lists platform-specific implementation details, such as
- the default demultiplexing mechanism, the number of threads created
- internally, and when threads are created.
- ]
- ]
-]
-
-[include design/rationale.qbk]
-[include design/async.qbk]
-[include design/allocation.qbk]
-[include design/buffers.qbk]
-[include design/eof.qbk]
-[include design/line_based.qbk]
-[include design/threads.qbk]
-[include design/strands.qbk]
-[include design/implementation.qbk]
-
-[endsect]
Modified: branches/CMake/release/libs/asio/doc/examples.qbk
==============================================================================
--- branches/CMake/release/libs/asio/doc/examples.qbk (original)
+++ branches/CMake/release/libs/asio/doc/examples.qbk 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -219,4 +219,31 @@
* [@boost_asio/example/timers/time_t_timer.cpp]
+[heading Porthopper]
+
+Example illustrating mixed synchronous and asynchronous operations, and how to
+use Boost.Lambda with Boost.Asio.
+
+* [@boost_asio/example/porthopper/protocol.hpp]
+* [@boost_asio/example/porthopper/client.cpp]
+* [@boost_asio/example/porthopper/server.cpp]
+
+
+[heading Nonblocking]
+
+Example demonstrating reactor-style operations for integrating a third-party
+library that wants to perform the I/O operations itself.
+
+* [@boost_asio/example/nonblocking/third_party_lib.cpp]
+
+
+[heading UNIX Domain Sockets]
+
+Examples showing how to use UNIX domain (local) sockets.
+
+* [@boost_asio/example/local/connect_pair.cpp]
+* [@boost_asio/example/local/stream_server.cpp]
+* [@boost_asio/example/local/stream_client.cpp]
+
+
[endsect]
Modified: branches/CMake/release/libs/asio/doc/reference.qbk
==============================================================================
--- branches/CMake/release/libs/asio/doc/reference.qbk (original)
+++ branches/CMake/release/libs/asio/doc/reference.qbk 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -11,6 +11,8 @@
[include requirements/asynchronous_operations.qbk]
[include requirements/AcceptHandler.qbk]
+[include requirements/AsyncRandomAccessReadDevice.qbk]
+[include requirements/AsyncRandomAccessWriteDevice.qbk]
[include requirements/AsyncReadStream.qbk]
[include requirements/AsyncWriteStream.qbk]
[include requirements/CompletionHandler.qbk]
@@ -21,6 +23,7 @@
[include requirements/DatagramSocketService.qbk]
[include requirements/DescriptorService.qbk]
[include requirements/Endpoint.qbk]
+[include requirements/GettableSerialPortOption.qbk]
[include requirements/GettableSocketOption.qbk]
[include requirements/Handler.qbk]
[include requirements/HandleService.qbk]
@@ -29,16 +32,22 @@
[include requirements/IoObjectService.qbk]
[include requirements/MutableBufferSequence.qbk]
[include requirements/Protocol.qbk]
+[include requirements/RandomAccessHandleService.qbk]
+[include requirements/RawSocketService.qbk]
[include requirements/ReadHandler.qbk]
[include requirements/ResolveHandler.qbk]
[include requirements/ResolverService.qbk]
+[include requirements/SerialPortService.qbk]
[include requirements/Service.qbk]
+[include requirements/SettableSerialPortOption.qbk]
[include requirements/SettableSocketOption.qbk]
[include requirements/SocketAcceptorService.qbk]
[include requirements/SocketService.qbk]
[include requirements/StreamDescriptorService.qbk]
[include requirements/StreamHandleService.qbk]
[include requirements/StreamSocketService.qbk]
+[include requirements/SyncRandomAccessReadDevice.qbk]
+[include requirements/SyncRandomAccessWriteDevice.qbk]
[include requirements/SyncReadStream.qbk]
[include requirements/SyncWriteStream.qbk]
[include requirements/TimeTraits.qbk]
Modified: branches/CMake/release/libs/asio/doc/reference.xsl
==============================================================================
--- branches/CMake/release/libs/asio/doc/reference.xsl (original)
+++ branches/CMake/release/libs/asio/doc/reference.xsl 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -37,6 +37,8 @@
[include requirements/asynchronous_operations.qbk]
[include requirements/AcceptHandler.qbk]
+[include requirements/AsyncRandomAccessReadDevice.qbk]
+[include requirements/AsyncRandomAccessWriteDevice.qbk]
[include requirements/AsyncReadStream.qbk]
[include requirements/AsyncWriteStream.qbk]
[include requirements/CompletionHandler.qbk]
@@ -46,6 +48,7 @@
[include requirements/ConvertibleToMutableBuffer.qbk]
[include requirements/DatagramSocketService.qbk]
[include requirements/Endpoint.qbk]
+[include requirements/GettableSerialPortOption.qbk]
[include requirements/GettableSocketOption.qbk]
[include requirements/Handler.qbk]
[include requirements/InternetProtocol.qbk]
@@ -53,14 +56,20 @@
[include requirements/IoObjectService.qbk]
[include requirements/MutableBufferSequence.qbk]
[include requirements/Protocol.qbk]
+[include requirements/RandomAccessHandleService.qbk]
+[include requirements/RawSocketService.qbk]
[include requirements/ReadHandler.qbk]
[include requirements/ResolveHandler.qbk]
[include requirements/ResolverService.qbk]
+[include requirements/SerialPortService.qbk]
[include requirements/Service.qbk]
+[include requirements/SettableSerialPortOption.qbk]
[include requirements/SettableSocketOption.qbk]
[include requirements/SocketAcceptorService.qbk]
[include requirements/SocketService.qbk]
[include requirements/StreamSocketService.qbk]
+[include requirements/SyncRandomAccessReadDevice.qbk]
+[include requirements/SyncRandomAccessWriteDevice.qbk]
[include requirements/SyncReadStream.qbk]
[include requirements/SyncWriteStream.qbk]
[include requirements/TimeTraits.qbk]
Modified: branches/CMake/release/libs/asio/doc/using.qbk
==============================================================================
--- branches/CMake/release/libs/asio/doc/using.qbk (original)
+++ branches/CMake/release/libs/asio/doc/using.qbk 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -257,4 +257,11 @@
]
]
+[heading Mailing List]
+
+A mailing list specifically for Boost.Asio may be found on
+[@http://sourceforge.net/mail/?group_id=122478 SourceForge.net]. Newsgroup
+access is provided via [@http://dir.gmane.org/gmane.comp.lib.boost.asio.user
+Gmane].
+
[endsect]
Modified: branches/CMake/release/libs/assign/doc/index.html
==============================================================================
--- branches/CMake/release/libs/assign/doc/index.html (original)
+++ branches/CMake/release/libs/assign/doc/index.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -37,7 +37,7 @@
<li>Function list_of()
<li>Function map_list_of()
<li>Function tuple_list_of()
- <li>Functions repeat()
, repeat_fun()
and range()
+ <li>Functions repeat()
, repeat_fun()
and range()
<li>Functions ref_list_of()
and cref_list_of()
<li>A "complicated" example
<li>Functions <a href="#ptr_push_back"><code>ptr_push_back(), ptr_push_front()</code>,
@@ -51,7 +51,7 @@
<li>Standard containers </li>
<li>Functions list_of()
and map_list_of()
</li>
<li>Functions <a href="#repeat_ref"><code>repeat()</code>,
- <code>repeat_fun()</code> and <code>range()</code> </a> </li>
+ <code>repeat_fun()</code> and <code>range()</code> </a> </li>
<li>Class list_inserter
</li>
<li>Function make_list_inserter()
</li>
<li> Customizing argument list sizes</li>
@@ -285,7 +285,15 @@
Please notice that <code>list_of()</code> can even convert to a
<code>boost::<a
href="../../array/index.html">array</a><T,sz></code> and see also the list
-of supported libraries .
+of supported libraries . </p>
+ <p>
+ Note that the type returned by
+ <code>list_of()</code> (and its variants) has overloaded comparison operators. This allows you to
+ write test code such as
+ <code>
+ BOOST_CHECK_EQUAL( my_container, list_of(2)(3)(4)(5) );.
+ </code>
+ </p>
<h3>Function <code>map_list_of()</code> <a name="map_list_of"></h3>
This function is defined for pure convenience when working with
@@ -720,8 +728,8 @@
<li>Standard containers </li>
<li>Functions list_of()
and map_list_of()
</li>
<li>Functions <a href="#repeat_ref"><code>repeat()</code>,<code>repeat_fun()</code> and
- <code>range()</code>
- </a></li>
+ <code>range()</code>
+ </a></li>
<li>Class list_inserter
</li>
<li>Function make_list_inserter()
</li>
<li>Customizing argument list sizes </li>
@@ -926,9 +934,17 @@
//
</span><span class=keyword>template</span><span class=special>< </span><span class=keyword>template </span><span class=special><</span><span class=keyword>class</span><span class=special>,</span><span class=identifier>std</span><span class=special>::</span><span class=identifier>size_t</span><span class=special>> </span><span class=keyword>class </span><span class=identifier>Array</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>U</span><span class=special>, </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>size_t </span><span class=identifier>sz </span><span class=special>>
</span><span class=keyword>operator </span><span class=identifier>Array</span><span class=special><</span><span class=identifier>U</span><span class=special>,</span><span class=identifier>sz</span><span class=special>>() </span><span class=keyword>const</span><span class=special>;
- </span><span class=special>};
+ </span><span class=special>};</span>
- </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>T </span><span class=special>>
+ <span class=comment>//
+ // Comparison operators. 'op' can be <,>,<=,>=,==,!=
+ //</span>
+ <span class=keyword>template</span><span class=special><</span> <span class=keyword>class</span> <span class=identifier>Range</span> <span class=special>></span>
+ <span class=keyword>bool</span> <span class=identifier>op</span><span class=special>(</span> <span class=keyword>const</span> <span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span><span class=special>&,</span> <span class=keyword>const</span> <span class=identifier>Range</span><span class=special>&</span> <span class=special>);</span>
+ <span class=keyword>template</span><span class=special><</span> <span class=keyword>class</span> <span class=identifier>Range</span> <span class=special>></span>
+ <span class=keyword>bool</span> <span class=identifier>op</span><span class=special>(</span> <span class=keyword>const</span> <span class=identifier>Range</span><span class=special>&,</span> <span class=keyword>const</span> <span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span><span class=special>&</span> <span class=special>);</span>
+
+ <span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>T </span><span class=special>>
</span><span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span> </span><span class=identifier>list_of</span><span class=special>(</span><span class=special>);
</span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>T </span><span class=special>>
@@ -969,7 +985,7 @@
<li> the argument list of <code>repeat_fun()</code> is <code>(std::size_t,Nullary_function)</code>
</ul>
- </p>
+ </p>
<p>
The function <code>range()</code> only exists as a member function. The following two overloads are provided:
<blockquote>
Modified: branches/CMake/release/libs/config/doc/guidelines.qbk
==============================================================================
--- branches/CMake/release/libs/config/doc/guidelines.qbk (original)
+++ branches/CMake/release/libs/config/doc/guidelines.qbk 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -59,10 +59,36 @@
majority of compilers, such as namespaces, exceptions, RTTI, or templates.
+[section:warnings Disabling Compiler Warnings]
+
+The header `<boost/config/warning_disable.hpp>` can be used to disable
+certain compiler warings that are hard or impossible to otherwise remove.
+
+Note that:
+
+* This header [*['should never be included by another Boost header]], it should
+only ever be used by a library source file or a test case.
+* The header should be included [*['before you include any other header]].
+* This header only disables warnings that are hard or impossible to otherwise
+ deal with, and which are typically emitted by one compiler only, or
+ in one compilers own standard library headers.
+
+Currently it disables the following warnings:
+
+[table
+[[Compiler][Warning]]
+[[Visual C++ 8 and later][[@http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx C4996]: Error 'function': was declared deprecated]]
+[[Intel C++][Warning 1786: relates to the use of "deprecated" standard
+ library functions rather like C4996 in Visual C++.]]
+]
+
+[endsect]
+
+
[section Adding New Defect Macros]
-When you need to add a new defect macro -either to fix a problem with an
-existing library, or when adding a new library- distil the issue down to
+When you need to add a new defect macro - either to fix a problem with an
+existing library, or when adding a new library - distil the issue down to
a simple test case; often, at this point other (possibly better) workarounds
may become apparent. Secondly always post the test case code to the boost
mailing list and invite comments; remember that C++ is complex and that
@@ -81,7 +107,7 @@
These comments are processed by the autoconf script, so make sure the format
follows the one given. The file should be named "`boost_no_foo.ipp`", where foo
-is the defect description -try and keep the file name under the Mac 30 character
+is the defect description - try and keep the file name under the Mac 30 character
filename limit though. You will also need to provide a function prototype
"`int test()`" that is declared in a namespace with the same name as the macro,
but in all lower case, and which returns zero on success:
@@ -100,15 +126,15 @@
Once the test code is in place in libs/config/test, updating the configuration
test system proceeds as:
-* cd into `libs/config/tools` and run `bjam --v2` : this generates the `.cpp`
-file test cases from the `.ipp` file, updates the Jamfile, `config_test.cpp` and
-`config_info.cpp`.
-* cd into `libs/config/test` and run `bjam --v2 `['MACRONAME]` compiler-list` : where
-['MACRONAME] is the name of the new macro, and `compiler-list` is the list of
+* cd into `libs/config/tools` and run `bjam` : this generates the `.cpp`
+file test cases from the `.ipp` file, updates the
+libs/config/test/all/Jamfile.v2, `config_test.cpp` and `config_info.cpp`.
+* cd into `libs/config/test/all` and run `bjam `['MACRONAME` compiler-list`] : where
+['MACRONAME] is the name of the new macro, and ['`compiler-list`] is a space separated list of
compilers to test with. You should see the tests pass with those compilers
that don't have the defect, and fail with those that do.
-* cd into `libs/config/test` and `run bjam --v2 config_info config_test compiler-list` :
-`config_info` should build and run cleanly for all the compilers in `compiler-list`
+* cd into `libs/config/test` and run `bjam config_info config_test `['`compiler-list`] :
+`config_info` should build and run cleanly for all the compilers in ['`compiler-list`]
while `config_test` should fail for those that have the defect, and pass for those
that do not.
@@ -168,7 +194,7 @@
compiler/standard library/platform is added.
The compiler/platform/standard library selection code is set up so that unknown
-platforms are ignored and assumed to be fully standards compliant -this gives
+platforms are ignored and assumed to be fully standards compliant - this gives
unknown platforms a "sporting chance" of working "as is" even without running
the configure script.
Modified: branches/CMake/release/libs/config/doc/html/HTML.manifest
==============================================================================
--- branches/CMake/release/libs/config/doc/html/HTML.manifest (original)
+++ branches/CMake/release/libs/config/doc/html/HTML.manifest 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
-index.html
-boost_config/boost_macro_reference.html
-boost_config/guidelines_for_boost_authors.html
-boost_config/rationale.html
-boost_config/acknowledgements.html
+index.html
+boost_config/boost_macro_reference.html
+boost_config/guidelines_for_boost_authors.html
+boost_config/rationale.html
+boost_config/acknowledgements.html
Modified: branches/CMake/release/libs/config/doc/html/boost_config/acknowledgements.html
==============================================================================
--- branches/CMake/release/libs/config/doc/html/boost_config/acknowledgements.html (original)
+++ branches/CMake/release/libs/config/doc/html/boost_config/acknowledgements.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -13,8 +13,8 @@
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center">Home</td>
<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
<td align="center">More</td>
</tr></table>
<hr>
Modified: branches/CMake/release/libs/config/doc/html/boost_config/boost_macro_reference.html
==============================================================================
--- branches/CMake/release/libs/config/doc/html/boost_config/boost_macro_reference.html (original)
+++ branches/CMake/release/libs/config/doc/html/boost_config/boost_macro_reference.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -14,8 +14,8 @@
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center">Home</td>
<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
<td align="center">More</td>
</tr></table>
<hr>
@@ -31,8 +31,10 @@
that describe defects</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features">Macros
that describe optional features</a></span></dt>
-<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features">Macros
- that describe C++0x features</a></span></dt>
+<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features">Macros
+ that describe possible C++0x features</a></span></dt>
+<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported">Macros
+ that describe C++0x features not supported</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros">Boost
Helper Macros</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros">Boost
@@ -119,6 +121,24 @@
<tr>
<td>
<p>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_ADL_BARRIER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Compiler
+ </p>
+ </td>
+<td>
+ <p>
+ The compiler locates and searches namespaces that it should <span class="emphasis"><em>*not*</em></span>
+ in fact search when performing argument dependent lookup.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP</span></code>
</p>
</td>
@@ -258,8 +278,7 @@
The compiler fails to compile a nested class that has a dependent
base class:
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
<span class="keyword">struct</span> <span class="identifier">foo</span> <span class="special">:</span> <span class="special">{</span>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">></span>
<span class="keyword">struct</span> <span class="identifier">bar</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">U</span> <span class="special">{};</span>
@@ -285,8 +304,7 @@
Template value parameters cannot have a dependent type, for example:
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">value</span><span class="special">></span>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">value</span><span class="special">></span>
<span class="keyword">class</span> <span class="identifier">X</span> <span class="special">{</span> <span class="special">...</span> <span class="special">};</span>
</pre>
<p>
@@ -367,8 +385,7 @@
The compiler does not perform function template ordering or its function
template ordering is incorrect.
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<span class="comment">// #1
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="comment">// #1
</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">T</span><span class="special">);</span>
<span class="comment">// #2
@@ -655,6 +672,24 @@
<tr>
<td>
<p>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Compiler
+ </p>
+ </td>
+<td>
+ <p>
+ The compiler does not correctly handle partial specializations which
+ depend upon default arguments in the primary template.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_POINTER_TO_MEMBER_CONST</span></code>
</p>
</td>
@@ -1014,6 +1049,23 @@
<tr>
<td>
<p>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATED_IOSTREAMS</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Standard library
+ </p>
+ </td>
+<td>
+ <p>
+ The standard library does not provide templated iostream classes.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS</span></code>
</p>
</td>
@@ -1138,8 +1190,7 @@
The compiler does not allow a void function to return the result
of calling another void function.
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<span class="keyword">void</span> <span class="identifier">f</span><span class="special">()</span> <span class="special">{}</span>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">()</span> <span class="special">{}</span>
<span class="keyword">void</span> <span class="identifier">g</span><span class="special">()</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">f</span><span class="special">();</span> <span class="special">}</span>
</pre>
<p>
@@ -2061,17 +2112,59 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.boost_macro_reference.macros_that_describe_c__0x_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features" title="Macros that describe C++0x features">Macros
- that describe C++0x features</a>
+<a name="boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features" title="Macros that describe possible C++0x features">Macros
+ that describe possible C++0x features</a>
</h3></div></div></div>
<p>
The following macros describe features that are likely to be included in
- the upcoming ISO C++ standard, C++0x.
+ the upcoming ISO C++ standard, C++0x, but have not yet been approved for
+ inclusion in the language.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Macro
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_HAS_CONCEPTS</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The compiler supports concepts.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported" title="Macros that describe C++0x features not supported">Macros
+ that describe C++0x features not supported</a>
+</h3></div></div></div>
+<p>
+ The following macros describe features in the upcoming ISO C++ standard,
+ C++0x, that are not yet supported by a particular compiler.
</p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
+<col>
</colgroup>
<thead><tr>
<th>
@@ -2084,78 +2177,190 @@
Description
</p>
</th>
+<td class="auto-generated"> </td>
</tr></thead>
<tbody>
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">BOOST_HAS_CONCEPTS</span></code>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_CHAR16_T</span></code>
</p>
</td>
<td>
<p>
- The compiler supports concepts. Note: concepts have been proposed
- for C++0x, but have not yet been approved for inclusion in the language.
+ The compiler does not support type <code class="computeroutput"><span class="identifier">char16_t</span></code>.
</p>
</td>
+<td class="auto-generated"> </td>
</tr>
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">BOOST_HAS_DECLTYPE</span></code>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_CHAR32_T</span></code>
</p>
</td>
<td>
<p>
- The compiler supports decltype.
+ The compiler does not support type <code class="computeroutput"><span class="identifier">char32_t</span></code>.
</p>
</td>
+<td class="auto-generated"> </td>
</tr>
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">BOOST_HAS_LONG_LONG</span></code>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_CONSTEXPR</span></code>
</p>
</td>
<td>
<p>
- The compiler supports the long long data type.
+ The compiler does not support <code class="computeroutput"><span class="identifier">constexpr</span></code>.
</p>
</td>
+<td class="auto-generated"> </td>
</tr>
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">BOOST_HAS_RVALUE_REFS</span></code>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_DECLTYPE</span></code>
</p>
</td>
<td>
<p>
- The compiler supports rvalue references.
+ The compiler does not support <code class="computeroutput"><span class="identifier">decltype</span></code>.
</p>
</td>
+<td class="auto-generated"> </td>
</tr>
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">BOOST_HAS_STATIC_ASSERT</span></code>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_DEFAULTED_FUNCTIONS</span></code>
</p>
</td>
<td>
<p>
- The compiler supports static assertions.
+ The compiler does not support defaulted (<code class="computeroutput"><span class="special">=</span>
+ <span class="keyword">default</span></code>) functions. [[<code class="computeroutput"><span class="identifier">BOOST_NO_DELETED_FUNCTIONS</span></code>
</p>
</td>
+<td>
+ <p>
+ The compiler does not support deleted (<code class="computeroutput"><span class="special">=</span>
+ <span class="keyword">delete</span></code>) functions.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_EXPLICIT_CONVERSION_OPERATIONS</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The compiler does not support explicit conversion operators (<code class="computeroutput"><span class="keyword">explicit</span> <span class="keyword">operator</span>
+ <span class="identifier">T</span><span class="special">()</span></code>).
+ </p>
+ </td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_EXTERN_TEMPLATE</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The compiler does not support explicit instantiation declarations
+ for templates (<code class="computeroutput"><span class="keyword">explicit</span> <span class="keyword">template</span></code>).
+ </p>
+ </td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_LONG_LONG</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The compiler does not support <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">long</span></code>.
+ </p>
+ </td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_RAW_LITERALS</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The compiler does not support raw string literals.
+ </p>
+ </td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_RVALUE_REFERENCES</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The compiler does not support r-value references.
+ </p>
+ </td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_SCOPED_ENUMS</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The compiler does not support scoped enumerations (<code class="computeroutput"><span class="keyword">enum</span> <span class="keyword">class</span></code>).
+ </p>
+ </td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_STATIC_ASSERT</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The compiler does not support <code class="computeroutput"><span class="identifier">static_assert</span></code>.
+ </p>
+ </td>
+<td class="auto-generated"> </td>
</tr>
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">BOOST_HAS_VARIADIC_TMPL</span></code>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_UNICODE_LITERALS</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The compiler does not support Unicode (<code class="computeroutput"><span class="identifier">u8</span></code>,
+ <code class="computeroutput"><span class="identifier">u</span></code>, <code class="computeroutput"><span class="identifier">U</span>#<span class="special">)</span> <span class="identifier">literals</span><span class="special">.</span>
+ <span class="special">]]</span> <span class="special">[[</span></code>BOOST_NO_VARIADIC_TEMPLATES`
</p>
</td>
<td>
<p>
- The compiler supports variadic templates.
+ The compiler does not support variadic templates.
</p>
</td>
</tr>
@@ -2280,16 +2485,14 @@
us a convenient way to declare such constants. For example instead
of:
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<span class="keyword">struct</span> <span class="identifier">foo</span><span class="special">{</span>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">struct</span> <span class="identifier">foo</span><span class="special">{</span>
<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<p>
use:
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<span class="keyword">struct</span> <span class="identifier">foo</span><span class="special">{</span>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">struct</span> <span class="identifier">foo</span><span class="special">{</span>
<span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">2</span><span class="special">);</span>
<span class="special">};</span>
</pre>
@@ -2322,8 +2525,7 @@
instantiations if some of the template parameters don't appear in
the function parameter list. For instance:
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">ostream</span><span class="special">></span>
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">typeinfo</span><span class="special">></span>
@@ -2347,8 +2549,7 @@
problem without effects on the calling syntax. For instance, in the
case above write:
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">></span>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">></span>
<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">BOOST_EXPLICIT_TEMPLATE_NON_TYPE</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">n</span><span class="special">))</span> <span class="special">{</span> <span class="special">...</span> <span class="special">}</span>
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
@@ -2742,8 +2943,7 @@
<p>
<span class="bold"><strong>my_library.hpp</strong></span>
</p>
-<pre class="programlisting">
-<span class="preprocessor">#ifndef</span> <span class="identifier">MY_INCLUDE_GUARD</span>
+<pre class="programlisting"><span class="preprocessor">#ifndef</span> <span class="identifier">MY_INCLUDE_GUARD</span>
<span class="preprocessor">#define</span> <span class="identifier">MY_INCLUDE_GUARD</span>
<span class="comment">// all includes go here:
@@ -2765,8 +2965,7 @@
<p>
<span class="bold"><strong>my_library.cpp</strong></span>
</p>
-<pre class="programlisting">
-<span class="special">...</span>
+<pre class="programlisting"><span class="special">...</span>
<span class="comment">// nothing special need be done in the implementation file
</span><span class="special">...</span>
</pre>
@@ -2831,8 +3030,7 @@
<p>
<span class="bold"><strong>my_library.hpp</strong></span>
</p>
-<pre class="programlisting">
-<span class="special">...</span>
+<pre class="programlisting"><span class="special">...</span>
<span class="comment">//
</span><span class="comment">// Don't include auto-linking code if the user has disabled it by
</span><span class="comment">// defining BOOST_ALL_NO_LIB, or BOOST_MY_LIBRARY_NO_LIB, or if this
@@ -2850,8 +3048,7 @@
<p>
<span class="bold"><strong>my_library.cpp</strong></span>
</p>
-<pre class="programlisting">
-<span class="comment">// define BOOST_MY_LIBRARY_SOURCE so that the header knows that the
+<pre class="programlisting"><span class="comment">// define BOOST_MY_LIBRARY_SOURCE so that the header knows that the
</span><span class="comment">// library is being built (possibly exporting rather than importing code)
</span><span class="comment">//
</span><span class="preprocessor">#define</span> <span class="identifier">BOOST_MY_LIBRARY_SOURCE</span>
Modified: branches/CMake/release/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html
==============================================================================
--- branches/CMake/release/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html (original)
+++ branches/CMake/release/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -14,8 +14,8 @@
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center">Home</td>
<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
<td align="center">More</td>
</tr></table>
<hr>
@@ -28,6 +28,8 @@
Boost Authors</a>
</h2></div></div></div>
<div class="toc"><dl>
+<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings">
+ Disabling Compiler Warnings</a></span></dt>
<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros">Adding
New Defect Macros</a></span></dt>
<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros">Adding
@@ -103,12 +105,91 @@
</ul></div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_config.guidelines_for_boost_authors.warnings"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings" title="Disabling Compiler Warnings">
+ Disabling Compiler Warnings</a>
+</h3></div></div></div>
+<p>
+ The header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">warning_disable</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
+ can be used to disable certain compiler warings that are hard or impossible
+ to otherwise remove.
+ </p>
+<p>
+ Note that:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ This header <span class="bold"><strong><span class="emphasis"><em>should never be included by
+ another Boost header</em></span></strong></span>, it should only ever be used
+ by a library source file or a test case.
+ </li>
+<li>
+ The header should be included <span class="bold"><strong><span class="emphasis"><em>before you
+ include any other header</em></span></strong></span>.
+ </li>
+<li>
+ This header only disables warnings that are hard or impossible to otherwise
+ deal with, and which are typically emitted by one compiler only, or in
+ one compilers own standard library headers.
+ </li>
+</ul></div>
+<p>
+ Currently it disables the following warnings:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ Warning
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Visual C++ 8 and later
+ </p>
+ </td>
+<td>
+ <p>
+ C4996:
+ Error 'function': was declared deprecated
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Intel C++
+ </p>
+ </td>
+<td>
+ <p>
+ Warning 1786: relates to the use of "deprecated" standard
+ library functions rather like C4996 in Visual C++.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.guidelines_for_boost_authors.adding_new_defect_macros"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros" title="Adding New Defect Macros">Adding
New Defect Macros</a>
</h3></div></div></div>
<p>
- When you need to add a new defect macro -either to fix a problem with an
- existing library, or when adding a new library- distil the issue down to
+ When you need to add a new defect macro - either to fix a problem with an
+ existing library, or when adding a new library - distil the issue down to
a simple test case; often, at this point other (possibly better) workarounds
may become apparent. Secondly always post the test case code to the boost
mailing list and invite comments; remember that C++ is complex and that sometimes
@@ -125,22 +206,20 @@
the test case in a <code class="computeroutput"><span class="special">.</span><span class="identifier">ipp</span></code>
file with the following comments near the top:
</p>
-<pre class="programlisting">
-<span class="comment">// MACRO: BOOST_NO_FOO
+<pre class="programlisting"><span class="comment">// MACRO: BOOST_NO_FOO
</span><span class="comment">// TITLE: foo
</span><span class="comment">// DESCRIPTION: If the compiler fails to support foo
</span></pre>
<p>
These comments are processed by the autoconf script, so make sure the format
follows the one given. The file should be named "<code class="computeroutput"><span class="identifier">boost_no_foo</span><span class="special">.</span><span class="identifier">ipp</span></code>",
- where foo is the defect description -try and keep the file name under the
+ where foo is the defect description - try and keep the file name under the
Mac 30 character filename limit though. You will also need to provide a function
prototype "<code class="computeroutput"><span class="keyword">int</span> <span class="identifier">test</span><span class="special">()</span></code>" that is declared in a namespace with
the same name as the macro, but in all lower case, and which returns zero
on success:
</p>
-<pre class="programlisting">
-<span class="keyword">namespace</span> <span class="identifier">boost_no_foo</span> <span class="special">{</span>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost_no_foo</span> <span class="special">{</span>
<span class="keyword">int</span> <span class="identifier">test</span><span class="special">()</span>
<span class="special">{</span>
@@ -157,26 +236,25 @@
</p>
<div class="itemizedlist"><ul type="disc">
<li>
- cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">tools</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span>
- <span class="special">--</span><span class="identifier">v2</span></code>
+ cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">tools</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span></code>
: this generates the <code class="computeroutput"><span class="special">.</span><span class="identifier">cpp</span></code>
- file test cases from the <code class="computeroutput"><span class="special">.</span><span class="identifier">ipp</span></code> file, updates the Jamfile, <code class="computeroutput"><span class="identifier">config_test</span><span class="special">.</span><span class="identifier">cpp</span></code> and <code class="computeroutput"><span class="identifier">config_info</span><span class="special">.</span><span class="identifier">cpp</span></code>.
+ file test cases from the <code class="computeroutput"><span class="special">.</span><span class="identifier">ipp</span></code> file, updates the libs/config/test/all/Jamfile.v2,
+ <code class="computeroutput"><span class="identifier">config_test</span><span class="special">.</span><span class="identifier">cpp</span></code> and <code class="computeroutput"><span class="identifier">config_info</span><span class="special">.</span><span class="identifier">cpp</span></code>.
</li>
<li>
- cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">test</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span>
- <span class="special">--</span><span class="identifier">v2</span>
- </code><span class="emphasis"><em>MACRONAME</em></span><code class="computeroutput"> <span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code>
+ cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">test</span><span class="special">/</span><span class="identifier">all</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span>
+ </code><span class="emphasis"><em>MACRONAME<code class="computeroutput"> <span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span>
: where <span class="emphasis"><em>MACRONAME</em></span> is the name of the new macro, and
- <code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code> is the list of compilers to test
- with. You should see the tests pass with those compilers that don't have
- the defect, and fail with those that do.
+ <span class="emphasis"><em><code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span> is a space separated
+ list of compilers to test with. You should see the tests pass with those
+ compilers that don't have the defect, and fail with those that do.
</li>
<li>
- cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">test</span></code> and <code class="computeroutput"><span class="identifier">run</span>
- <span class="identifier">bjam</span> <span class="special">--</span><span class="identifier">v2</span> <span class="identifier">config_info</span>
- <span class="identifier">config_test</span> <span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code>
+ cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">test</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span>
+ <span class="identifier">config_info</span> <span class="identifier">config_test</span>
+ </code><span class="emphasis"><em><code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span>
: <code class="computeroutput"><span class="identifier">config_info</span></code> should build
- and run cleanly for all the compilers in <code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code>
+ and run cleanly for all the compilers in <span class="emphasis"><em><code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span>
while <code class="computeroutput"><span class="identifier">config_test</span></code> should
fail for those that have the defect, and pass for those that do not.
</li>
@@ -265,9 +343,9 @@
</p>
<p>
The compiler/platform/standard library selection code is set up so that unknown
- platforms are ignored and assumed to be fully standards compliant -this gives
- unknown platforms a "sporting chance" of working "as is"
- even without running the configure script.
+ platforms are ignored and assumed to be fully standards compliant - this
+ gives unknown platforms a "sporting chance" of working "as
+ is" even without running the configure script.
</p>
<p>
When adding or modifying the individual mini-configs, assume that future,
Modified: branches/CMake/release/libs/config/doc/html/boost_config/rationale.html
==============================================================================
--- branches/CMake/release/libs/config/doc/html/boost_config/rationale.html (original)
+++ branches/CMake/release/libs/config/doc/html/boost_config/rationale.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -14,8 +14,8 @@
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center">Home</td>
<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
<td align="center">More</td>
</tr></table>
<hr>
Modified: branches/CMake/release/libs/config/doc/html/index.html
==============================================================================
--- branches/CMake/release/libs/config/doc/html/index.html (original)
+++ branches/CMake/release/libs/config/doc/html/index.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -12,8 +12,8 @@
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center">Home</td>
<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
<td align="center">More</td>
</tr></table>
<hr>
@@ -28,7 +28,7 @@
</h3></div></div></div>
<div><p class="copyright">Copyright © 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock</p></div>
<div><div class="legalnotice">
-<a name="id2625913"></a><p>
+<a name="id464982"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
</p>
@@ -61,8 +61,10 @@
that describe defects</a></span></dt>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features">Macros
that describe optional features</a></span></dt>
-<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features">Macros
- that describe C++0x features</a></span></dt>
+<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features">Macros
+ that describe possible C++0x features</a></span></dt>
+<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported">Macros
+ that describe C++0x features not supported</a></span></dt>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros">Boost
Helper Macros</a></span></dt>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros">Boost
@@ -73,6 +75,8 @@
<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html">Guidelines for
Boost Authors</a></span></dt>
<dd><dl>
+<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings">
+ Disabling Compiler Warnings</a></span></dt>
<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros">Adding
New Defect Macros</a></span></dt>
<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros">Adding
@@ -139,8 +143,7 @@
<p>
Boost library implementations access configuration macros via
</p>
-<pre class="programlisting">
-<span class="preprocessor">#include</span> <boost/config.hpp>
+<pre class="programlisting"><span class="preprocessor">#include</span> <boost/config.hpp>
</pre>
<p>
While Boost library users are not required to include that file directly,
@@ -275,8 +278,7 @@
For example to run the configure script with HP aCC, you might use something
like:
</p>
-<pre class="programlisting">
-<span class="keyword">export</span> <span class="identifier">CXX</span><span class="special">=</span><span class="string">"aCC"</span>
+<pre class="programlisting"><span class="keyword">export</span> <span class="identifier">CXX</span><span class="special">=</span><span class="string">"aCC"</span>
<span class="keyword">export</span> <span class="identifier">CXXFLAGS</span><span class="special">=</span><span class="string">"-Aa -DAportable -D__HPACC_THREAD_SAFE_RB_TREE \
-DRWSTD_MULTI_THREAD -DRW_MULTI_THREAD -D_REENTRANT -D_THREAD_SAFE"</span>
<span class="keyword">export</span> <span class="identifier">LDFLAGS</span><span class="special">=</span><span class="string">"-DAportable"</span>
@@ -743,8 +745,7 @@
there. Finally, open up <boost/config/user.hpp>
and edit the following defines:
</p>
-<pre class="programlisting">
-<span class="preprocessor">#define</span> <span class="identifier">BOOST_COMPILER_CONFIG</span> <span class="string">"boost/config/mysetup/visualc.hpp"</span>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_COMPILER_CONFIG</span> <span class="string">"boost/config/mysetup/visualc.hpp"</span>
<span class="preprocessor">#define</span> <span class="identifier">BOOST_STDLIB_CONFIG</span> <span class="string">"boost/config/mysetup/stlport.hpp"</span>
<span class="preprocessor">#define</span> <span class="identifier">BOOST_USER_CONFIG</span> <span class="string">"boost/config/mysetup/win32.hpp"</span>
</pre>
@@ -961,7 +962,7 @@
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: March 15, 2008 at 13:57:39 GMT</small></p></td>
+<td align="left"><p><small>Last revised: June 20, 2008 at 00:19:08 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
Modified: branches/CMake/release/libs/config/doc/macro_reference.qbk
==============================================================================
--- branches/CMake/release/libs/config/doc/macro_reference.qbk (original)
+++ branches/CMake/release/libs/config/doc/macro_reference.qbk 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -38,6 +38,10 @@
in namespaces nested inside boost (but not elsewhere). Probably
Borland specific.
]]
+[[`BOOST_NO_ADL_BARRIER`][Compiler][
+The compiler locates and searches namespaces that it should /*not*/ in fact
+search when performing argument dependent lookup.
+]]
[[`BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP`][Compiler][
Compiler does not implement argument-dependent lookup (also named
Koenig lookup); see std::3.4.2 \[basic.koenig.lookup\]
@@ -172,6 +176,10 @@
namespace scope, then using'ed to boost. Probably GCC specific. See
[@../../../../boost/operators.hpp `<boost/operators.hpp>`] for example.
]]
+[[`BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS`][Compiler][
+The compiler does not correctly handle partial specializations
+which depend upon default arguments in the primary template.
+]]
[[`BOOST_NO_POINTER_TO_MEMBER_CONST`][Compiler][
The compiler does not correctly handle pointers to const member functions,
preventing use of these in overloaded function templates. See
@@ -246,6 +254,9 @@
Class template partial specialization (14.5.4 \[temp.class.spec\]) not
supported.
]]
+[[`BOOST_NO_TEMPLATED_IOSTREAMS`][Standard library][
+The standard library does not provide templated iostream classes.
+]]
[[`BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS`][Standard library][
The standard library does not provide templated iterator constructors
for its containers.
@@ -476,36 +487,75 @@
[endsect]
-[section Macros that describe C++0x features]
+[section Macros that describe possible C++0x features]
The following macros describe features that are likely to be included in the
-upcoming ISO C++ standard, C++0x.
+upcoming ISO C++ standard, C++0x, but have not yet been approved for inclusion
+in the language.
[table
[[Macro ][Description ]]
[[`BOOST_HAS_CONCEPTS`][
-The compiler supports concepts. Note: concepts have been proposed for C++0x,
-but have not yet been approved for inclusion in the language.
-]]
-[[`BOOST_HAS_DECLTYPE`][
-The compiler supports decltype.
-]]
-[[`BOOST_HAS_LONG_LONG`][
-The compiler supports the long long data type.
-]]
-[[`BOOST_HAS_RVALUE_REFS`][
-The compiler supports rvalue references.
-]]
-[[`BOOST_HAS_STATIC_ASSERT`][
-The compiler supports static assertions.
-]]
-[[`BOOST_HAS_VARIADIC_TMPL`][
-The compiler supports variadic templates.
+The compiler supports concepts.
]]
]
+[endsect]
+
+[section Macros that describe C++0x features not supported]
+
+The following macros describe features in the upcoming ISO C++ standard, C++0x,
+that are not yet supported by a particular compiler.
+
+[table
+[[Macro ][Description ]]
+
+[[`BOOST_NO_CHAR16_T`][The compiler does not support
+type `char16_t`.
+]]
+[[`BOOST_NO_CHAR32_T`][The compiler does not support
+type `char32_t`.
+]]
+[[`BOOST_NO_CONSTEXPR`][The compiler does not support
+`constexpr`.
+]]
+[[`BOOST_NO_DECLTYPE`][The compiler does not support
+`decltype`.
+]]
+[[`BOOST_NO_DEFAULTED_FUNCTIONS`][The compiler does not support
+defaulted (`= default`) functions.
+[[`BOOST_NO_DELETED_FUNCTIONS`][The compiler does not support
+deleted (`= delete`) functions.
+]]
+[[`BOOST_NO_EXPLICIT_CONVERSION_OPERATIONS`][The compiler does not support
+explicit conversion operators (`explicit operator T()`).
+]]
+[[`BOOST_NO_EXTERN_TEMPLATE`][The compiler does not support
+explicit instantiation declarations for templates (`explicit template`).
+]]
+[[`BOOST_NO_LONG_LONG`][The compiler does not support `long long`.
+]]
+[[`BOOST_NO_RAW_LITERALS`][The compiler does not support
+raw string literals.
+]]
+[[`BOOST_NO_RVALUE_REFERENCES`][The compiler does not support
+r-value references.
+]]
+[[`BOOST_NO_SCOPED_ENUMS`][The compiler does not support
+scoped enumerations (`enum class`).
+]]
+[[`BOOST_NO_STATIC_ASSERT`][The compiler does not support
+`static_assert`.
+]]
+[[`BOOST_NO_UNICODE_LITERALS`][The compiler does not support
+Unicode (`u8`, `u`, `U') literals.
+]]
+[[`BOOST_NO_VARIADIC_TEMPLATES`][The compiler does not support
+variadic templates.
+]]
+]
[endsect]
Modified: branches/CMake/release/libs/config/test/Jamfile.v2
==============================================================================
--- branches/CMake/release/libs/config/test/Jamfile.v2 (original)
+++ branches/CMake/release/libs/config/test/Jamfile.v2 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,9 +1,5 @@
#
-# Regression test Jamfile for boost configuration setup.
-# *** DO NOT EDIT THIS FILE BY HAND ***
-# This file was automatically generated on Fri Oct 19 13:34:11 2007
-# by libs/config/tools/generate.cpp
-# Copyright John Maddock.
+# Copyright John Maddock 2008.
# Use, modification and distribution are subject to the
# Boost Software License, Version 1.0. (See accompanying file
# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -11,349 +7,36 @@
# If you need to alter build preferences then set them in
# the template defined in options_v2.jam.
#
-path-constant DOT : . ;
-include $(DOT)/options_v2.jam ;
-
-run config_info.cpp ;
-run math_info.cpp : : : <toolset>borland:<runtime-link>static <toolset>borland:<link>static ;
-run config_test.cpp ;
-run limits_test.cpp ../../test/build//boost_test_exec_monitor ;
-run abi/abi_test.cpp abi/main.cpp ;
-
-test-suite "BOOST_HAS_TWO_ARG_USE_FACET" :
-[ run has_2arg_use_facet_pass.cpp ]
-[ compile-fail has_2arg_use_facet_fail.cpp ] ;
-test-suite "BOOST_HAS_BETHREADS" :
-[ run has_bethreads_pass.cpp ]
-[ compile-fail has_bethreads_fail.cpp ] ;
-test-suite "BOOST_HAS_CLOCK_GETTIME" :
-[ run has_clock_gettime_pass.cpp ]
-[ compile-fail has_clock_gettime_fail.cpp ] ;
-test-suite "BOOST_HAS_CONCEPTS" :
-[ run has_concepts_pass.cpp ]
-[ compile-fail has_concepts_fail.cpp ] ;
-test-suite "BOOST_HAS_DIRENT_H" :
-[ run has_dirent_h_pass.cpp ]
-[ compile-fail has_dirent_h_fail.cpp ] ;
-test-suite "BOOST_HAS_EXPM1" :
-[ run has_expm1_pass.cpp ]
-[ compile-fail has_expm1_fail.cpp ] ;
-test-suite "BOOST_HAS_FTIME" :
-[ run has_ftime_pass.cpp ]
-[ compile-fail has_ftime_fail.cpp ] ;
-test-suite "BOOST_HAS_GETTIMEOFDAY" :
-[ run has_gettimeofday_pass.cpp ]
-[ compile-fail has_gettimeofday_fail.cpp ] ;
-test-suite "BOOST_HAS_HASH" :
-[ run has_hash_pass.cpp ]
-[ compile-fail has_hash_fail.cpp ] ;
-test-suite "BOOST_HAS_LOG1P" :
-[ run has_log1p_pass.cpp ]
-[ compile-fail has_log1p_fail.cpp ] ;
-test-suite "BOOST_HAS_LONG_LONG" :
-[ run has_long_long_pass.cpp ]
-[ compile-fail has_long_long_fail.cpp ] ;
-test-suite "BOOST_HAS_MACRO_USE_FACET" :
-[ run has_macro_use_facet_pass.cpp ]
-[ compile-fail has_macro_use_facet_fail.cpp ] ;
-test-suite "BOOST_HAS_MS_INT64" :
-[ run has_ms_int64_pass.cpp ]
-[ compile-fail has_ms_int64_fail.cpp ] ;
-test-suite "BOOST_HAS_NANOSLEEP" :
-[ run has_nanosleep_pass.cpp ]
-[ compile-fail has_nanosleep_fail.cpp ] ;
-test-suite "BOOST_HAS_NL_TYPES_H" :
-[ run has_nl_types_h_pass.cpp ]
-[ compile-fail has_nl_types_h_fail.cpp ] ;
-test-suite "BOOST_HAS_NRVO" :
-[ run has_nrvo_pass.cpp ]
-[ compile-fail has_nrvo_fail.cpp ] ;
-test-suite "BOOST_HAS_PARTIAL_STD_ALLOCATOR" :
-[ run has_part_alloc_pass.cpp ]
-[ compile-fail has_part_alloc_fail.cpp ] ;
-test-suite "BOOST_HAS_PTHREADS" :
-[ run has_pthreads_pass.cpp ]
-[ compile-fail has_pthreads_fail.cpp ] ;
-test-suite "BOOST_HAS_PTHREAD_DELAY_NP" :
-[ run has_pthread_delay_np_pass.cpp ]
-[ compile-fail has_pthread_delay_np_fail.cpp ] ;
-test-suite "BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE" :
-[ run has_pthread_ma_st_pass.cpp ]
-[ compile-fail has_pthread_ma_st_fail.cpp ] ;
-test-suite "BOOST_HAS_PTHREAD_YIELD" :
-[ run has_pthread_yield_pass.cpp ]
-[ compile-fail has_pthread_yield_fail.cpp ] ;
-test-suite "BOOST_HAS_RVALUE_REFS" :
-[ run has_rvalue_refs_pass.cpp ]
-[ compile-fail has_rvalue_refs_fail.cpp ] ;
-test-suite "BOOST_HAS_SCHED_YIELD" :
-[ run has_sched_yield_pass.cpp ]
-[ compile-fail has_sched_yield_fail.cpp ] ;
-test-suite "BOOST_HAS_SGI_TYPE_TRAITS" :
-[ run has_sgi_type_traits_pass.cpp ]
-[ compile-fail has_sgi_type_traits_fail.cpp ] ;
-test-suite "BOOST_HAS_SIGACTION" :
-[ run has_sigaction_pass.cpp ]
-[ compile-fail has_sigaction_fail.cpp ] ;
-test-suite "BOOST_HAS_SLIST" :
-[ run has_slist_pass.cpp ]
-[ compile-fail has_slist_fail.cpp ] ;
-test-suite "BOOST_HAS_STATIC_ASSERT" :
-[ run has_static_assert_pass.cpp ]
-[ compile-fail has_static_assert_fail.cpp ] ;
-test-suite "BOOST_HAS_STDINT_H" :
-[ run has_stdint_h_pass.cpp ]
-[ compile-fail has_stdint_h_fail.cpp ] ;
-test-suite "BOOST_HAS_STLP_USE_FACET" :
-[ run has_stlp_use_facet_pass.cpp ]
-[ compile-fail has_stlp_use_facet_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_ARRAY" :
-[ run has_tr1_array_pass.cpp ]
-[ compile-fail has_tr1_array_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_BIND" :
-[ run has_tr1_bind_pass.cpp ]
-[ compile-fail has_tr1_bind_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_COMPLEX_OVERLOADS" :
-[ run has_tr1_complex_over_pass.cpp ]
-[ compile-fail has_tr1_complex_over_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG" :
-[ run has_tr1_complex_trig_pass.cpp ]
-[ compile-fail has_tr1_complex_trig_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_FUNCTION" :
-[ run has_tr1_function_pass.cpp ]
-[ compile-fail has_tr1_function_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_HASH" :
-[ run has_tr1_hash_pass.cpp ]
-[ compile-fail has_tr1_hash_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_MEM_FN" :
-[ run has_tr1_mem_fn_pass.cpp ]
-[ compile-fail has_tr1_mem_fn_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_RANDOM" :
-[ run has_tr1_random_pass.cpp ]
-[ compile-fail has_tr1_random_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_REFERENCE_WRAPPER" :
-[ run has_tr1_ref_wrap_pass.cpp ]
-[ compile-fail has_tr1_ref_wrap_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_REGEX" :
-[ run has_tr1_regex_pass.cpp ]
-[ compile-fail has_tr1_regex_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_RESULT_OF" :
-[ run has_tr1_result_of_pass.cpp ]
-[ compile-fail has_tr1_result_of_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_SHARED_PTR" :
-[ run has_tr1_shared_ptr_pass.cpp ]
-[ compile-fail has_tr1_shared_ptr_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_TUPLE" :
-[ run has_tr1_tuple_pass.cpp ]
-[ compile-fail has_tr1_tuple_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_TYPE_TRAITS" :
-[ run has_tr1_type_traits_pass.cpp ]
-[ compile-fail has_tr1_type_traits_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_UNORDERED_MAP" :
-[ run has_tr1_unordered_map_pass.cpp ]
-[ compile-fail has_tr1_unordered_map_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_UNORDERED_SET" :
-[ run has_tr1_unordered_set_pass.cpp ]
-[ compile-fail has_tr1_unordered_set_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_UTILITY" :
-[ run has_tr1_utility_pass.cpp ]
-[ compile-fail has_tr1_utility_fail.cpp ] ;
-test-suite "BOOST_HAS_UNISTD_H" :
-[ run has_unistd_h_pass.cpp ]
-[ compile-fail has_unistd_h_fail.cpp ] ;
-test-suite "BOOST_HAS_VARIADIC_TMPL" :
-[ run has_variadic_tmpl_pass.cpp ]
-[ compile-fail has_variadic_tmpl_fail.cpp ] ;
-test-suite "BOOST_MSVC6_MEMBER_TEMPLATES" :
-[ run has_vc6_mem_templ_pass.cpp ]
-[ compile-fail has_vc6_mem_templ_fail.cpp ] ;
-test-suite "BOOST_MSVC_STD_ITERATOR" :
-[ run has_vc_iterator_pass.cpp ]
-[ compile-fail has_vc_iterator_fail.cpp ] ;
-test-suite "BOOST_HAS_WINTHREADS" :
-[ run has_winthreads_pass.cpp ]
-[ compile-fail has_winthreads_fail.cpp ] ;
-test-suite "BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP" :
-[ run no_arg_dep_lookup_pass.cpp ]
-[ compile-fail no_arg_dep_lookup_fail.cpp ] ;
-test-suite "BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS" :
-[ run no_array_type_spec_pass.cpp ]
-[ compile-fail no_array_type_spec_fail.cpp ] ;
-test-suite "BOOST_NO_AUTO_PTR" :
-[ run no_auto_ptr_pass.cpp ]
-[ compile-fail no_auto_ptr_fail.cpp ] ;
-test-suite "BOOST_BCB_PARTIAL_SPECIALIZATION_BUG" :
-[ run no_bcb_partial_spec_pass.cpp ]
-[ compile-fail no_bcb_partial_spec_fail.cpp ] ;
-test-suite "BOOST_NO_CTYPE_FUNCTIONS" :
-[ run no_ctype_functions_pass.cpp ]
-[ compile-fail no_ctype_functions_fail.cpp ] ;
-test-suite "BOOST_NO_CV_SPECIALIZATIONS" :
-[ run no_cv_spec_pass.cpp ]
-[ compile-fail no_cv_spec_fail.cpp ] ;
-test-suite "BOOST_NO_CV_VOID_SPECIALIZATIONS" :
-[ run no_cv_void_spec_pass.cpp ]
-[ compile-fail no_cv_void_spec_fail.cpp ] ;
-test-suite "BOOST_NO_CWCHAR" :
-[ run no_cwchar_pass.cpp ]
-[ compile-fail no_cwchar_fail.cpp ] ;
-test-suite "BOOST_NO_CWCTYPE" :
-[ run no_cwctype_pass.cpp ]
-[ compile-fail no_cwctype_fail.cpp ] ;
-test-suite "BOOST_DEDUCED_TYPENAME" :
-[ run no_ded_typename_pass.cpp ]
-[ compile-fail no_ded_typename_fail.cpp ] ;
-test-suite "BOOST_NO_DEPENDENT_NESTED_DERIVATIONS" :
-[ run no_dep_nested_class_pass.cpp ]
-[ compile-fail no_dep_nested_class_fail.cpp ] ;
-test-suite "BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS" :
-[ run no_dep_val_param_pass.cpp ]
-[ compile-fail no_dep_val_param_fail.cpp ] ;
-test-suite "BOOST_NO_EXCEPTIONS" :
-[ run no_exceptions_pass.cpp ]
-[ compile-fail no_exceptions_fail.cpp ] ;
-test-suite "BOOST_NO_EXCEPTION_STD_NAMESPACE" :
-[ run no_excep_std_pass.cpp ]
-[ compile-fail no_excep_std_fail.cpp ] ;
-test-suite "BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS" :
-[ run no_exp_func_tem_arg_pass.cpp ]
-[ compile-fail no_exp_func_tem_arg_fail.cpp ] ;
-test-suite "BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS" :
-[ run no_function_type_spec_pass.cpp ]
-[ compile-fail no_function_type_spec_fail.cpp ] ;
-test-suite "BOOST_NO_FUNCTION_TEMPLATE_ORDERING" :
-[ run no_func_tmp_order_pass.cpp ]
-[ compile-fail no_func_tmp_order_fail.cpp ] ;
-test-suite "BOOST_NO_MS_INT64_NUMERIC_LIMITS" :
-[ run no_i64_limits_pass.cpp ]
-[ compile-fail no_i64_limits_fail.cpp ] ;
-test-suite "BOOST_NO_INCLASS_MEMBER_INITIALIZATION" :
-[ run no_inline_memb_init_pass.cpp ]
-[ compile-fail no_inline_memb_init_fail.cpp ] ;
-test-suite "BOOST_NO_INTEGRAL_INT64_T" :
-[ run no_integral_int64_t_pass.cpp ]
-[ compile-fail no_integral_int64_t_fail.cpp ] ;
-test-suite "BOOST_NO_IOSFWD" :
-[ run no_iosfwd_pass.cpp ]
-[ compile-fail no_iosfwd_fail.cpp ] ;
-test-suite "BOOST_NO_IOSTREAM" :
-[ run no_iostream_pass.cpp ]
-[ compile-fail no_iostream_fail.cpp ] ;
-test-suite "BOOST_NO_IS_ABSTRACT" :
-[ run no_is_abstract_pass.cpp ]
-[ compile-fail no_is_abstract_fail.cpp ] ;
-test-suite "BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS" :
-[ run no_iter_construct_pass.cpp ]
-[ compile-fail no_iter_construct_fail.cpp ] ;
-test-suite "BOOST_NO_LIMITS" :
-[ run no_limits_pass.cpp ]
-[ compile-fail no_limits_fail.cpp ] ;
-test-suite "BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS" :
-[ run no_limits_const_exp_pass.cpp ]
-[ compile-fail no_limits_const_exp_fail.cpp ] ;
-test-suite "BOOST_NO_LONG_LONG_NUMERIC_LIMITS" :
-[ run no_ll_limits_pass.cpp ]
-[ compile-fail no_ll_limits_fail.cpp ] ;
-test-suite "BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS" :
-[ run no_mem_func_spec_pass.cpp ]
-[ compile-fail no_mem_func_spec_fail.cpp ] ;
-test-suite "BOOST_NO_MEMBER_TEMPLATES" :
-[ run no_mem_templates_pass.cpp ]
-[ compile-fail no_mem_templates_fail.cpp ] ;
-test-suite "BOOST_NO_MEMBER_TEMPLATE_FRIENDS" :
-[ run no_mem_templ_frnds_pass.cpp ]
-[ compile-fail no_mem_templ_frnds_fail.cpp ] ;
-test-suite "BOOST_NO_MEMBER_TEMPLATE_KEYWORD" :
-[ run no_mem_tem_keyword_pass.cpp ]
-[ compile-fail no_mem_tem_keyword_fail.cpp ] ;
-test-suite "BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS" :
-[ run no_mem_tem_pnts_pass.cpp ]
-[ compile-fail no_mem_tem_pnts_fail.cpp ] ;
-test-suite "BOOST_NO_OPERATORS_IN_NAMESPACE" :
-[ run no_ops_in_namespace_pass.cpp ]
-[ compile-fail no_ops_in_namespace_fail.cpp ] ;
-test-suite "BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION" :
-[ run no_partial_spec_pass.cpp ]
-[ compile-fail no_partial_spec_fail.cpp ] ;
-test-suite "BOOST_NO_PRIVATE_IN_AGGREGATE" :
-[ run no_priv_aggregate_pass.cpp ]
-[ compile-fail no_priv_aggregate_fail.cpp ] ;
-test-suite "BOOST_NO_POINTER_TO_MEMBER_CONST" :
-[ run no_ptr_mem_const_pass.cpp ]
-[ compile-fail no_ptr_mem_const_fail.cpp ] ;
-test-suite "BOOST_NO_UNREACHABLE_RETURN_DETECTION" :
-[ run no_ret_det_pass.cpp ]
-[ compile-fail no_ret_det_fail.cpp ] ;
-test-suite "BOOST_NO_SFINAE" :
-[ run no_sfinae_pass.cpp ]
-[ compile-fail no_sfinae_fail.cpp ] ;
-test-suite "BOOST_NO_STRINGSTREAM" :
-[ run no_sstream_pass.cpp ]
-[ compile-fail no_sstream_fail.cpp ] ;
-test-suite "BOOST_NO_STDC_NAMESPACE" :
-[ run no_stdc_namespace_pass.cpp ]
-[ compile-fail no_stdc_namespace_fail.cpp ] ;
-test-suite "BOOST_NO_STD_ALLOCATOR" :
-[ run no_std_allocator_pass.cpp ]
-[ compile-fail no_std_allocator_fail.cpp ] ;
-test-suite "BOOST_NO_STD_DISTANCE" :
-[ run no_std_distance_pass.cpp ]
-[ compile-fail no_std_distance_fail.cpp ] ;
-test-suite "BOOST_NO_STD_ITERATOR" :
-[ run no_std_iterator_pass.cpp ]
-[ compile-fail no_std_iterator_fail.cpp ] ;
-test-suite "BOOST_NO_STD_ITERATOR_TRAITS" :
-[ run no_std_iter_traits_pass.cpp ]
-[ compile-fail no_std_iter_traits_fail.cpp ] ;
-test-suite "BOOST_NO_STD_LOCALE" :
-[ run no_std_locale_pass.cpp ]
-[ compile-fail no_std_locale_fail.cpp ] ;
-test-suite "BOOST_NO_STD_MESSAGES" :
-[ run no_std_messages_pass.cpp ]
-[ compile-fail no_std_messages_fail.cpp ] ;
-test-suite "BOOST_NO_STD_MIN_MAX" :
-[ run no_std_min_max_pass.cpp ]
-[ compile-fail no_std_min_max_fail.cpp ] ;
-test-suite "BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN" :
-[ run no_std_oi_assign_pass.cpp ]
-[ compile-fail no_std_oi_assign_fail.cpp ] ;
-test-suite "BOOST_NO_STD_TYPEINFO" :
-[ run no_std_typeinfo_pass.cpp ]
-[ compile-fail no_std_typeinfo_fail.cpp ] ;
-test-suite "BOOST_NO_STD_USE_FACET" :
-[ run no_std_use_facet_pass.cpp ]
-[ compile-fail no_std_use_facet_fail.cpp ] ;
-test-suite "BOOST_NO_STD_WSTREAMBUF" :
-[ run no_std_wstreambuf_pass.cpp ]
-[ compile-fail no_std_wstreambuf_fail.cpp ] ;
-test-suite "BOOST_NO_STD_WSTRING" :
-[ run no_std_wstring_pass.cpp ]
-[ compile-fail no_std_wstring_fail.cpp ] ;
-test-suite "BOOST_NO_SWPRINTF" :
-[ run no_swprintf_pass.cpp ]
-[ compile-fail no_swprintf_fail.cpp ] ;
-test-suite "BOOST_NO_TEMPLATE_TEMPLATES" :
-[ run no_template_template_pass.cpp ]
-[ compile-fail no_template_template_fail.cpp ] ;
-test-suite "BOOST_NO_TWO_PHASE_NAME_LOOKUP" :
-[ run no_two_phase_lookup_pass.cpp ]
-[ compile-fail no_two_phase_lookup_fail.cpp ] ;
-test-suite "BOOST_NO_TYPEID" :
-[ run no_typeid_pass.cpp ]
-[ compile-fail no_typeid_fail.cpp ] ;
-test-suite "BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL" :
-[ run no_using_breaks_adl_pass.cpp ]
-[ compile-fail no_using_breaks_adl_fail.cpp ] ;
-test-suite "BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE" :
-[ run no_using_decl_overld_pass.cpp ]
-[ compile-fail no_using_decl_overld_fail.cpp ] ;
-test-suite "BOOST_NO_USING_TEMPLATE" :
-[ run no_using_template_pass.cpp ]
-[ compile-fail no_using_template_fail.cpp ] ;
-test-suite "BOOST_NO_VOID_RETURNS" :
-[ run no_void_returns_pass.cpp ]
-[ compile-fail no_void_returns_fail.cpp ] ;
-test-suite "BOOST_NO_INTRINSIC_WCHAR_T" :
-[ run no_wchar_t_pass.cpp ]
-[ compile-fail no_wchar_t_fail.cpp ] ;
-
+test-suite config
+ :
+ [ run config_test.cpp
+ : #args
+ : #input-files
+ : #requirements
+ <threading>multi
+ : config_test_threaded
+ ]
+ [ run config_test.cpp
+ : #args
+ : #input-files
+ : #requirements
+ <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static
+ ]
+ [ run config_info.cpp : : : <test-info>always_show_run_output <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ]
+ [ run config_info.cpp : : : <test-info>always_show_run_output <threading>multi : config_info_threaded ]
+ [ run math_info.cpp : : : <test-info>always_show_run_output <toolset>borland:<runtime-link>static <toolset>borland:<link>static ]
+ [ run abi/abi_test.cpp abi/main.cpp ]
+ [ run limits_test.cpp ../../test/build//boost_test_exec_monitor ]
+ [ run link/main.cpp link//link_test
+ : #args
+ : #input-files
+ : #requirements
+ <runtime-link>shared
+ <define>BOOST_DYN_LINK=1
+ <define>BOOST_CONFIG_NO_LIB=1
+ :
+ config_link_test
+ ]
+ [ compile-fail threads/test_thread_fail1.cpp ]
+ [ compile-fail threads/test_thread_fail2.cpp ]
+ ;
Modified: branches/CMake/release/libs/config/test/boost_has_pthreads.ipp
==============================================================================
--- branches/CMake/release/libs/config/test/boost_has_pthreads.ipp (original)
+++ branches/CMake/release/libs/config/test/boost_has_pthreads.ipp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -14,17 +14,46 @@
namespace boost_has_pthreads{
+extern "C" void* thread_proc(void* arg)
+{
+ return arg;
+}
+
int test()
{
pthread_mutex_t mut;
int result = pthread_mutex_init(&mut, 0);
if(0 == result)
{
- pthread_mutex_lock(&mut);
- pthread_mutex_unlock(&mut);
- pthread_mutex_destroy(&mut);
+ //
+ // Failure to be able to create and use a mutex
+ // is always a failure, even if the pthread
+ // library is just a non-functioning stub.
+ //
+ result |= pthread_mutex_lock(&mut);
+ result |= pthread_mutex_unlock(&mut);
+ result |= pthread_mutex_trylock(&mut);
+ result |= pthread_mutex_unlock(&mut);
+ result |= pthread_mutex_destroy(&mut);
+ //
+ // Try and create a thread, this is allowed
+ // to fail, in case we are linking to a pthread
+ // "stub" library.
+ //
+ pthread_t t;
+ int r = pthread_create(&t, 0, &thread_proc, 0);
+ // result |= r;
+ if(r == 0)
+ {
+ //
+ // If we can create a thread, then we must be able to join to it:
+ //
+ void* arg;
+ r = pthread_join(t, &arg);
+ result |= r;
+ }
}
- return 0;
+ return result;
}
}
Modified: branches/CMake/release/libs/config/test/boost_has_tr1_function.ipp
==============================================================================
--- branches/CMake/release/libs/config/test/boost_has_tr1_function.ipp (original)
+++ branches/CMake/release/libs/config/test/boost_has_tr1_function.ipp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -11,7 +11,7 @@
#include <functional>
-namespace boost_has_tr1_bind{
+namespace boost_has_tr1_function{
using std::tr1::function;
Modified: branches/CMake/release/libs/config/test/boost_has_tr1_result_of.ipp
==============================================================================
--- branches/CMake/release/libs/config/test/boost_has_tr1_result_of.ipp (original)
+++ branches/CMake/release/libs/config/test/boost_has_tr1_result_of.ipp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -14,7 +14,7 @@
namespace boost_has_tr1_result_of{
typedef std::tr1::result_of<int*(int)> r;
-typedef typename r::type rr;
+typedef r::type rr;
int test()
{
Modified: branches/CMake/release/libs/config/test/boost_no_bcb_partial_spec.ipp
==============================================================================
--- branches/CMake/release/libs/config/test/boost_no_bcb_partial_spec.ipp (original)
+++ branches/CMake/release/libs/config/test/boost_no_bcb_partial_spec.ipp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,4 +1,4 @@
-// (C) Copyright Terje Slettebø 2002.
+// (C) Copyright Terje Slettebo 2002.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/CMake/release/libs/config/test/boost_no_mem_tem_pnts.ipp
==============================================================================
--- branches/CMake/release/libs/config/test/boost_no_mem_tem_pnts.ipp (original)
+++ branches/CMake/release/libs/config/test/boost_no_mem_tem_pnts.ipp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,4 +1,4 @@
-// Copyright (C) Joaquín M López Muñoz 2004.
+// Copyright (C) Joaquin M Lopez Munoz 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)
Modified: branches/CMake/release/libs/config/test/boost_no_sfinae.ipp
==============================================================================
--- branches/CMake/release/libs/config/test/boost_no_sfinae.ipp (original)
+++ branches/CMake/release/libs/config/test/boost_no_sfinae.ipp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,5 +1,5 @@
// (C) Copyright Eric Friedman 2003.
-// Some modifications by Jeremiah Willcock and Jaakko Järvi.
+// Some modifications by Jeremiah Willcock and Jaakko Jarvi.
// 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)
Modified: branches/CMake/release/libs/config/test/config_info.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/config_info.cpp (original)
+++ branches/CMake/release/libs/config/test/config_info.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -952,6 +952,7 @@
PRINT_MACRO(BOOST_HAS_WINTHREADS);
PRINT_MACRO(BOOST_MSVC6_MEMBER_TEMPLATES);
PRINT_MACRO(BOOST_MSVC_STD_ITERATOR);
+ PRINT_MACRO(BOOST_NO_ADL_BARRIER);
PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP);
PRINT_MACRO(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS);
PRINT_MACRO(BOOST_NO_AUTO_PTR);
@@ -982,6 +983,7 @@
PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_KEYWORD);
PRINT_MACRO(BOOST_NO_MS_INT64_NUMERIC_LIMITS);
PRINT_MACRO(BOOST_NO_OPERATORS_IN_NAMESPACE);
+ PRINT_MACRO(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS);
PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST);
PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS);
PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE);
@@ -1001,6 +1003,7 @@
PRINT_MACRO(BOOST_NO_STD_WSTRING);
PRINT_MACRO(BOOST_NO_STRINGSTREAM);
PRINT_MACRO(BOOST_NO_SWPRINTF);
+ PRINT_MACRO(BOOST_NO_TEMPLATED_IOSTREAMS);
PRINT_MACRO(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS);
PRINT_MACRO(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION);
PRINT_MACRO(BOOST_NO_TEMPLATE_TEMPLATES);
@@ -1019,6 +1022,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
// END GENERATED BLOCK
PRINT_MACRO(BOOST_INTEL);
Modified: branches/CMake/release/libs/config/test/config_test.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/config_test.cpp (original)
+++ branches/CMake/release/libs/config/test/config_test.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,4 +1,4 @@
-// This file was automatically generated on Fri Oct 19 13:34:11 2007
+// This file was automatically generated on Sat Jul 12 12:39:34 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
@@ -22,6 +22,11 @@
int error_count = 0;
+#ifndef BOOST_NO_ADL_BARRIER
+#include "boost_no_adl_barrier.ipp"
+#else
+namespace boost_no_adl_barrier = empty_boost;
+#endif
#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
#include "boost_no_arg_dep_lookup.ipp"
#else
@@ -192,6 +197,11 @@
#else
namespace boost_no_template_partial_specialization = empty_boost;
#endif
+#ifndef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+#include "boost_no_part_spec_def_args.ipp"
+#else
+namespace boost_no_partial_specialization_implicit_default_args = empty_boost;
+#endif
#ifndef BOOST_NO_PRIVATE_IN_AGGREGATE
#include "boost_no_priv_aggregate.ipp"
#else
@@ -287,6 +297,11 @@
#else
namespace boost_no_swprintf = empty_boost;
#endif
+#ifndef BOOST_NO_TEMPLATED_IOSTREAMS
+#include "boost_no_template_streams.ipp"
+#else
+namespace boost_no_templated_iostreams = empty_boost;
+#endif
#ifndef BOOST_NO_TEMPLATE_TEMPLATES
#include "boost_no_template_template.ipp"
#else
@@ -841,6 +856,11 @@
std::cerr << "Failed test for BOOST_HAS_WINTHREADS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
+ if(0 != boost_no_adl_barrier::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_ADL_BARRIER at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
if(0 != boost_no_argument_dependent_lookup::test())
{
std::cerr << "Failed test for BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1011,6 +1031,11 @@
std::cerr << "Failed test for BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
+ if(0 != boost_no_partial_specialization_implicit_default_args::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
if(0 != boost_no_private_in_aggregate::test())
{
std::cerr << "Failed test for BOOST_NO_PRIVATE_IN_AGGREGATE at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1106,6 +1131,11 @@
std::cerr << "Failed test for BOOST_NO_SWPRINTF at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
+ if(0 != boost_no_templated_iostreams::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_TEMPLATED_IOSTREAMS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
if(0 != boost_no_template_templates::test())
{
std::cerr << "Failed test for BOOST_NO_TEMPLATE_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
Modified: branches/CMake/release/libs/config/test/has_tr1_array_fail.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_array_fail.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_array_fail.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Sat Feb 19 12:29:54 2005
+// This file was automatically generated on Sat Jul 12 12:39:31 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_ARRAY
// This file should not compile, if it does then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_TR1_ARRAY
Modified: branches/CMake/release/libs/config/test/has_tr1_array_pass.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_array_pass.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_array_pass.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Sat Feb 19 12:29:54 2005
+// This file was automatically generated on Sat Jul 12 12:39:31 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_ARRAY
// This file should compile, if it does not then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_TR1_ARRAY
Modified: branches/CMake/release/libs/config/test/has_tr1_bind_fail.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_bind_fail.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_bind_fail.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Mon Jan 24 16:31:49 2005
+// This file was automatically generated on Sat Jul 12 12:39:31 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_BIND
// This file should not compile, if it does then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_TR1_BIND
Modified: branches/CMake/release/libs/config/test/has_tr1_bind_pass.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_bind_pass.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_bind_pass.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Mon Jan 24 16:31:49 2005
+// This file was automatically generated on Sat Jul 12 12:39:31 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_BIND
// This file should compile, if it does not then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_TR1_BIND
Modified: branches/CMake/release/libs/config/test/has_tr1_complex_over_fail.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_complex_over_fail.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_complex_over_fail.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Sat Apr 02 11:49:11 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_COMPLEX_OVERLOADS
// This file should not compile, if it does then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_TR1_COMPLEX_OVERLOADS
Modified: branches/CMake/release/libs/config/test/has_tr1_complex_over_pass.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_complex_over_pass.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_complex_over_pass.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Sat Apr 02 11:49:11 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_COMPLEX_OVERLOADS
// This file should compile, if it does not then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_TR1_COMPLEX_OVERLOADS
Modified: branches/CMake/release/libs/config/test/has_tr1_complex_trig_fail.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_complex_trig_fail.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_complex_trig_fail.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Sat Apr 02 11:49:12 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
// This file should not compile, if it does then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
Modified: branches/CMake/release/libs/config/test/has_tr1_complex_trig_pass.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_complex_trig_pass.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_complex_trig_pass.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Sat Apr 02 11:49:12 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
// This file should compile, if it does not then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
Modified: branches/CMake/release/libs/config/test/has_tr1_function_fail.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_function_fail.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_function_fail.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Tue Jan 25 15:52:52 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_FUNCTION
// This file should not compile, if it does then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_TR1_FUNCTION
Modified: branches/CMake/release/libs/config/test/has_tr1_function_pass.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_function_pass.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_function_pass.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Tue Jan 25 15:52:52 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_FUNCTION
// This file should compile, if it does not then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_TR1_FUNCTION
Modified: branches/CMake/release/libs/config/test/has_tr1_hash_fail.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_hash_fail.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_hash_fail.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Sat Feb 19 12:29:55 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_HASH
// This file should not compile, if it does then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_TR1_HASH
Modified: branches/CMake/release/libs/config/test/has_tr1_hash_pass.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_hash_pass.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_hash_pass.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Sat Feb 19 12:29:55 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_HASH
// This file should compile, if it does not then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_TR1_HASH
Modified: branches/CMake/release/libs/config/test/has_tr1_mem_fn_fail.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_mem_fn_fail.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_mem_fn_fail.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Mon Jan 24 16:31:49 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_MEM_FN
// This file should not compile, if it does then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_TR1_MEM_FN
Modified: branches/CMake/release/libs/config/test/has_tr1_mem_fn_pass.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_mem_fn_pass.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_mem_fn_pass.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Mon Jan 24 16:31:49 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_MEM_FN
// This file should compile, if it does not then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_TR1_MEM_FN
Modified: branches/CMake/release/libs/config/test/has_tr1_random_fail.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_random_fail.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_random_fail.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Tue Feb 15 17:34:12 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_RANDOM
// This file should not compile, if it does then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_TR1_RANDOM
Modified: branches/CMake/release/libs/config/test/has_tr1_random_pass.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_random_pass.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_random_pass.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Tue Feb 15 17:34:12 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_RANDOM
// This file should compile, if it does not then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_TR1_RANDOM
Modified: branches/CMake/release/libs/config/test/has_tr1_ref_wrap_fail.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_ref_wrap_fail.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_ref_wrap_fail.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Sun Jan 16 16:06:37 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_REFERENCE_WRAPPER
// This file should not compile, if it does then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_TR1_REFERENCE_WRAPPER
Modified: branches/CMake/release/libs/config/test/has_tr1_ref_wrap_pass.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_ref_wrap_pass.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_ref_wrap_pass.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Sun Jan 16 16:06:37 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_REFERENCE_WRAPPER
// This file should compile, if it does not then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_TR1_REFERENCE_WRAPPER
Modified: branches/CMake/release/libs/config/test/has_tr1_regex_fail.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_regex_fail.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_regex_fail.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,15 +1,18 @@
-// This file was automatically generated on Sat Apr 02 11:49:12 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
-// Test file for macro BOOST_HAS_TR1_ARRAY
+
+// Test file for macro BOOST_HAS_TR1_REGEX
// This file should not compile, if it does then
-// BOOST_HAS_TR1_ARRAY should be defined.
+// BOOST_HAS_TR1_REGEX should be defined.
// See file boost_has_tr1_regex.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
@@ -19,9 +22,10 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
-#ifndef BOOST_HAS_TR1_ARRAY
+#ifndef BOOST_HAS_TR1_REGEX
#include "boost_has_tr1_regex.ipp"
#else
#error "this file should not compile"
@@ -29,6 +33,6 @@
int main( int, char *[] )
{
- return boost_has_tr1_array::test();
+ return boost_has_tr1_regex::test();
}
Modified: branches/CMake/release/libs/config/test/has_tr1_regex_pass.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_regex_pass.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_regex_pass.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,15 +1,18 @@
-// This file was automatically generated on Sat Apr 02 11:49:12 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
-// Test file for macro BOOST_HAS_TR1_ARRAY
+
+// Test file for macro BOOST_HAS_TR1_REGEX
// This file should compile, if it does not then
-// BOOST_HAS_TR1_ARRAY should not be defined.
+// BOOST_HAS_TR1_REGEX should not be defined.
// See file boost_has_tr1_regex.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
@@ -19,16 +22,17 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
-#ifdef BOOST_HAS_TR1_ARRAY
+#ifdef BOOST_HAS_TR1_REGEX
#include "boost_has_tr1_regex.ipp"
#else
-namespace boost_has_tr1_array = empty_boost;
+namespace boost_has_tr1_regex = empty_boost;
#endif
int main( int, char *[] )
{
- return boost_has_tr1_array::test();
+ return boost_has_tr1_regex::test();
}
Modified: branches/CMake/release/libs/config/test/has_tr1_result_of_fail.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_result_of_fail.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_result_of_fail.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Mon Jan 24 16:31:49 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_RESULT_OF
// This file should not compile, if it does then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_TR1_RESULT_OF
Modified: branches/CMake/release/libs/config/test/has_tr1_result_of_pass.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_result_of_pass.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_result_of_pass.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Mon Jan 24 16:31:49 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_RESULT_OF
// This file should compile, if it does not then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_TR1_RESULT_OF
Modified: branches/CMake/release/libs/config/test/has_tr1_shared_ptr_fail.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_shared_ptr_fail.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_shared_ptr_fail.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Mon Jan 17 10:49:50 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_SHARED_PTR
// This file should not compile, if it does then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_TR1_SHARED_PTR
Modified: branches/CMake/release/libs/config/test/has_tr1_shared_ptr_pass.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_shared_ptr_pass.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_shared_ptr_pass.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Mon Jan 17 10:49:50 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_SHARED_PTR
// This file should compile, if it does not then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_TR1_SHARED_PTR
Modified: branches/CMake/release/libs/config/test/has_tr1_tuple_fail.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_tuple_fail.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_tuple_fail.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Tue Feb 15 17:34:12 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_TUPLE
// This file should not compile, if it does then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_TR1_TUPLE
Modified: branches/CMake/release/libs/config/test/has_tr1_tuple_pass.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_tuple_pass.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_tuple_pass.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Tue Feb 15 17:34:12 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_TUPLE
// This file should compile, if it does not then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_TR1_TUPLE
Modified: branches/CMake/release/libs/config/test/has_tr1_type_traits_fail.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_type_traits_fail.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_type_traits_fail.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Tue Feb 15 17:34:12 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_TYPE_TRAITS
// This file should not compile, if it does then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_TR1_TYPE_TRAITS
Modified: branches/CMake/release/libs/config/test/has_tr1_type_traits_pass.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_type_traits_pass.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_type_traits_pass.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Tue Feb 15 17:34:12 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_TYPE_TRAITS
// This file should compile, if it does not then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_TR1_TYPE_TRAITS
Modified: branches/CMake/release/libs/config/test/has_tr1_unordered_map_fail.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_unordered_map_fail.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_unordered_map_fail.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Sat Feb 19 12:29:55 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_UNORDERED_MAP
// This file should not compile, if it does then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_TR1_UNORDERED_MAP
Modified: branches/CMake/release/libs/config/test/has_tr1_unordered_map_pass.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_unordered_map_pass.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_unordered_map_pass.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Sat Feb 19 12:29:55 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_UNORDERED_MAP
// This file should compile, if it does not then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_TR1_UNORDERED_MAP
Modified: branches/CMake/release/libs/config/test/has_tr1_unordered_set_fail.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_unordered_set_fail.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_unordered_set_fail.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Sat Feb 19 12:29:55 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_UNORDERED_SET
// This file should not compile, if it does then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_TR1_UNORDERED_SET
Modified: branches/CMake/release/libs/config/test/has_tr1_unordered_set_pass.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_unordered_set_pass.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_unordered_set_pass.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Sat Feb 19 12:29:55 2005
+// This file was automatically generated on Sat Jul 12 12:39:32 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_UNORDERED_SET
// This file should compile, if it does not then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_TR1_UNORDERED_SET
Modified: branches/CMake/release/libs/config/test/has_tr1_utility_fail.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_utility_fail.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_utility_fail.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Tue Feb 15 17:34:13 2005
+// This file was automatically generated on Sat Jul 12 12:39:33 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_UTILITY
// This file should not compile, if it does then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_TR1_UTILITY
Modified: branches/CMake/release/libs/config/test/has_tr1_utility_pass.cpp
==============================================================================
--- branches/CMake/release/libs/config/test/has_tr1_utility_pass.cpp (original)
+++ branches/CMake/release/libs/config/test/has_tr1_utility_pass.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,11 +1,14 @@
-// This file was automatically generated on Tue Feb 15 17:34:13 2005
+// This file was automatically generated on Sat Jul 12 12:39:33 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/config for the most recent version.
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
// Test file for macro BOOST_HAS_TR1_UTILITY
// This file should compile, if it does not then
@@ -19,6 +22,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/tr1/detail/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_TR1_UTILITY
Deleted: branches/CMake/release/libs/config/test/options.jam
==============================================================================
--- branches/CMake/release/libs/config/test/options.jam 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
+++ (empty file)
@@ -1,26 +0,0 @@
-# copyright John Maddock 2003
-# Use, modification and distribution are subject to the
-# Boost Software License, Version 1.0. (See accompanying file
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#
-# this template defines the options common to
-# all config builds and tests:
-#
-template config_options
- : # sources
- : # requirements
- <sysinclude>$(BOOST_ROOT)
- # como requires access to <windows.h>:
- <como-win32><*><no-warn>
- # threading tests require thread support turned on:
- <threading>multi
- ;
-
-template config_test_options
- : # sources
- <lib>../../test/build/boost_test_exec_monitor
- <template>config_options
- ;
-
-
Deleted: branches/CMake/release/libs/config/test/options_v2.jam
==============================================================================
--- branches/CMake/release/libs/config/test/options_v2.jam 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
+++ (empty file)
@@ -1,12 +0,0 @@
-# copyright John Maddock 2003
-# Use, modification and distribution are subject to the
-# Boost Software License, Version 1.0. (See accompanying file
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-project
- : requirements
- # threading tests require thread support turned on:
- <threading>multi
- ;
-
-local test-requirements = <library>../../test/build//boost_test_exec_monitor ;
Modified: branches/CMake/release/libs/config/tools/generate.cpp
==============================================================================
--- branches/CMake/release/libs/config/tools/generate.cpp (original)
+++ branches/CMake/release/libs/config/tools/generate.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -89,33 +89,9 @@
ofs << "int main( int, char *[] )\n{\n" << config_test2.str() << " return error_count;\n}\n\n";
}
-void write_jamfile()
-{
- fs::ofstream ofs(config_path / "Jamfile");
- time_t t = std::time(0);
- ofs << "#\n# Regression test Jamfile for boost configuration setup.\n# *** DO NOT EDIT THIS FILE BY HAND ***\n"
- "# This file was automatically generated on " << std::ctime(&t);
- ofs << "# by libs/config/tools/generate.cpp\n"
- "# Copyright John Maddock.\n"
- "# Use, modification and distribution are subject to the \n"
- "# Boost Software License, Version 1.0. (See accompanying file \n"
- "# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n"
- "#\n# If you need to alter build preferences then set them in\n"
- "# the template defined in options.jam.\n#\n"
- "subproject libs/config/test ;\n"
- "# bring in the rules for testing\n"
- "import testing ./options ;\n\n"
- "run config_info.cpp <template>config_options ;\n"
- "run math_info.cpp <template>config_options : : : <borland><*><runtime-link>static ;\n"
- "run config_test.cpp <template>config_options ;\n"
- "run limits_test.cpp <template>config_test_options ;\n"
- "run abi/abi_test.cpp abi/main.cpp <template>config_options ;\n\n";
- ofs << jamfile.str() << std::endl;
-}
-
void write_jamfile_v2()
{
- fs::ofstream ofs(config_path / "Jamfile.v2");
+ fs::ofstream ofs(config_path / "all" / "Jamfile.v2");
time_t t = std::time(0);
ofs << "#\n# Regression test Jamfile for boost configuration setup.\n# *** DO NOT EDIT THIS FILE BY HAND ***\n"
"# This file was automatically generated on " << std::ctime(&t);
@@ -128,11 +104,13 @@
"# the template defined in options_v2.jam.\n#\n"
"path-constant DOT : . ;\n"
"include $(DOT)/options_v2.jam ;\n\n"
- "run config_info.cpp ;\n"
- "run math_info.cpp : : : <toolset>borland:<runtime-link>static <toolset>borland:<link>static ;\n"
- "run config_test.cpp ;\n"
- "run limits_test.cpp ../../test/build//boost_test_exec_monitor ;\n"
- "run abi/abi_test.cpp abi/main.cpp ;\n\n";
+ "run ../config_info.cpp : : : <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ;\n"
+ "run ../config_info.cpp : : : <threading>multi : config_info_threaded ;\n"
+ "run ../math_info.cpp : : : <toolset>borland:<runtime-link>static <toolset>borland:<link>static ;\n"
+ "run ../config_test.cpp : : : <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ;\n"
+ "run ../config_test.cpp : : : <threading>multi : config_test_threaded ;\n"
+ "run ../limits_test.cpp ../../../test/build//boost_test_exec_monitor ;\n"
+ "run ../abi/abi_test.cpp ../abi/main.cpp ;\n\n";
ofs << jamfile_v2.str() << std::endl;
}
@@ -178,8 +156,14 @@
"# undef BOOST_ASSERT_CONFIG\n"
"#endif\n\n";
- ofs << "#include <boost/config.hpp>\n"
- "#include \"test.hpp\"\n\n"
+ static const boost::regex tr1_exp("BOOST_HAS_TR1.*");
+
+ ofs << "#include <boost/config.hpp>\n";
+
+ if(regex_match(macro_name, tr1_exp))
+ ofs << "#include <boost/tr1/detail/config.hpp>\n";
+
+ ofs << "#include \"test.hpp\"\n\n"
"#if";
if(positive_test != expect_success)
ofs << "n";
@@ -263,8 +247,8 @@
"[ compile-fail " << negative_file.leaf() << " <template>config_options ] ;\n";
jamfile_v2 << "test-suite \"" << macro_name << "\" : \n"
- "[ run " << positive_file.leaf() << " ]\n"
- "[ compile-fail " << negative_file.leaf() << " ] ;\n";
+ "[ run ../" << positive_file.leaf() << " ]\n"
+ "[ compile-fail ../" << negative_file.leaf() << " ] ;\n";
}
@@ -292,14 +276,13 @@
fs::directory_iterator i(config_path), j;
while(i != j)
{
- if(boost::regex_match(i->leaf(), ipp_match, ipp_mask))
+ if(boost::regex_match(i->path().leaf(), ipp_match, ipp_mask))
{
process_ipp_file(*i, ipp_match[1].matched);
}
++i;
}
write_config_test();
- write_jamfile();
write_jamfile_v2();
write_config_info();
return 0;
Modified: branches/CMake/release/libs/dynamic_bitset/dynamic_bitset.html
==============================================================================
--- branches/CMake/release/libs/dynamic_bitset/dynamic_bitset.html (original)
+++ branches/CMake/release/libs/dynamic_bitset/dynamic_bitset.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1064,10 +1064,7 @@
<b>Returns:</b> a copy of <tt>*this</tt> shifted to the left by
<tt>n</tt> bits. For each bit in the returned bitset, the bit at
position pos takes on the value of the bit at position <tt>pos -
-n</tt> of this bitset, or zero if no such bit exists. Note that
-the expression <tt>b << n</tt> is equivalent to
-constructing a temporary copy of <tt>b</tt> and then using
-<tt>operator<<=</tt>.<br>
+n</tt> of this bitset, or zero if no such bit exists.<br>
<b>Throws:</b> An allocation error if memory is exhausted
(<tt>std::bad_alloc</tt> if <tt>Allocator=std::allocator</tt>).
@@ -1080,10 +1077,7 @@
<b>Returns:</b> a copy of <tt>*this</tt> shifted to the right by
<tt>n</tt> bits. For each bit in the returned bitset, the bit at
position pos takes on the value of the bit at position <tt>pos +
-n</tt> of this bitset, or zero if no such bit exists. Note that
-the expression <tt>b >> n</tt> is equivalent to
-constructing a temporary copy of <tt>b</tt> and then using
-<tt>operator>>=</tt>.<br>
+n</tt> of this bitset, or zero if no such bit exists.<br>
<b>Throws:</b> An allocation error if memory is exhausted
(<tt>std::bad_alloc</tt> if <tt>Allocator=std::allocator</tt>).
@@ -1396,10 +1390,7 @@
<b>Requires:</b> <tt>a.size() == b.size()</tt><br>
<b>Returns:</b> A new bitset that is the bitwise-AND of the
-bitsets <tt>a</tt> and <tt>b</tt>. Note that the expression
-<tt>b1 & b2</tt> is equivalent to creating a temporary copy
-of <tt>b1</tt>, using <tt>operator&=</tt>, and returning the
-temporary copy.<br>
+bitsets <tt>a</tt> and <tt>b</tt>.<br>
<b>Throws:</b> An allocation error if memory is exhausted
(<tt>std::bad_alloc</tt> if <tt>Allocator=std::allocator</tt>).
@@ -1411,10 +1402,7 @@
<b>Requires:</b> <tt>a.size() == b.size()</tt><br>
<b>Returns:</b> A new bitset that is the bitwise-OR of the
-bitsets <tt>a</tt> and <tt>b</tt>. Note that the expression
-<tt>b1 & b2</tt> is equivalent to creating a temporary copy
-of <tt>b1</tt>, using <tt>operator&=</tt>, and returning the
-temporary copy.<br>
+bitsets <tt>a</tt> and <tt>b</tt>.<br>
<b>Throws:</b> An allocation error if memory is exhausted
(<tt>std::bad_alloc</tt> if <tt>Allocator=std::allocator</tt>).
@@ -1426,10 +1414,7 @@
<b>Requires:</b> <tt>a.size() == b.size()</tt><br>
<b>Returns:</b> A new bitset that is the bitwise-XOR of the
-bitsets <tt>a</tt> and <tt>b</tt>. Note that the expression
-<tt>b1 & b2</tt> is equivalent to creating a temporary copy
-of <tt>b1</tt>, using <tt>operator&=</tt>, and returning the
-temporary copy.<br>
+bitsets <tt>a</tt> and <tt>b</tt>.<br>
<b>Throws:</b> An allocation error if memory is exhausted
(<tt>std::bad_alloc</tt> if <tt>Allocator=std::allocator</tt>).
@@ -1441,10 +1426,7 @@
<b>Requires:</b> <tt>a.size() == b.size()</tt><br>
<b>Returns:</b> A new bitset that is the set difference of the
-bitsets <tt>a</tt> and <tt>b</tt>. Note that the expression
-<tt>b1 - b2</tt> is equivalent to creating a temporary copy of
-<tt>b1</tt>, using <tt>operator-=</tt>, and returning the
-temporary copy.<br>
+bitsets <tt>a</tt> and <tt>b</tt>.<br>
<b>Throws:</b> An allocation error if memory is exhausted
(<tt>std::bad_alloc</tt> if <tt>Allocator=std::allocator</tt>).
Modified: branches/CMake/release/libs/exception/doc/BOOST_ERROR_INFO.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/BOOST_ERROR_INFO.html (original)
+++ branches/CMake/release/libs/exception/doc/BOOST_ERROR_INFO.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>BOOST_ERROR_INFO</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>BOOST_ERROR_INFO</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/info.hpp</span>></p>
<pre>namespace
boost
@@ -33,11 +34,13 @@
::boost::throw_file(__FILE__) <<\
::boost::throw_line((int)__LINE__)</span>
}</pre>
-</div><p>This macro is designed to be used with <span class="RenoLink">operator<<</span> when throwing a boost::<span class="RenoLink">exception</span>, to store information about the location of the throw statement. It can be chained with other <span class="RenoLink">error_info</span>s in a single throw expression.</p>
-</div><h3>See also:</h3>
+</div><p>This macro is designed to be used with <span class="RenoLink">operator<<</span> when throwing a boost::<span class="RenoLink">exception</span>, to store information about the location of the throw statement. It can be chained with other <span class="RenoLink">error_infos</span> in a single throw expression.</p>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_error_info_hpp.html">boost/exception/info.hpp<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/boost-exception.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/boost-exception.html (original)
+++ branches/CMake/release/libs/exception/doc/boost-exception.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -3,7 +3,7 @@
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
- <title>Boost Exception</title>
+ <title>boost exception</title>
<link href='reno.css' type='text/css' rel='stylesheet'/>
</head>
<body>
@@ -21,14 +21,14 @@
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
<h2>Introduction</h2>
<p>The purpose of Boost Exception is to ease the design of exception class hierarchies and to help write exception handling and error reporting code.</p>
-<p>It supports transporting of arbitrary data to the catch site, which is otherwise tricky due to the no-throw requirements (15.5.1) for exception classes. Data can be added to any exception object, either directly in the throw-expression (15.1), or at a later time as the exception object propagates up the call stack.</p>
+<p>It supports transporting of arbitrary data to the catch site, which is otherwise tricky due to the no-throw requirements (15.5.1) for exception types. Data can be added to any exception object, either directly in the throw-expression (15.1), or at a later time as the exception object propagates up the call stack.</p>
<p>The ability to add data to exception objects after they have been passed to throw is important, because often some of the information needed to handle an exception is unavailable in the context where the failure is detected. </p>
<p>Boost Exception also supports <span class="RenoLink">N2179</span>-style <span class="RenoLink">copying</span> of exception objects, implemented non-intrusively and automatically by the boost::<span class="RenoLink">throw_exception</span> function.</p>
<h2>Contents</h2>
-<div><ol><li>Tutorial<div><ol><li><span class="RenoLink">Tutorial: Transporting of Arbitrary Data to the Catch Site</span></li>
-<li><span class="RenoLink">Tutorial: Integrating Boost Exception in Existing Exception Class Hierarchies</span></li>
-<li><span class="RenoLink">Tutorial: Transporting of Exceptions between Threads</span></li>
-<li><span class="RenoLink">Tutorial: Diagnostic Information</span></li>
+<div><ol><li>Tutorial<div><ol><li><span class="RenoLink">Transporting of Arbitrary Data to the Catch Site</span></li>
+<li><span class="RenoLink">Integrating Boost Exception in Existing Exception Class Hierarchies</span></li>
+<li><span class="RenoLink">Transporting of Exceptions Between Threads</span></li>
+<li><span class="RenoLink">Diagnostic Information</span></li>
</ol></div>
</li>
<li>Documentation<div><ol><li>Class <span class="RenoLink">exception</span></li>
@@ -155,7 +155,8 @@
#endif</span></span>
}</pre>
<h2>Class exception</h2>
-<div class="RenoIncludeDIV"><h3>exception</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>exception</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/exception.hpp</span>></p>
<pre>namespace
boost
@@ -177,7 +178,8 @@
</div><p>Class boost::<span class="RenoLink">exception</span> is designed to be used as a universal base for user-defined exception types.</p>
<p>An object of any type deriving from boost::<span class="RenoLink">exception</span> can store data of arbitrary types, using the <span class="RenoLink">error_info</span> wrapper and <span class="RenoLink">operator<<</span>.</p>
<p>To retrieve data from a boost::<span class="RenoLink">exception</span> object, use the <span class="RenoLink">get_error_info</span> function template.</p>
-<div class="RenoIncludeDIV"><h3>exception::exception</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>exception::exception</h3>
+</div>
<div class="RenoIncludeDIV"><pre><span class="RenoLink">exception</span>();
<span class="RenoLink">exception</span>( <span class="RenoLink">exception</span> const & x );</pre>
</div><h4>Effects:</h4>
@@ -186,22 +188,27 @@
</ul></div>
<h4>Throws:</h4>
<p>Nothing.</p>
-</div><div class="RenoIncludeDIV"><h3>exception::~exception</h3>
+</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>exception::~exception</h3>
+</div>
<div class="RenoIncludeDIV"><pre><span class="RenoLink">~exception</span>();</pre>
</div><h4>Effects:</h4>
<p>Frees all resources associated with a boost::<span class="RenoLink">exception</span> object.</p>
<h4>Throws:</h4>
<p>Nothing.</p>
-</div><div class="RenoIncludeDIV"><h3>exception::diagnostic_information</h3>
+</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>exception::diagnostic_information</h3>
+</div>
<div class="RenoIncludeDIV"><pre>virtual char const * <span class="RenoLink">diagnostic_information</span>() const throw();</pre>
</div><h4>Returns:</h4>
-<p>An string representation of all data stored in the boost::<span class="RenoLink">exception</span> object by the <span class="RenoLink">operator<<</span> function. See "<span class="RenoLink">Tutorial: Diagnostic Information</span>" for details.</p>
+<p>A string representation of all data stored in the boost::<span class="RenoLink">exception</span> object by the <span class="RenoLink">operator<<</span> function. See "<span class="RenoLink">Diagnostic Information</span>" for details.</p>
<h4>Throws:</h4>
<p>Nothing.</p>
-<h4>Note:</h4>
-<p>The return value remains valid until the exception object from which it is obtained is destroyed or modified.</p>
+<h4>Notes:</h4>
+<div><ul><li>The return value remains valid until the exception object from which it was obtained is destroyed or modified.</li>
+<li>The header <span class="RenoLink">boost/exception/diagnostic_information.hpp</span> provides a namespace-scope function <span class="RenoLink">diagnostic_information</span> which takes a std::exception. It calls <span class="RenoLink">exception::diagnostic_information</span> if its argument can be converted to boost::<span class="RenoLink">exception</span>; otherwise it returns a string that combines the value of std::exception::what and the exception's dynamic type.</li>
+</ul></div>
</div></div><h2>Transporting of Arbitrary Data to the Catch Site</h2>
-<div class="RenoIncludeDIV"><h3>error_info</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>error_info</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/info.hpp</span>></p>
<pre>namespace
boost
@@ -218,7 +225,7 @@
};</span>
}</pre>
</div><h4>Requirements:</h4>
-<p>T must have accessible copy constructor and must not be a reference.</p>
+<p>T must have accessible copy constructor and must not be a reference (there is no requirement that T's copy constructor does not throw.)</p>
<h4>Description:</h4>
<p>This class template is used to associate a Tag type with a value type T. Objects of type <span class="RenoLink">error_info</span><Tag,T> can be passed to <span class="RenoLink">operator<<</span> to be stored in objects of type boost::<span class="RenoLink">exception</span>.</p>
<h4>Note:</h4>
@@ -226,8 +233,9 @@
<pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
typedef boost::<span class="RenoLink">error_info</span><struct tag_errno,int> errno_info;</pre>
-<p>Of course, to actually add an errno_info object to exceptions using <span class="RenoLink">operator<<</span>, or to retrieve it using <span class="RenoLink">get_error_info</span>, you must first #include <<span class="RenoLink">boost/exception/info.hpp</span>>.</p>
-</div><div class="RenoIncludeDIV"><h3>operator<<, error_info overload</h3>
+<p>Of course, to actually add an <span class="RenoLink">error_info</span> object to <span class="RenoLink">exceptions</span> using <span class="RenoLink">operator<<</span>, or to retrieve it using <span class="RenoLink">get_error_info</span>, you must first #include <<span class="RenoLink">boost/exception/info.hpp</span>>.</p>
+</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>operator<</exception</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/info.hpp</span>><span class="RenoBR"> </span><br/></p>
<pre>namespace
boost
@@ -238,12 +246,34 @@
</div><h4>Requirements:</h4>
<p>E must be boost::<span class="RenoLink">exception</span>, or a type that derives (indirectly) from boost::<span class="RenoLink">exception</span>.</p>
<h4>Effects:</h4>
-<p>Stores a copy of v into x. If x already contains data of type <span class="RenoLink">error_info</span><Tag1,T1>, that data is overwritten.</p>
+<p>Stores a copy of v into x. If x already contains data of type <span class="RenoLink">error_info</span><Tag,T>, that data is overwritten.</p>
<h4>Returns:</h4>
<p>x.</p>
<div class="RenoIncludeDIV"><h4>Throws:</h4>
<p>std::bad_alloc, or any exception emitted by the T copy constructor.</p>
-</div></div><div class="RenoIncludeDIV"><h3>get_error_info</h3>
+</div></div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>operator<</tuple</h3>
+</div>
+<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/info_tuple.hpp</span>></p>
+<pre>namespace
+boost
+ {
+<span class="RenoIncludeSPAN"> template <class E, class Tag1, class T1, ..., class TagN, class TN>
+ E const & <span class="RenoLink">operator<<</span>( E const & x,
+ <span class="RenoLink">tuple</span><
+ <span class="RenoLink">error_info</span><Tag1,T1>,
+ ...,
+ <span class="RenoLink">error_info</span><TagN,TN> > const & v );</span>
+ }</pre>
+</div><h4>Requirements:</h4>
+<p>E must be boost::<span class="RenoLink">exception</span>, or a type that derives (indirectly) from boost::<span class="RenoLink">exception</span>.</p>
+<h4>Effects:</h4>
+<p>Equivalent to x << v.<span class="RenoLink">get</span><0>() << ... << v.<span class="RenoLink">get</span><N>().</p>
+<h4>Returns:</h4>
+<p>x.</p>
+<div class="RenoIncludeDIV"><h4>Throws:</h4>
+<p>std::bad_alloc, or any exception emitted by T1..TN copy constructor.</p>
+</div></div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>get_error_info</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/info.hpp</span>></p>
<pre>namespace
boost
@@ -252,12 +282,17 @@
<span class="RenoLink">shared_ptr</span><typename ErrorInfo::value_type const> <span class="RenoLink">get_error_info</span>( E const & x );</span>
}</pre>
</div><h4>Requirements:</h4>
-<p>The type of the x object must derive from boost::<span class="RenoLink">exception</span>; ErrorInfo must be an instance of the <span class="RenoLink">error_info</span> template.</p>
+<div><ul><li> ErrorInfo must be an instance of the <span class="RenoLink">error_info</span> template.</li>
+<li> E must be polymorphic.</li>
+</ul></div>
<h4>Returns:</h4>
-<p>If x does not store an object of type ErrorInfo, returns an empty <span class="RenoLink">shared_ptr</span>; otherwise returns pointer to the stored value. Use <span class="RenoLink">operator<<</span> to store values in exception objects.</p>
+<div><ul><li> If dynamic_cast<boost::<span class="RenoLink">exception</span> const *>(&x) is 0, or if x does not store an object of type ErrorInfo, the returned value is an empty shared_ptr.</li>
+<li> Otherwise, the returned shared_ptr points to the stored value (use <span class="RenoLink">operator<<</span> to store values in exception objects.) The shared_ptr is valid even after x has been destroyed.</li>
+</ul></div>
<h4>Throws:</h4>
<p>Nothing.</p>
-</div><div class="RenoIncludeDIV"><h3>enable_error_info</h3>
+</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>enable_error_info</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/enable_error_info.hpp</span>></p>
<pre>namespace
boost
@@ -266,12 +301,15 @@
---unspecified--- <span class="RenoLink">enable_error_info</span>( T const & x );</span>
}</pre>
</div><h4>Requirements:</h4>
-<p>T must be a user-defined type with accessible no-throw copy constructor.</p>
+<p>T must be a user-defined type with accessible no-throw copy constructor as per (15.5.1).</p>
<h4>Returns:</h4>
-<p>An object of unspecified type with no-throw copy semantics, which derives publicly from both T, and class boost::<span class="RenoLink">exception</span>. The T sub-object is initialized from x by the T copy constructor. If T already derives from boost::<span class="RenoLink">exception</span>, then the type of the returned object does not derive boost::<span class="RenoLink">exception</span>.</p>
+<div><ul><li> If T derives from boost::<span class="RenoLink">exception</span>, the returned object is of type T and is a copy of x.</li>
+<li> Otherwise, the returned object is of an unspecified type that derives publicly from both T and boost::<span class="RenoLink">exception</span>. The T sub-object is initialized from x by the T copy constructor.</li>
+</ul></div>
<h4>Throws:</h4>
<p>Nothing.</p>
-</div><div class="RenoIncludeDIV"><h3>BOOST_ERROR_INFO</h3>
+</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>BOOST_ERROR_INFO</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/info.hpp</span>></p>
<pre>namespace
boost
@@ -285,9 +323,10 @@
::boost::throw_file(__FILE__) <<\
::boost::throw_line((int)__LINE__)</span>
}</pre>
-</div><p>This macro is designed to be used with <span class="RenoLink">operator<<</span> when throwing a boost::<span class="RenoLink">exception</span>, to store information about the location of the throw statement. It can be chained with other <span class="RenoLink">error_info</span>s in a single throw expression.</p>
+</div><p>This macro is designed to be used with <span class="RenoLink">operator<<</span> when throwing a boost::<span class="RenoLink">exception</span>, to store information about the location of the throw statement. It can be chained with other <span class="RenoLink">error_infos</span> in a single throw expression.</p>
</div><h2>Transporting of Exceptions between Threads</h2>
-<div class="RenoIncludeDIV"><h3>exception_ptr</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>exception_ptr</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception_ptr.hpp</span>></p>
<pre>namespace
boost
@@ -297,9 +336,8 @@
</div><p>The <span class="RenoLink">exception_ptr</span> type can be used to refer to a copy of an exception object. It is Default Constructible, Copy Constructible, Assignable and Equality Comparable; <span class="RenoLink">exception_ptr</span>'s operations do not throw.</p>
<p>Two instances of <span class="RenoLink">exception_ptr</span> are equivalent and compare equal if and only if they refer to the same exception.</p>
<p>The default constructor of <span class="RenoLink">exception_ptr</span> produces the null value of the type. The null value is equivalent only to itself.</p>
-<h4>Note:</h4>
-<p> <span class="RenoLink">exception_ptr</span> objects are returned by <span class="RenoLink">current_exception</span> and <span class="RenoLink">copy_exception</span>.</p>
-</div><div class="RenoIncludeDIV"><h3>enable_current_exception</h3>
+</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>enable_current_exception</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/enable_current_exception.hpp</span>></p>
<pre>namespace
boost
@@ -308,11 +346,11 @@
---unspecified--- <span class="RenoLink">enable_current_exception</span>( T const & e );</span>
}</pre>
</div><h4>Requirements:</h4>
-<p>T must have an accessible no-throw copy constructor</p>
+<p>T must be of user-defined type with an accessible no-throw copy constructor.</p>
<h4>Returns:</h4>
<p>An object of <i>unspecified</i> type which derives publicly from T. That is, the returned object can be intercepted by a catch(T &).</p>
<h4>Description:</h4>
-<p>This function is designed to be used directly in a throw-expression to enable the exception_ptr support in Boost Exception. For example:</p>
+<p>This function is designed to be used directly in a throw-expression to enable the <span class="RenoLink">exception_ptr</span> support in Boost Exception. For example:</p>
<pre>class
my_exception:
public std::exception
@@ -323,8 +361,9 @@
throw boost::<span class="RenoLink">enable_current_exception</span>(my_exception());</pre>
<p>Unless <span class="RenoLink">enable_current_exception</span> is called at the time an exception object is used in a throw-expression, an attempt to copy it using <span class="RenoLink">current_exception</span> may return an <span class="RenoLink">exception_ptr</span> which refers to an instance of <span class="RenoLink">unknown_exception</span>. See <span class="RenoLink">current_exception</span> for details.</p>
<h4>Note:</h4>
-<p>Instead of using the throw keyword directly, it is preferable to call boost::<span class="RenoLink">throw_exception</span>. This is guaranteed to throw an exception that derives from boost::<span class="RenoLink">exception</span> and supports exception_ptr functionality.</p>
-</div><div class="RenoIncludeDIV"><h3>current_exception</h3>
+<p>Instead of using the throw keyword directly, it is preferable to call boost::<span class="RenoLink">throw_exception</span>. This is guaranteed to throw an exception that derives from boost::<span class="RenoLink">exception</span> and supports the <span class="RenoLink">exception_ptr</span> functionality.</p>
+</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>current_exception</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception_ptr.hpp</span>></p>
<pre>namespace
boost
@@ -341,9 +380,10 @@
<p>Nothing.</p>
<h4>Notes:</h4>
<div><ul><li> It is unspecified whether the return values of two successive calls to <span class="RenoLink">current_exception</span> refer to the same exception object.</li>
-<li> Correct implementation of <span class="RenoLink">current_exception</span> may require compiler support, unless <span class="RenoLink">enable_current_exception</span> is used at the time the currently handled exception object was passed to throw. If <span class="RenoLink">enable_current_exception</span> is not used, and if the compiler does not provide the necessary support, then <span class="RenoLink">current_exception</span> may return an <span class="RenoLink">exception_ptr</span> that refers to an instance of <span class="RenoLink">unknown_exception</span>. In this case, if the original exception object derives from boost::<span class="RenoLink">exception</span>, then the boost::<span class="RenoLink">exception</sp
an> sub-object of the <span class="RenoLink">unknown_exception</span> object is initialized by the boost::<span class="RenoLink">exception</span> copy constructor.</li>
+<li> Correct implementation of <span class="RenoLink">current_exception</span> may require compiler support, unless <span class="RenoLink">enable_current_exception</span> was used at the time the currently handled exception object was passed to throw. If <span class="RenoLink">enable_current_exception</span> was not used, and if the compiler does not provide the necessary support, then <span class="RenoLink">current_exception</span> may return an <span class="RenoLink">exception_ptr</span> that refers to an instance of <span class="RenoLink">unknown_exception</span>. In this case, if the original exception object derives from boost::<span class="RenoLink">exception</span>, then the boost::<span class="RenoLink">exception</
span> sub-object of the <span class="RenoLink">unknown_exception</span> object is initialized by the boost::<span class="RenoLink">exception</span> copy constructor.</li>
</ul></div>
-</div><div class="RenoIncludeDIV"><h3>copy_exception</h3>
+</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>copy_exception</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception_ptr.hpp</span>></p>
<pre>namespace
boost
@@ -353,7 +393,8 @@
}</pre>
</div><h4>Effects:</h4>
<p>As if try { throw e; } catch( ... ) { return <span class="RenoLink">current_exception</span>(); }</p>
-</div><div class="RenoIncludeDIV"><h3>rethrow_exception</h3>
+</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>rethrow_exception</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception_ptr.hpp</span>></p>
<pre>namespace
boost
@@ -364,7 +405,8 @@
<p>ep shall not be null.</p>
<h4>Throws:</h4>
<p>The exception to which ep refers.</p>
-</div><div class="RenoIncludeDIV"><h3>unknown_exception</h3>
+</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>unknown_exception</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception_ptr.hpp</span>></p>
<pre>namespace
boost
@@ -379,7 +421,8 @@
}</pre>
</div><p>This type is used by the <span class="RenoLink">exception_ptr</span> support in Boost Exception. Please see <span class="RenoLink">current_exception</span>.</p>
</div><h2>Printing Diagnostic Information</h2>
-<div class="RenoIncludeDIV"><h3>diagnostic_information</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>diagnostic_information</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/diagnostic_information.hpp</span>></p>
<pre>namespace
boost
@@ -387,9 +430,10 @@
<span class="RenoIncludeSPAN"> std::string <span class="RenoLink">diagnostic_information</span>( std::exception const & x );</span>
}</pre>
</div><h4>Returns:</h4>
-<p>If dynamic_cast<boost::<span class="RenoLink">exception</span> *>(&x) is not null, the returned string is initialized by a call to <span class="RenoLink">exception::diagnostic_information</span>; otherwise, the returned string combines the output of x.what() and typeid(x).name().</p>
+<p>If dynamic_cast<boost::<span class="RenoLink">exception</span> const *>(&x) is not null, the returned string is initialized by a call to <span class="RenoLink">exception::diagnostic_information</span>; otherwise, the returned string combines the output of x.what() and typeid(x).name().</p>
</div><h2>Throwing Exceptions</h2>
-<div class="RenoIncludeDIV"><h3>throw_exception</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>throw_exception</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/throw_exception.hpp</span>></p>
<pre>namespace
boost
@@ -409,7 +453,7 @@
<p>E must derive publicly from std::exception.</p>
<h4>Effects:</h4>
<div><ul><li> If BOOST_NO_EXCEPTIONS is not defined, boost::<span class="RenoLink">throw_exception</span>(e) is equivalent to throw boost::<span class="RenoLink">enable_current_exception</span>(boost::<span class="RenoLink">enable_error_info</span>(e)), unless BOOST_EXCEPTION_DISABLE is defined, in which case boost::<span class="RenoLink">throw_exception</span>(e) is equivalent to throw e;</li>
-<li> If BOOST_NO_EXCEPTIONS is defined, the function is left undefined, and the user is expected to supply an appropriate definition. Callers of throw_exception are allowed to assume that the function never returns; therefore, if the user-defined throw_exception returns, the behavior is undefined.</li>
+<li> If BOOST_NO_EXCEPTIONS is defined, the function is left undefined, and the user is expected to supply an appropriate definition. Callers of <span class="RenoLink">throw_exception</span> are allowed to assume that the function never returns; therefore, if the user-defined <span class="RenoLink">throw_exception</span> returns, the behavior is undefined.</li>
</ul></div>
</div><!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
Modified: branches/CMake/release/libs/exception/doc/boost_exception_diagnostic_information_hpp.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/boost_exception_diagnostic_information_hpp.html (original)
+++ branches/CMake/release/libs/exception/doc/boost_exception_diagnostic_information_hpp.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h2>boost/exception/diagnostic_information.hpp</h2>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/diagnostic_information.hpp</h2>
+</div>
<h3>Synopsis</h3>
<div class="RenoIncludeDIV"><pre>#include <exception>
@@ -28,11 +29,14 @@
{
<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">std::string <span class="RenoLink">diagnostic_information</span>( std::exception const & x );</span></span>
}</pre>
-</div></div><h3>See also:</h3>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_hpp.html">boost/exception.hpp<br/>
</a><a href="diagnostic_information.html">diagnostic_information<br/>
+</a><a href="exception_diagnostic_information.html">exception::diagnostic_information<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/copy_exception.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/copy_exception.html (original)
+++ branches/CMake/release/libs/exception/doc/copy_exception.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>copy_exception</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>copy_exception</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception_ptr.hpp</span>></p>
<pre>namespace
boost
@@ -29,11 +30,12 @@
}</pre>
</div><h4>Effects:</h4>
<p>As if try { throw e; } catch( ... ) { return <span class="RenoLink">current_exception</span>(); }</p>
-</div><h3>See also:</h3>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_cloning_hpp.html">boost/exception_ptr.hpp<br/>
-</a><a href="exception_ptr.html">exception_ptr<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/current_exception.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/current_exception.html (original)
+++ branches/CMake/release/libs/exception/doc/current_exception.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>current_exception</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>current_exception</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception_ptr.hpp</span>></p>
<pre>namespace
boost
@@ -36,16 +37,17 @@
<p>Nothing.</p>
<h4>Notes:</h4>
<div><ul><li> It is unspecified whether the return values of two successive calls to <span class="RenoLink">current_exception</span> refer to the same exception object.</li>
-<li> Correct implementation of <span class="RenoLink">current_exception</span> may require compiler support, unless <span class="RenoLink">enable_current_exception</span> is used at the time the currently handled exception object was passed to throw. If <span class="RenoLink">enable_current_exception</span> is not used, and if the compiler does not provide the necessary support, then <span class="RenoLink">current_exception</span> may return an <span class="RenoLink">exception_ptr</span> that refers to an instance of <span class="RenoLink">unknown_exception</span>. In this case, if the original exception object derives from boost::<span class="RenoLink">exception</span>, then the boost::<span class="RenoLink">exception</sp
an> sub-object of the <span class="RenoLink">unknown_exception</span> object is initialized by the boost::<span class="RenoLink">exception</span> copy constructor.</li>
+<li> Correct implementation of <span class="RenoLink">current_exception</span> may require compiler support, unless <span class="RenoLink">enable_current_exception</span> was used at the time the currently handled exception object was passed to throw. If <span class="RenoLink">enable_current_exception</span> was not used, and if the compiler does not provide the necessary support, then <span class="RenoLink">current_exception</span> may return an <span class="RenoLink">exception_ptr</span> that refers to an instance of <span class="RenoLink">unknown_exception</span>. In this case, if the original exception object derives from boost::<span class="RenoLink">exception</span>, then the boost::<span class="RenoLink">exception</
span> sub-object of the <span class="RenoLink">unknown_exception</span> object is initialized by the boost::<span class="RenoLink">exception</span> copy constructor.</li>
</ul></div>
-</div><h3>See also:</h3>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_cloning_hpp.html">boost/exception_ptr.hpp<br/>
</a><a href="copy_exception.html">copy_exception<br/>
</a><a href="enable_current_exception.html">enable_current_exception<br/>
-</a><a href="exception_ptr.html">exception_ptr<br/>
</a><a href="unknown_exception.html">unknown_exception<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/diagnostic_information.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/diagnostic_information.html (original)
+++ branches/CMake/release/libs/exception/doc/diagnostic_information.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>diagnostic_information</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>diagnostic_information</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/diagnostic_information.hpp</span>></p>
<pre>namespace
boost
@@ -27,11 +28,14 @@
<span class="RenoIncludeSPAN"> std::string <span class="RenoLink">diagnostic_information</span>( std::exception const & x );</span>
}</pre>
</div><h4>Returns:</h4>
-<p>If dynamic_cast<boost::<span class="RenoLink">exception</span> *>(&x) is not null, the returned string is initialized by a call to <span class="RenoLink">exception::diagnostic_information</span>; otherwise, the returned string combines the output of x.what() and typeid(x).name().</p>
-</div><h3>See also:</h3>
+<p>If dynamic_cast<boost::<span class="RenoLink">exception</span> const *>(&x) is not null, the returned string is initialized by a call to <span class="RenoLink">exception::diagnostic_information</span>; otherwise, the returned string combines the output of x.what() and typeid(x).name().</p>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="boost_exception_diagnostic_information_hpp.html">boost/exception/diagnostic_information.hpp<br/>
+</a><a href="exception_diagnostic_information.html">exception::diagnostic_information<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/enable_current_exception.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/enable_current_exception.html (original)
+++ branches/CMake/release/libs/exception/doc/enable_current_exception.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>enable_current_exception</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>enable_current_exception</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/enable_current_exception.hpp</span>></p>
<pre>namespace
boost
@@ -28,11 +29,11 @@
---unspecified--- <span class="RenoLink">enable_current_exception</span>( T const & e );</span>
}</pre>
</div><h4>Requirements:</h4>
-<p>T must have an accessible no-throw copy constructor</p>
+<p>T must be of user-defined type with an accessible no-throw copy constructor.</p>
<h4>Returns:</h4>
<p>An object of <i>unspecified</i> type which derives publicly from T. That is, the returned object can be intercepted by a catch(T &).</p>
<h4>Description:</h4>
-<p>This function is designed to be used directly in a throw-expression to enable the exception_ptr support in Boost Exception. For example:</p>
+<p>This function is designed to be used directly in a throw-expression to enable the <span class="RenoLink">exception_ptr</span> support in Boost Exception. For example:</p>
<pre>class
my_exception:
public std::exception
@@ -43,14 +44,16 @@
throw boost::<span class="RenoLink">enable_current_exception</span>(my_exception());</pre>
<p>Unless <span class="RenoLink">enable_current_exception</span> is called at the time an exception object is used in a throw-expression, an attempt to copy it using <span class="RenoLink">current_exception</span> may return an <span class="RenoLink">exception_ptr</span> which refers to an instance of <span class="RenoLink">unknown_exception</span>. See <span class="RenoLink">current_exception</span> for details.</p>
<h4>Note:</h4>
-<p>Instead of using the throw keyword directly, it is preferable to call boost::<span class="RenoLink">throw_exception</span>. This is guaranteed to throw an exception that derives from boost::<span class="RenoLink">exception</span> and supports exception_ptr functionality.</p>
-</div><h3>See also:</h3>
+<p>Instead of using the throw keyword directly, it is preferable to call boost::<span class="RenoLink">throw_exception</span>. This is guaranteed to throw an exception that derives from boost::<span class="RenoLink">exception</span> and supports the <span class="RenoLink">exception_ptr</span> functionality.</p>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_enable_exception_cloning_hpp.html">boost/exception/enable_current_exception.hpp<br/>
</a><a href="current_exception.html">current_exception<br/>
-</a><a href="tutorial_exception_ptr.html">Tutorial: Transporting of Exceptions between Threads<br/>
+</a><a href="tutorial_exception_ptr.html">Transporting of Exceptions Between Threads<br/>
</a><a href="throw_exception.html">throw_exception<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/enable_error_info.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/enable_error_info.html (original)
+++ branches/CMake/release/libs/exception/doc/enable_error_info.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>enable_error_info</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>enable_error_info</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/enable_error_info.hpp</span>></p>
<pre>namespace
boost
@@ -28,17 +29,21 @@
---unspecified--- <span class="RenoLink">enable_error_info</span>( T const & x );</span>
}</pre>
</div><h4>Requirements:</h4>
-<p>T must be a user-defined type with accessible no-throw copy constructor.</p>
+<p>T must be a user-defined type with accessible no-throw copy constructor as per (15.5.1).</p>
<h4>Returns:</h4>
-<p>An object of unspecified type with no-throw copy semantics, which derives publicly from both T, and class boost::<span class="RenoLink">exception</span>. The T sub-object is initialized from x by the T copy constructor. If T already derives from boost::<span class="RenoLink">exception</span>, then the type of the returned object does not derive boost::<span class="RenoLink">exception</span>.</p>
+<div><ul><li> If T derives from boost::<span class="RenoLink">exception</span>, the returned object is of type T and is a copy of x.</li>
+<li> Otherwise, the returned object is of an unspecified type that derives publicly from both T and boost::<span class="RenoLink">exception</span>. The T sub-object is initialized from x by the T copy constructor.</li>
+</ul></div>
<h4>Throws:</h4>
<p>Nothing.</p>
-</div><h3>See also:</h3>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_enable_error_info_hpp.html">boost/exception/enable_error_info.hpp<br/>
-</a><a href="tutorial_enable_error_info.html">Tutorial: Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
+</a><a href="tutorial_enable_error_info.html">Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
</a><a href="throw_exception.html">throw_exception<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/error_info.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/error_info.html (original)
+++ branches/CMake/release/libs/exception/doc/error_info.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>error_info</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>error_info</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/info.hpp</span>></p>
<pre>namespace
boost
@@ -36,7 +37,7 @@
};</span>
}</pre>
</div><h4>Requirements:</h4>
-<p>T must have accessible copy constructor and must not be a reference.</p>
+<p>T must have accessible copy constructor and must not be a reference (there is no requirement that T's copy constructor does not throw.)</p>
<h4>Description:</h4>
<p>This class template is used to associate a Tag type with a value type T. Objects of type <span class="RenoLink">error_info</span><Tag,T> can be passed to <span class="RenoLink">operator<<</span> to be stored in objects of type boost::<span class="RenoLink">exception</span>.</p>
<h4>Note:</h4>
@@ -44,19 +45,21 @@
<pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
typedef boost::<span class="RenoLink">error_info</span><struct tag_errno,int> errno_info;</pre>
-<p>Of course, to actually add an errno_info object to exceptions using <span class="RenoLink">operator<<</span>, or to retrieve it using <span class="RenoLink">get_error_info</span>, you must first #include <<span class="RenoLink">boost/exception/info.hpp</span>>.</p>
-</div><h3>See also:</h3>
+<p>Of course, to actually add an <span class="RenoLink">error_info</span> object to <span class="RenoLink">exceptions</span> using <span class="RenoLink">operator<<</span>, or to retrieve it using <span class="RenoLink">get_error_info</span>, you must first #include <<span class="RenoLink">boost/exception/info.hpp</span>>.</p>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="BOOST_ERROR_INFO.html">BOOST_ERROR_INFO<br/>
</a><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_error_info_value_hpp.html">boost/exception/error_info.hpp<br/>
</a><a href="exception_error_info_hpp.html">boost/exception/info.hpp<br/>
+</a><a href="tutorial_diagnostic_information.html">Diagnostic Information<br/>
</a><a href="exception.html">exception<br/>
</a><a href="get_error_info.html">get_error_info<br/>
+</a><a href="tutorial_enable_error_info.html">Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
</a><a href="operator_shl_exception.html">operator<</exception<br/>
</a><a href="operator_shl_tuple.html">operator<</tuple<br/>
-</a><a href="tutorial_diagnostic_information.html">Tutorial: Diagnostic Information<br/>
-</a><a href="tutorial_enable_error_info.html">Tutorial: Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/exception.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/exception.html (original)
+++ branches/CMake/release/libs/exception/doc/exception.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>exception</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>exception</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/exception.hpp</span>></p>
<pre>namespace
boost
@@ -41,7 +42,8 @@
</div><p>Class boost::<span class="RenoLink">exception</span> is designed to be used as a universal base for user-defined exception types.</p>
<p>An object of any type deriving from boost::<span class="RenoLink">exception</span> can store data of arbitrary types, using the <span class="RenoLink">error_info</span> wrapper and <span class="RenoLink">operator<<</span>.</p>
<p>To retrieve data from a boost::<span class="RenoLink">exception</span> object, use the <span class="RenoLink">get_error_info</span> function template.</p>
-<div class="RenoIncludeDIV"><h3>exception::exception</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>exception::exception</h3>
+</div>
<div class="RenoIncludeDIV"><pre><span class="RenoLink">exception</span>();
<span class="RenoLink">exception</span>( <span class="RenoLink">exception</span> const & x );</pre>
</div><h4>Effects:</h4>
@@ -50,35 +52,44 @@
</ul></div>
<h4>Throws:</h4>
<p>Nothing.</p>
-</div><div class="RenoIncludeDIV"><h3>exception::~exception</h3>
+</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>exception::~exception</h3>
+</div>
<div class="RenoIncludeDIV"><pre><span class="RenoLink">~exception</span>();</pre>
</div><h4>Effects:</h4>
<p>Frees all resources associated with a boost::<span class="RenoLink">exception</span> object.</p>
<h4>Throws:</h4>
<p>Nothing.</p>
-</div><div class="RenoIncludeDIV"><h3>exception::diagnostic_information</h3>
+</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>exception::diagnostic_information</h3>
+</div>
<div class="RenoIncludeDIV"><pre>virtual char const * <span class="RenoLink">diagnostic_information</span>() const throw();</pre>
</div><h4>Returns:</h4>
-<p>An string representation of all data stored in the boost::<span class="RenoLink">exception</span> object by the <span class="RenoLink">operator<<</span> function. See "<span class="RenoLink">Tutorial: Diagnostic Information</span>" for details.</p>
+<p>A string representation of all data stored in the boost::<span class="RenoLink">exception</span> object by the <span class="RenoLink">operator<<</span> function. See "<span class="RenoLink">Diagnostic Information</span>" for details.</p>
<h4>Throws:</h4>
<p>Nothing.</p>
-<h4>Note:</h4>
-<p>The return value remains valid until the exception object from which it is obtained is destroyed or modified.</p>
-</div></div><h3>See also:</h3>
+<h4>Notes:</h4>
+<div><ul><li>The return value remains valid until the exception object from which it was obtained is destroyed or modified.</li>
+<li>The header <span class="RenoLink">boost/exception/diagnostic_information.hpp</span> provides a namespace-scope function <span class="RenoLink">diagnostic_information</span> which takes a std::exception. It calls <span class="RenoLink">exception::diagnostic_information</span> if its argument can be converted to boost::<span class="RenoLink">exception</span>; otherwise it returns a string that combines the value of std::exception::what and the exception's dynamic type.</li>
+</ul></div>
+</div></div><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="BOOST_ERROR_INFO.html">BOOST_ERROR_INFO<br/>
</a><a href="boost-exception.html">Boost Exception<br/>
+</a><a href="exception_exception_hpp.html">boost/exception/exception.hpp<br/>
</a><a href="current_exception.html">current_exception<br/>
+</a><a href="tutorial_diagnostic_information.html">Diagnostic Information<br/>
</a><a href="diagnostic_information.html">diagnostic_information<br/>
</a><a href="enable_current_exception.html">enable_current_exception<br/>
</a><a href="enable_error_info.html">enable_error_info<br/>
</a><a href="error_info.html">error_info<br/>
+</a><a href="exception_diagnostic_information.html">exception::diagnostic_information<br/>
+</a><a href="exception_constructors.html">exception::exception<br/>
+</a><a href="exception_destructor.html">exception::~exception<br/>
</a><a href="get_error_info.html">get_error_info<br/>
+</a><a href="tutorial_enable_error_info.html">Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
</a><a href="operator_shl_exception.html">operator<</exception<br/>
</a><a href="operator_shl_tuple.html">operator<</tuple<br/>
-</a><a href="tutorial_diagnostic_information.html">Tutorial: Diagnostic Information<br/>
-</a><a href="tutorial_enable_error_info.html">Tutorial: Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
-</a><a href="tutorial_transporting_data.html">Tutorial: Transporting of Arbitrary Data to the Catch Site<br/>
-</a><a href="tutorial_exception_ptr.html">Tutorial: Transporting of Exceptions between Threads<br/>
+</a><a href="tutorial_transporting_data.html">Transporting of Arbitrary Data to the Catch Site<br/>
+</a><a href="tutorial_exception_ptr.html">Transporting of Exceptions Between Threads<br/>
</a><a href="unknown_exception.html">unknown_exception<br/>
</a></div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
Modified: branches/CMake/release/libs/exception/doc/exception_cloning_hpp.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/exception_cloning_hpp.html (original)
+++ branches/CMake/release/libs/exception/doc/exception_cloning_hpp.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h2>boost/exception_ptr.hpp</h2>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception_ptr.hpp</h2>
+</div>
<h3>Synopsis</h3>
<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/exception.hpp</span>>
@@ -43,7 +44,8 @@
<span class="RenoIncludeSPAN">void <span class="RenoLink">rethrow_exception</span>( <span class="RenoLink">exception_ptr</span> const & ep );</span></span>
}</pre>
-</div></div><h3>See also:</h3>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_hpp.html">boost/exception.hpp<br/>
</a><a href="copy_exception.html">copy_exception<br/>
@@ -52,6 +54,7 @@
</a><a href="rethrow_exception.html">rethrow_exception<br/>
</a><a href="unknown_exception.html">unknown_exception<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/exception_constructors.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/exception_constructors.html (original)
+++ branches/CMake/release/libs/exception/doc/exception_constructors.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>exception::exception</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>exception::exception</h3>
+</div>
<div class="RenoIncludeDIV"><pre><span class="RenoLink">exception</span>();
<span class="RenoLink">exception</span>( <span class="RenoLink">exception</span> const & x );</pre>
</div><h4>Effects:</h4>
@@ -28,9 +29,11 @@
</ul></div>
<h4>Throws:</h4>
<p>Nothing.</p>
-</div><h3>See also:</h3>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="exception.html">exception<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/exception_destructor.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/exception_destructor.html (original)
+++ branches/CMake/release/libs/exception/doc/exception_destructor.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,15 +19,18 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>exception::~exception</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>exception::~exception</h3>
+</div>
<div class="RenoIncludeDIV"><pre><span class="RenoLink">~exception</span>();</pre>
</div><h4>Effects:</h4>
<p>Frees all resources associated with a boost::<span class="RenoLink">exception</span> object.</p>
<h4>Throws:</h4>
<p>Nothing.</p>
-</div><h3>See also:</h3>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="exception.html">exception<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/exception_diagnostic_information.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/exception_diagnostic_information.html (original)
+++ branches/CMake/release/libs/exception/doc/exception_diagnostic_information.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,19 +19,24 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>exception::diagnostic_information</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>exception::diagnostic_information</h3>
+</div>
<div class="RenoIncludeDIV"><pre>virtual char const * <span class="RenoLink">diagnostic_information</span>() const throw();</pre>
</div><h4>Returns:</h4>
-<p>An string representation of all data stored in the boost::<span class="RenoLink">exception</span> object by the <span class="RenoLink">operator<<</span> function. See "<span class="RenoLink">Tutorial: Diagnostic Information</span>" for details.</p>
+<p>A string representation of all data stored in the boost::<span class="RenoLink">exception</span> object by the <span class="RenoLink">operator<<</span> function. See "<span class="RenoLink">Diagnostic Information</span>" for details.</p>
<h4>Throws:</h4>
<p>Nothing.</p>
-<h4>Note:</h4>
-<p>The return value remains valid until the exception object from which it is obtained is destroyed or modified.</p>
-</div><h3>See also:</h3>
-<div class="RenoPageList"><a href="diagnostic_information.html">diagnostic_information<br/>
+<h4>Notes:</h4>
+<div><ul><li>The return value remains valid until the exception object from which it was obtained is destroyed or modified.</li>
+<li>The header <span class="RenoLink">boost/exception/diagnostic_information.hpp</span> provides a namespace-scope function <span class="RenoLink">diagnostic_information</span> which takes a std::exception. It calls <span class="RenoLink">exception::diagnostic_information</span> if its argument can be converted to boost::<span class="RenoLink">exception</span>; otherwise it returns a string that combines the value of std::exception::what and the exception's dynamic type.</li>
+</ul></div>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="tutorial_diagnostic_information.html">Diagnostic Information<br/>
+</a><a href="diagnostic_information.html">diagnostic_information<br/>
</a><a href="exception.html">exception<br/>
-</a><a href="tutorial_diagnostic_information.html">Tutorial: Diagnostic Information<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/exception_enable_error_info_hpp.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/exception_enable_error_info_hpp.html (original)
+++ branches/CMake/release/libs/exception/doc/exception_enable_error_info_hpp.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h2>boost/exception/enable_error_info.hpp</h2>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/enable_error_info.hpp</h2>
+</div>
<h3>Synopsis</h3>
<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/exception.hpp</span>>
@@ -29,11 +30,13 @@
<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">template <class T>
---unspecified--- <span class="RenoLink">enable_error_info</span>( T const & x );</span></span>
}</pre>
-</div></div><h3>See also:</h3>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="throw_exception_hpp.html">boost/throw_exception.hpp<br/>
</a><a href="enable_error_info.html">enable_error_info<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/exception_enable_exception_cloning_hpp.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/exception_enable_exception_cloning_hpp.html (original)
+++ branches/CMake/release/libs/exception/doc/exception_enable_exception_cloning_hpp.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h2>boost/exception/enable_current_exception.hpp</h2>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/enable_current_exception.hpp</h2>
+</div>
<h3>Synopsis</h3>
<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/exception.hpp</span>>
@@ -29,11 +30,13 @@
<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">template <class T>
---unspecified--- <span class="RenoLink">enable_current_exception</span>( T const & e );</span></span>
}</pre>
-</div></div><h3>See also:</h3>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="throw_exception_hpp.html">boost/throw_exception.hpp<br/>
</a><a href="enable_current_exception.html">enable_current_exception<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/exception_error_info_group_hpp.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/exception_error_info_group_hpp.html (original)
+++ branches/CMake/release/libs/exception/doc/exception_error_info_group_hpp.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h2>boost/exception/info_tuple.hpp</h2>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/info_tuple.hpp</h2>
+</div>
<h3>Synopsis</h3>
<div class="RenoIncludeDIV"><pre>#include <boost/tuple/tuple.hpp>
@@ -33,11 +34,13 @@
...,
<span class="RenoLink">error_info</span><TagN,TN> > const & v );</span></span>
}</pre>
-</div></div><h3>See also:</h3>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_hpp.html">boost/exception.hpp<br/>
</a><a href="operator_shl_tuple.html">operator<</tuple<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/exception_error_info_hpp.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/exception_error_info_hpp.html (original)
+++ branches/CMake/release/libs/exception/doc/exception_error_info_hpp.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h2>boost/exception/info.hpp</h2>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/info.hpp</h2>
+</div>
<h3>Synopsis</h3>
<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/exception.hpp</span>>
#include <boost/current_function.hpp>
@@ -54,13 +55,16 @@
<span class="RenoIncludeSPAN">template <class E, class Tag, class T>
E const & <span class="RenoLink">operator<<</span>( E const & x, <span class="RenoLink">error_info</span><Tag,T> const & v );</span></span>
}</pre>
-</div></div><div class="RenoPageList"><a href="BOOST_ERROR_INFO.html">BOOST_ERROR_INFO<br/>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="BOOST_ERROR_INFO.html">BOOST_ERROR_INFO<br/>
</a><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_hpp.html">boost/exception.hpp<br/>
</a><a href="error_info.html">error_info<br/>
</a><a href="get_error_info.html">get_error_info<br/>
</a><a href="operator_shl_exception.html">operator<</exception<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/exception_error_info_value_hpp.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/exception_error_info_value_hpp.html (original)
+++ branches/CMake/release/libs/exception/doc/exception_error_info_value_hpp.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,18 +19,21 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h2>boost/exception/error_info.hpp</h2>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/error_info.hpp</h2>
+</div>
<h3>Synopsis</h3>
<div class="RenoIncludeDIV"><pre>namespace
boost
{
-<span class="RenoIncludeSPAN"> template <class Tag, class T>
- class <span class="RenoLink">error_info</span>;</span>
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">template <class Tag,class T>
+ class <span class="RenoLink">error_info</span>;</span></span>
}</pre>
-</div></div><h3>See also:</h3>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="error_info.html">error_info<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/exception_exception_hpp.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/exception_exception_hpp.html (original)
+++ branches/CMake/release/libs/exception/doc/exception_exception_hpp.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h2>boost/exception/exception.hpp</h2>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/exception.hpp</h2>
+</div>
<h3>Synopsis</h3>
<div class="RenoIncludeDIV"><pre>namespace
boost
@@ -38,7 +39,8 @@
<span class="RenoIncludeSPAN"> <span class="RenoLink">~exception</span>();</span>
};</span></span>
}</pre>
-</div></div><h3>See also:</h3>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_enable_exception_cloning_hpp.html">boost/exception/enable_current_exception.hpp<br/>
</a><a href="exception_enable_error_info_hpp.html">boost/exception/enable_error_info.hpp<br/>
@@ -46,6 +48,7 @@
</a><a href="exception_cloning_hpp.html">boost/exception_ptr.hpp<br/>
</a><a href="exception.html">exception<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/exception_hpp.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/exception_hpp.html (original)
+++ branches/CMake/release/libs/exception/doc/exception_hpp.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,18 +19,21 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h2>boost/exception.hpp</h2>
-<h2>Synopsis</h2>
-<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/info.hpp</span>>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre><span class="RenoIncludeSPAN">#include <<span class="RenoLink">boost/exception/info.hpp</span>>
#include <<span class="RenoLink">boost/exception/info_tuple.hpp</span>>
#include <<span class="RenoLink">boost/exception/diagnostic_information.hpp</span>>
#include <<span class="RenoLink">boost/exception_ptr.hpp</span>>
-#include <<span class="RenoLink">boost/throw_exception.hpp</span>></pre>
-</div></div><h3>See also:</h3>
+#include <<span class="RenoLink">boost/throw_exception.hpp</span>></span></pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
-</a><a href="tutorial_diagnostic_information.html">Tutorial: Diagnostic Information<br/>
-</a><a href="tutorial_enable_error_info.html">Tutorial: Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
+</a><a href="tutorial_diagnostic_information.html">Diagnostic Information<br/>
+</a><a href="tutorial_enable_error_info.html">Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/exception_ptr.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/exception_ptr.html (original)
+++ branches/CMake/release/libs/exception/doc/exception_ptr.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>exception_ptr</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>exception_ptr</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception_ptr.hpp</span>></p>
<pre>namespace
boost
@@ -29,9 +30,8 @@
</div><p>The <span class="RenoLink">exception_ptr</span> type can be used to refer to a copy of an exception object. It is Default Constructible, Copy Constructible, Assignable and Equality Comparable; <span class="RenoLink">exception_ptr</span>'s operations do not throw.</p>
<p>Two instances of <span class="RenoLink">exception_ptr</span> are equivalent and compare equal if and only if they refer to the same exception.</p>
<p>The default constructor of <span class="RenoLink">exception_ptr</span> produces the null value of the type. The null value is equivalent only to itself.</p>
-<h4>Note:</h4>
-<p> <span class="RenoLink">exception_ptr</span> objects are returned by <span class="RenoLink">current_exception</span> and <span class="RenoLink">copy_exception</span>.</p>
-</div><h3>See also:</h3>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_cloning_hpp.html">boost/exception_ptr.hpp<br/>
</a><a href="copy_exception.html">copy_exception<br/>
@@ -40,6 +40,7 @@
</a><a href="rethrow_exception.html">rethrow_exception<br/>
</a><a href="unknown_exception.html">unknown_exception<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Deleted: branches/CMake/release/libs/exception/doc/exception_what.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/exception_what.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
+++ (empty file)
@@ -1,50 +0,0 @@
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
- <title>exception::what</title>
- <link href='reno.css' type='text/css' rel='stylesheet'/>
-</head>
-<body>
-<div class="body-0">
-<div class="body-1">
-<div class="body-2">
-<div>
-<div id="boost_logo">
-
-</div>
-<h1>Boost Exception</h1>
-</div>
-<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
-<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>exception::what</h3>
-<div class="RenoIncludeDIV"><pre>virtual char const * <span class="RenoLink">what</span>() const throw();</pre>
-</div><h4>Returns:</h4>
-<p>The default implementation is equivalent to return <span class="RenoLink">exception::diagnostic_information</span>(). The signature of boost::<span class="RenoLink">exception::what</span> is identical to the familiar std::exception::what function, so that when an exception type that derives both std::exception and boost::<span class="RenoLink">exception</span> overrides the what function, it overrides both std::exception::what and boost::<span class="RenoLink">exception::what</span>.</p>
-<h4>Throws:</h4>
-<p>Nothing.</p>
-<h4>Note:</h4>
-<p>The return value remains valid until the exception object from which it is obtained is destroyed or modified.</p>
-</div><h3>See also:</h3>
-<div class="RenoPageList"><a href="exception.html">exception<br/>
-</a></div>
-<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
-<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div id="footer">
-<p> </p>
-<hr/>
-<p>
-<a class="logo" href="http://jigsaw.w3.org/css-validator/validator?uri=http://revergestudios.com/boost-exception/reno.css"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
-<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
-<small>Copyright (c) 2006-2008 by Emil Dotchevski and Reverge Studios, Inc.<br/>
-Distributed under the Boost Software License, Version 1.0.</small>
-</p>
-</div>
-</div>
-</div>
-</div>
-</body>
-</html>
Modified: branches/CMake/release/libs/exception/doc/get_error_info.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/get_error_info.html (original)
+++ branches/CMake/release/libs/exception/doc/get_error_info.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>get_error_info</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>get_error_info</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/info.hpp</span>></p>
<pre>namespace
boost
@@ -28,17 +29,23 @@
<span class="RenoLink">shared_ptr</span><typename ErrorInfo::value_type const> <span class="RenoLink">get_error_info</span>( E const & x );</span>
}</pre>
</div><h4>Requirements:</h4>
-<p>The type of the x object must derive from boost::<span class="RenoLink">exception</span>; ErrorInfo must be an instance of the <span class="RenoLink">error_info</span> template.</p>
+<div><ul><li> ErrorInfo must be an instance of the <span class="RenoLink">error_info</span> template.</li>
+<li> E must be polymorphic.</li>
+</ul></div>
<h4>Returns:</h4>
-<p>If x does not store an object of type ErrorInfo, returns an empty <span class="RenoLink">shared_ptr</span>; otherwise returns pointer to the stored value. Use <span class="RenoLink">operator<<</span> to store values in exception objects.</p>
+<div><ul><li> If dynamic_cast<boost::<span class="RenoLink">exception</span> const *>(&x) is 0, or if x does not store an object of type ErrorInfo, the returned value is an empty shared_ptr.</li>
+<li> Otherwise, the returned shared_ptr points to the stored value (use <span class="RenoLink">operator<<</span> to store values in exception objects.) The shared_ptr is valid even after x has been destroyed.</li>
+</ul></div>
<h4>Throws:</h4>
<p>Nothing.</p>
-</div><h3>See also:</h3>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_error_info_hpp.html">boost/exception/info.hpp<br/>
</a><a href="error_info.html">error_info<br/>
</a><a href="exception.html">exception<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/name_idx.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/name_idx.html (original)
+++ branches/CMake/release/libs/exception/doc/name_idx.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,9 +19,11 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<h1>Index</h1>
+<div class="RenoAutoDIV"><h1>Index</h1>
+</div>
<div class="RenoIndex"><h3>B</h3>
<p>BOOST_ERROR_INFO</p>
+<p>Boost Exception</p>
<h3>b</h3>
<p>boost/exception.hpp</p>
<p>boost/exception/diagnostic_information.hpp</p>
@@ -36,6 +38,8 @@
<h3>c</h3>
<p>copy_exception</p>
<p>current_exception</p>
+<h3>D</h3>
+<p>Diagnostic Information</p>
<h3>d</h3>
<p>diagnostic_information</p>
<h3>e</h3>
@@ -49,16 +53,16 @@
<p>exception_ptr</p>
<h3>g</h3>
<p>get_error_info</p>
+<h3>I</h3>
+<p>Integrating Boost Exception in Existing Exception Class Hierarchies</p>
<h3>o</h3>
<p>operator<</exception</p>
<p>operator<</tuple</p>
<h3>r</h3>
<p>rethrow_exception</p>
<h3>T</h3>
-<p>Tutorial: Diagnostic Information</p>
-<p>Tutorial: Integrating Boost Exception in Existing Exception Class Hierarchies</p>
-<p>Tutorial: Transporting of Arbitrary Data to the Catch Site</p>
-<p>Tutorial: Transporting of Exceptions between Threads</p>
+<p>Transporting of Arbitrary Data to the Catch Site</p>
+<p>Transporting of Exceptions Between Threads</p>
<h3>t</h3>
<p>throw_exception</p>
<h3>u</h3>
Modified: branches/CMake/release/libs/exception/doc/operator_shl_exception.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/operator_shl_exception.html (original)
+++ branches/CMake/release/libs/exception/doc/operator_shl_exception.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>operator<<, error_info overload</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>operator<</exception</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/info.hpp</span>><span class="RenoBR"> </span><br/></p>
<pre>namespace
boost
@@ -30,23 +31,25 @@
</div><h4>Requirements:</h4>
<p>E must be boost::<span class="RenoLink">exception</span>, or a type that derives (indirectly) from boost::<span class="RenoLink">exception</span>.</p>
<h4>Effects:</h4>
-<p>Stores a copy of v into x. If x already contains data of type <span class="RenoLink">error_info</span><Tag1,T1>, that data is overwritten.</p>
+<p>Stores a copy of v into x. If x already contains data of type <span class="RenoLink">error_info</span><Tag,T>, that data is overwritten.</p>
<h4>Returns:</h4>
<p>x.</p>
<div class="RenoIncludeDIV"><h4>Throws:</h4>
<p>std::bad_alloc, or any exception emitted by the T copy constructor.</p>
-</div></div><h3>See also:</h3>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="BOOST_ERROR_INFO.html">BOOST_ERROR_INFO<br/>
</a><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_error_info_hpp.html">boost/exception/info.hpp<br/>
+</a><a href="tutorial_diagnostic_information.html">Diagnostic Information<br/>
</a><a href="error_info.html">error_info<br/>
</a><a href="exception.html">exception<br/>
</a><a href="exception_diagnostic_information.html">exception::diagnostic_information<br/>
</a><a href="exception_constructors.html">exception::exception<br/>
</a><a href="get_error_info.html">get_error_info<br/>
-</a><a href="tutorial_diagnostic_information.html">Tutorial: Diagnostic Information<br/>
-</a><a href="tutorial_enable_error_info.html">Tutorial: Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
+</a><a href="tutorial_enable_error_info.html">Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/operator_shl_tuple.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/operator_shl_tuple.html (original)
+++ branches/CMake/release/libs/exception/doc/operator_shl_tuple.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>operator<<, tuple overload</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>operator<</tuple</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/info_tuple.hpp</span>></p>
<pre>namespace
boost
@@ -39,10 +40,12 @@
<p>x.</p>
<div class="RenoIncludeDIV"><h4>Throws:</h4>
<p>std::bad_alloc, or any exception emitted by T1..TN copy constructor.</p>
-</div></div><h3>See also:</h3>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_error_info_group_hpp.html">boost/exception/info_tuple.hpp<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/reno.css
==============================================================================
--- branches/CMake/release/libs/exception/doc/reno.css (original)
+++ branches/CMake/release/libs/exception/doc/reno.css 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -87,7 +87,7 @@
border-left: 0;
border-right: 0;
font-size: 10pt;
- background-color: #F0F0F0;
+ background-color: #E5E5E5;
padding-top: 5pt;
padding-bottom: 5pt;
padding-left: 5pt;
Modified: branches/CMake/release/libs/exception/doc/rethrow_exception.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/rethrow_exception.html (original)
+++ branches/CMake/release/libs/exception/doc/rethrow_exception.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>rethrow_exception</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>rethrow_exception</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception_ptr.hpp</span>></p>
<pre>namespace
boost
@@ -30,10 +31,12 @@
<p>ep shall not be null.</p>
<h4>Throws:</h4>
<p>The exception to which ep refers.</p>
-</div><h3>See also:</h3>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_cloning_hpp.html">boost/exception_ptr.hpp<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/source/boost-exception.reno
==============================================================================
--- branches/CMake/release/libs/exception/doc/source/boost-exception.reno (original)
+++ branches/CMake/release/libs/exception/doc/source/boost-exception.reno 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -13,12 +13,7 @@
</type>
<object>
<source>
- <path>
- <empty>0</empty>
- <string>../../../..</string>
- <type>1</type>
- <base>0</base>
- </path>
+ <string>../..;../../../../boost</string>
</source>
<match>
<string>.*\.(cpp|hpp|h)$</string>
@@ -34,7 +29,7 @@
</type>
<object>
<sorted>
- <size>9</size>
+ <size>7</size>
<pair>
<string>default</string>
<shared_ptr>
@@ -58,28 +53,32 @@
<hook>
<stream_hook_path>
<container>
- <size>1</size>
- <strong>CAB4D823BD4720B71E1CA5BE482AC95B42A9E07CD5E08671EA23184635F281A2</strong>
- <weak>3077708282</weak>
- <size>89</size>
- <position>323</position>
+ <size>2</size>
+ <strong>D1AA2FC554CD67A50917905B0E9CCA2EBC1A9BA97368757B36ADF8419756ECF1</strong>
+ <weak>85276724</weak>
+ <size>4917</size>
+ <position>514</position>
+ <strong>156B870761DB092CE4269C1173B479A344A1041BA2B883765AF19A72B371D776</strong>
+ <weak>3239976720</weak>
+ <size>117</size>
+ <position>4794</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/error_info.hpp</string>
+ <string>../../../../boost/exception_ptr.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
</hook>
<title>
- <string>boost/exception/error_info.hpp</string>
+ <string>rethrow_exception</string>
</title>
<file_name>
- <string>exception_error_info_value_hpp</string>
+ <string></string>
</file_name>
</object>
</shared_ptr>
@@ -87,7 +86,7 @@
<container>
<size>1</size>
<variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
+ <string>(:include include:) (:auto also:) </string>
</container>
</pair>
<pair>
@@ -103,25 +102,29 @@
<hook>
<stream_hook_path>
<container>
- <size>1</size>
- <strong>49D31376D97691F7C84A134B5D8C7C66EF1ED6901D376CA250D634AE2B38AB5E</strong>
- <weak>549270010</weak>
- <size>163</size>
- <position>572</position>
+ <size>2</size>
+ <strong>D1AA2FC554CD67A50917905B0E9CCA2EBC1A9BA97368757B36ADF8419756ECF1</strong>
+ <weak>85276724</weak>
+ <size>4917</size>
+ <position>514</position>
+ <strong>ED09F845070FF7D381BE5EFB6B55313FD09FBA16B64B69992410380EFA45519C</strong>
+ <weak>2051939590</weak>
+ <size>78</size>
+ <position>433</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/info.hpp</string>
+ <string>../../../../boost/exception_ptr.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
</hook>
<title>
- <string>BOOST_ERROR_INFO</string>
+ <string>exception_ptr</string>
</title>
<file_name>
<string></string>
@@ -132,7 +135,7 @@
<container>
<size>1</size>
<variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
+ <string>(:include include:) (:auto also:) </string>
</container>
</pair>
<pair>
@@ -149,14 +152,14 @@
<stream_hook_path>
<container>
<size>2</size>
- <strong>C1FAB39F3B09548EC7B197853DC956883AE1C3A29A8A9D2FBDB97D8BEC76CD75</strong>
- <weak>173037458</weak>
- <size>6345</size>
+ <strong>35F026FF4EC46450D19A8F970D6E39B881DA6B0FC2E95774CCADC5E34C9D57F1</strong>
+ <weak>1990614462</weak>
+ <size>6369</size>
<position>737</position>
- <strong>65D13C1BB0A16823F69A32BAB56A51CA317075C7FC8B7441EE0D9B57AF5AB2AC</strong>
- <weak>2592266329</weak>
- <size>712</size>
- <position>1700</position>
+ <strong>61B57D0AE5F1033900B7DE4401AC1633F4639471A19194D5660F6C43465FCE3D</strong>
+ <weak>1668078447</weak>
+ <size>724</size>
+ <position>1712</position>
</container>
</stream_hook_path>
</hook>
@@ -181,7 +184,7 @@
<container>
<size>1</size>
<variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
+ <string>(:include include:) (:auto also:) </string>
</container>
</pair>
<pair>
@@ -198,27 +201,27 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>48A0C42CCA66A6C935724A9B7BD30B6B3DF16A0A808C804A585A5CC90D85DC5E</strong>
- <weak>1606229033</weak>
- <size>1723</size>
- <position>91</position>
+ <strong>9CC0F5ADB1C04555FD571DABD1D7D6775D8B11977ECC8320AD4451FC435E89A1</strong>
+ <weak>1325628148</weak>
+ <size>3147</size>
+ <position>323</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/throw_exception.hpp</string>
+ <string>../../../../boost/exception/exception.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
</hook>
<title>
- <string>boost/throw_exception.hpp</string>
+ <string>boost/exception/exception.hpp</string>
</title>
<file_name>
- <string>throw_exception_hpp</string>
+ <string>exception_exception_hpp</string>
</file_name>
</object>
</shared_ptr>
@@ -226,7 +229,7 @@
<container>
<size>1</size>
<variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
+ <string>(:include include:) (:auto also:) </string>
</container>
</pair>
<pair>
@@ -243,9 +246,9 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>9CC0F5ADB1C04555FD571DABD1D7D6775D8B11977ECC8320AD4451FC435E89A1</strong>
- <weak>1325628148</weak>
- <size>3147</size>
+ <strong>E312FADF4C02B7A6CB1BE1EC16F05A21C20CBA3282D4EAFC8EBE0BA151F24779</strong>
+ <weak>2820045995</weak>
+ <size>5108</size>
<position>323</position>
</container>
</stream_hook_path>
@@ -253,17 +256,17 @@
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/exception.hpp</string>
+ <string>../../../../boost/exception_ptr.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
</hook>
<title>
- <string>boost/exception/exception.hpp</string>
+ <string>boost/exception_ptr.hpp</string>
</title>
<file_name>
- <string>exception_exception_hpp</string>
+ <string>exception_cloning_hpp</string>
</file_name>
</object>
</shared_ptr>
@@ -271,7 +274,7 @@
<container>
<size>1</size>
<variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
+ <string>(:include include:) (:auto also:) </string>
</container>
</pair>
<pair>
@@ -288,27 +291,27 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>CE411E21EE9878B55B5906D033A0FC52574FB59D8A8CECB75405E9B1C9D782DB</strong>
- <weak>1173443713</weak>
- <size>308</size>
- <position>302</position>
+ <strong>49D31376D97691F7C84A134B5D8C7C66EF1ED6901D376CA250D634AE2B38AB5E</strong>
+ <weak>549270010</weak>
+ <size>163</size>
+ <position>572</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../example/logging.cpp</string>
+ <string>../../../../boost/exception/info.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
</hook>
<title>
- <string>Tutorial: Diagnostic Information</string>
+ <string>BOOST_ERROR_INFO</string>
</title>
<file_name>
- <string>tutorial_diagnostic_information</string>
+ <string></string>
</file_name>
</object>
</shared_ptr>
@@ -316,7 +319,7 @@
<container>
<size>1</size>
<variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
+ <string>(:include include:) (:auto also:) </string>
</container>
</pair>
<pair>
@@ -333,35 +336,33 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>D9B8E6AA12A4F33953B1A961FA590C5A3840234B6531CA8C04AC985AD5800835</strong>
- <weak>2432554768</weak>
- <size>702</size>
- <position>408</position>
+ <strong>F4C951B28F7DE500973AA3DFAA99F2BADA6EDAFA2B406C30BEF3B7FBE6FD57D7</strong>
+ <weak>2263754923</weak>
+ <size>982</size>
+ <position>306</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../example/enable_error_info.cpp</string>
+ <string>../../example/error_info_2.cpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
</hook>
<title>
- <string>Tutorial: Integrating Boost Exception in Existing Exception Class Hierarchies</string>
+ <string>adding of arbitrary data to active exception objects</string>
</title>
<file_name>
- <string>tutorial_enable_error_info</string>
+ <string>adding_data_later</string>
</file_name>
</object>
</shared_ptr>
</weak_ptr>
<container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
+ <size>0</size>
</container>
</pair>
<pair>
@@ -395,7 +396,7 @@
</file>
</hook>
<title>
- <string>Tutorial: Adding Grouped Data to Exceptions</string>
+ <string>adding grouped data to exceptions</string>
</title>
<file_name>
<string>grouping_data</string>
@@ -421,33 +422,35 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>187BFD2B78A0DD006717B5B06FFD465E2468F521C32A86FB793F7A68AB5417F3</strong>
- <weak>4276724153</weak>
- <size>574</size>
- <position>382</position>
+ <strong>A9C65F105342D728DE9C996079E82DF25408B94A272090039FAAC12D29659F69</strong>
+ <weak>2378831669</weak>
+ <size>94</size>
+ <position>227</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../example/error_info_1.cpp</string>
+ <string>../../../../boost/exception/enable_current_exception.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
</hook>
<title>
- <string>Tutorial: Adding of Arbitrary Data at the Point of the Throw</string>
+ <string>boost/exception/enable_current_exception.hpp</string>
</title>
<file_name>
- <string>adding_data_at_throw</string>
+ <string>exception_enable_exception_cloning_hpp</string>
</file_name>
</object>
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:include include:) (:auto also:) </string>
</container>
</pair>
<pair>
@@ -464,28 +467,28 @@
<stream_hook_path>
<container>
<size>2</size>
- <strong>07430F64896197A110C276D8A14CA8A75FBA482DDF50CD40D689A1898C84D054</strong>
- <weak>1712604289</weak>
- <size>1296</size>
- <position>396</position>
- <strong>BCCB91D0DCA6EC45F29CB70CB64AEA6AB54F32F8F1D1937C4CB80B059346DC81</strong>
- <weak>695614553</weak>
- <size>1264</size>
- <position>26</position>
+ <strong>D1AA2FC554CD67A50917905B0E9CCA2EBC1A9BA97368757B36ADF8419756ECF1</strong>
+ <weak>85276724</weak>
+ <size>4917</size>
+ <position>514</position>
+ <strong>F87D7E0321BDDAE23D5A6667CB12116411468AEC54E3B35FB9C8CA94BFECA41E</strong>
+ <weak>1149388739</weak>
+ <size>296</size>
+ <position>4496</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/info_tuple.hpp</string>
+ <string>../../../../boost/exception_ptr.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
</hook>
<title>
- <string>operator<</tuple</string>
+ <string>copy_exception</string>
</title>
<file_name>
<string></string>
@@ -496,7 +499,7 @@
<container>
<size>1</size>
<variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
+ <string>(:include include:) (:auto also:) </string>
</container>
</pair>
<pair>
@@ -512,7 +515,7 @@
<hook>
<stream_hook_path>
<container>
- <size>4</size>
+ <size>2</size>
<strong>13F58566E4D9F20B49F3F30B28528AEE562CD709108ADC1AE19A2F01D86C62F4</strong>
<weak>1430141721</weak>
<size>2967</size>
@@ -521,14 +524,6 @@
<weak>4111403263</weak>
<size>1924</size>
<position>878</position>
- <strong>85EE1980CFB24E054EDB1B3BDFA61FD4D65AD0EF248A1A42D4C2552700459327</strong>
- <weak>2238151539</weak>
- <size>428</size>
- <position>923</position>
- <strong>AD3F339F7126003907BCBDB3EF846FCACA895132E1100D202DA67D2B7846EE65</strong>
- <weak>3032091776</weak>
- <size>60</size>
- <position>369</position>
</container>
</stream_hook_path>
</hook>
@@ -542,10 +537,10 @@
</file>
</hook>
<title>
- <string>exception::~exception</string>
+ <string>exception</string>
</title>
<file_name>
- <string>exception_destructor</string>
+ <string></string>
</file_name>
</object>
</shared_ptr>
@@ -553,7 +548,7 @@
<container>
<size>1</size>
<variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
+ <string>(:include include:) ---- !!!See Also: (:pagelist link="backlink" except_tags="exception,member" mod="w":) </string>
</container>
</pair>
<pair>
@@ -570,27 +565,27 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>F19D72C24D904689FEEE070D77ABD19090396E7C7663A5BA80E474F1EDA62861</strong>
- <weak>4081508978</weak>
- <size>6759</size>
- <position>323</position>
+ <strong>CE411E21EE9878B55B5906D033A0FC52574FB59D8A8CECB75405E9B1C9D782DB</strong>
+ <weak>1173443713</weak>
+ <size>308</size>
+ <position>302</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/info.hpp</string>
+ <string>../../example/logging.cpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
</hook>
<title>
- <string>boost/exception/info.hpp</string>
+ <string>diagnostic information</string>
</title>
<file_name>
- <string>exception_error_info_hpp</string>
+ <string>tutorial_diagnostic_information</string>
</file_name>
</object>
</shared_ptr>
@@ -598,7 +593,7 @@
<container>
<size>1</size>
<variant>2</variant>
- <string>(:include include:) (:pagelist link="backlink" except_tags="noalso":) </string>
+ <string>(:include include:) (:auto also:) </string>
</container>
</pair>
<pair>
@@ -615,33 +610,35 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>5373E336DC4892A41D31694BCA1146382FC3137819A04689CA1F9FFAF1CFAB3B</strong>
- <weak>4050491732</weak>
- <size>466</size>
- <position>307</position>
+ <strong>429F0DE3599A4CC08B9458E2AECA2EAC202AB3471554FE82C307493805E6676E</strong>
+ <weak>4224422781</weak>
+ <size>401</size>
+ <position>323</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../example/cloning_1.cpp</string>
+ <string>../../../../boost/exception.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
</hook>
<title>
- <string>Tutorial: Using enable_current_exception at the Time of the Throw</string>
+ <string>boost/exception.hpp</string>
</title>
<file_name>
- <string>using_enable_cloning</string>
+ <string>exception_hpp</string>
</file_name>
</object>
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:include include:) (:auto also:) </string>
</container>
</pair>
<pair>
@@ -657,34 +654,29 @@
<hook>
<stream_hook_path>
<container>
- <size>1</size>
- <strong>FC684D0DD5A9732B4130F2AB3DB6E0491D0F523E14B7FB738B2019EA2C7F8717</strong>
- <weak>2229778754</weak>
- <size>631</size>
- <position>319</position>
+ <size>0</size>
</container>
</stream_hook_path>
</hook>
<file>
<path>
- <empty>0</empty>
- <string>../../example/cloning_2.cpp</string>
- <type>0</type>
- <base>0</base>
+ <empty>1</empty>
</path>
</file>
</hook>
<title>
- <string>Tutorial: Cloning and Re-throwing an Exception</string>
+ <string>transporting of arbitrary data to the catch site</string>
</title>
<file_name>
- <string>cloning_and_rethrowing</string>
+ <string>tutorial_transporting_data</string>
</file_name>
</object>
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:include include:) (:auto also:) </string>
</container>
</pair>
<pair>
@@ -701,27 +693,27 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>CAD6C404CB725D336A44920D2341ECA131149AB02C368B59028F8147F16737BF</strong>
- <weak>2258638601</weak>
- <size>94</size>
- <position>227</position>
+ <strong>D9B8E6AA12A4F33953B1A961FA590C5A3840234B6531CA8C04AC985AD5800835</strong>
+ <weak>2432554768</weak>
+ <size>702</size>
+ <position>408</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/info_tuple.hpp</string>
+ <string>../../example/enable_error_info.cpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
</hook>
<title>
- <string>boost/exception/info_tuple.hpp</string>
+ <string>integrating boost exception in existing exception class hierarchies</string>
</title>
<file_name>
- <string>exception_error_info_group_hpp</string>
+ <string>tutorial_enable_error_info</string>
</file_name>
</object>
</shared_ptr>
@@ -729,7 +721,7 @@
<container>
<size>1</size>
<variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
+ <string>(:include include:) (:auto also:) </string>
</container>
</pair>
<pair>
@@ -745,21 +737,28 @@
<hook>
<stream_hook_path>
<container>
- <size>0</size>
+ <size>1</size>
+ <strong>749C8E4B47A3FD6A90DD8418BF64C4556537CE6E17ACEB2317D9F81DBEBBB0B0</strong>
+ <weak>1688004766</weak>
+ <size>6783</size>
+ <position>323</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../../../boost/exception/info.hpp</string>
+ <type>0</type>
+ <base>0</base>
</path>
</file>
</hook>
<title>
- <string>Tutorial: Transporting of Arbitrary Data to the Catch Site</string>
+ <string>boost/exception/info.hpp</string>
</title>
<file_name>
- <string>tutorial_transporting_data</string>
+ <string>exception_error_info_hpp</string>
</file_name>
</object>
</shared_ptr>
@@ -767,7 +766,7 @@
<container>
<size>1</size>
<variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
+ <string>(:include include:) (:auto also:) </string>
</container>
</pair>
<pair>
@@ -784,35 +783,33 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>CB567E3390BC92DA06F9899E700792C3790D3707C024CA21D15C930D908AD10A</strong>
- <weak>3422645546</weak>
- <size>5023</size>
- <position>323</position>
+ <strong>5373E336DC4892A41D31694BCA1146382FC3137819A04689CA1F9FFAF1CFAB3B</strong>
+ <weak>4050491732</weak>
+ <size>466</size>
+ <position>307</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception_ptr.hpp</string>
+ <string>../../example/cloning_1.cpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
</hook>
<title>
- <string>boost/exception_ptr.hpp</string>
+ <string>using enable_current_exception at the time of the throw</string>
</title>
<file_name>
- <string>exception_cloning_hpp</string>
+ <string>using_enable_cloning</string>
</file_name>
</object>
</shared_ptr>
</weak_ptr>
<container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
+ <size>0</size>
</container>
</pair>
<pair>
@@ -828,34 +825,40 @@
<hook>
<stream_hook_path>
<container>
- <size>1</size>
- <strong>F4C951B28F7DE500973AA3DFAA99F2BADA6EDAFA2B406C30BEF3B7FBE6FD57D7</strong>
- <weak>2263754923</weak>
- <size>982</size>
- <position>306</position>
+ <size>2</size>
+ <strong>35F026FF4EC46450D19A8F970D6E39B881DA6B0FC2E95774CCADC5E34C9D57F1</strong>
+ <weak>1990614462</weak>
+ <size>6369</size>
+ <position>737</position>
+ <strong>F839AFD37DC086BB1231B8E87D8EEBD28129649A06FC685AC7DF65595871AE30</strong>
+ <weak>2291609923</weak>
+ <size>1204</size>
+ <position>243</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../example/error_info_2.cpp</string>
+ <string>../../../../boost/exception/info.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
</hook>
<title>
- <string>Tutorial: Adding of Arbitrary Data to Active Exception Objects</string>
+ <string>error_info</string>
</title>
<file_name>
- <string>adding_data_later</string>
+ <string></string>
</file_name>
</object>
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:include include:) (:auto also:) </string>
</container>
</pair>
<pair>
@@ -872,28 +875,28 @@
<stream_hook_path>
<container>
<size>2</size>
- <strong>612485E090D76B2CC43C1A296F813075BA165C2496082E78E939F10B3DA8E09A</strong>
- <weak>1770110914</weak>
- <size>587</size>
- <position>1207</position>
- <strong>60F3F48B87487FA6E0D2CCC0750AF435CC92CEC80BBBF609AC71295031AADD0D</strong>
- <weak>3929437933</weak>
- <size>361</size>
- <position>213</position>
+ <strong>35F026FF4EC46450D19A8F970D6E39B881DA6B0FC2E95774CCADC5E34C9D57F1</strong>
+ <weak>1990614462</weak>
+ <size>6369</size>
+ <position>737</position>
+ <strong>C5A5927411FB16BB27418CF87226A27D6EC66958BD46DC87F97E571CB492E49D</strong>
+ <weak>2066106304</weak>
+ <size>261</size>
+ <position>1449</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/throw_exception.hpp</string>
+ <string>../../../../boost/exception/info.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
</hook>
<title>
- <string>throw_exception</string>
+ <string>operator<</exception</string>
</title>
<file_name>
<string></string>
@@ -904,7 +907,7 @@
<container>
<size>1</size>
<variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
+ <string>(:include include:) (:auto also:) </string>
</container>
</pair>
<pair>
@@ -920,21 +923,32 @@
<hook>
<stream_hook_path>
<container>
- <size>0</size>
+ <size>2</size>
+ <strong>F7633FDCF6615C0199645701EE6E7ACE5CBCD7A7CF6838573791E91ABB3C09F2</strong>
+ <weak>1668435395</weak>
+ <size>1332</size>
+ <position>396</position>
+ <strong>A1F443AF571973A12005D2F7D4AE09A32AAF686FEEAE272EC21512A65EB943E8</strong>
+ <weak>3879093659</weak>
+ <size>1300</size>
+ <position>26</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../../../boost/exception/info_tuple.hpp</string>
+ <type>0</type>
+ <base>0</base>
</path>
</file>
</hook>
<title>
- <string>Tutorial: Transporting of Exceptions between Threads</string>
+ <string>operator<</tuple</string>
</title>
<file_name>
- <string>tutorial_exception_ptr</string>
+ <string></string>
</file_name>
</object>
</shared_ptr>
@@ -942,7 +956,7 @@
<container>
<size>1</size>
<variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
+ <string>(:include include:) (:auto also:) </string>
</container>
</pair>
<pair>
@@ -958,742 +972,838 @@
<hook>
<stream_hook_path>
<container>
- <size>0</size>
+ <size>2</size>
+ <strong>D1AA2FC554CD67A50917905B0E9CCA2EBC1A9BA97368757B36ADF8419756ECF1</strong>
+ <weak>85276724</weak>
+ <size>4917</size>
+ <position>514</position>
+ <strong>9DEEF8ED70BF74F501A96BA5DE5BFD42FAD16DE333ABE189E512C332586FC465</strong>
+ <weak>2250569940</weak>
+ <size>1893</size>
+ <position>2601</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../../../boost/exception_ptr.hpp</string>
+ <type>0</type>
+ <base>0</base>
</path>
</file>
</hook>
<title>
- <string>Boost Exception</string>
+ <string>current_exception</string>
</title>
<file_name>
- <string>boost-exception</string>
+ <string></string>
</file_name>
</object>
</shared_ptr>
</weak_ptr>
<container>
- <size>111</size>
- <variant>2</variant>
- <string>!!Introduction The purpose of Boost Exception is to ease the design of exception class hierarchies and to help write exception handling and error reporting code. It supports transporting of arbitrary data to the catch site, which is otherwise tricky due to the no-throw requirements (15.5.1) for exception classes. Data can be added to any exception object, either directly in the throw-expression (15.1), or at a later time as the exception object propagates up the call stack. The ability to add data to exception objects after they have been passed to throw is important, because often some of the information needed to handle an exception is unavailable in the context where the failure is detected. Boost Exception also supports (:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:)-style (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-24</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>|copying:) of exception objects, implemented non-intrusively and automatically by the boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-23</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) function. !!Contents #Tutorial ##(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-20</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) ##(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-11</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) ##(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-24</id>
- </shared_ptr>
- </weak_ptr>
+ <size>1</size>
<variant>2</variant>
- <string>:) ##(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-10</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) #Documentation ##Class (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>26</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
+ <string>(:include include:) (:auto also:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>26</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
<hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>2</size>
- <strong>13F58566E4D9F20B49F3F30B28528AEE562CD709108ADC1AE19A2F01D86C62F4</strong>
- <weak>1430141721</weak>
- <size>2967</size>
- <position>503</position>
- <strong>09CB6839AC1E71887371FB8159C2BFCD273A397C54E07B25CEF2EEF2FA24286A</strong>
- <weak>4111403263</weak>
- <size>1924</size>
- <position>878</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../../../boost/exception/exception.hpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
+ <stream_hook_path>
+ <container>
+ <size>3</size>
+ <strong>13F58566E4D9F20B49F3F30B28528AEE562CD709108ADC1AE19A2F01D86C62F4</strong>
+ <weak>1430141721</weak>
+ <size>2967</size>
+ <position>503</position>
+ <strong>09CB6839AC1E71887371FB8159C2BFCD273A397C54E07B25CEF2EEF2FA24286A</strong>
+ <weak>4111403263</weak>
+ <size>1924</size>
+ <position>878</position>
+ <strong>BAC52AC87CFA3174B3352140A8DC10BB7F48C945FC87787C3AC96F0FC2CFDB40</strong>
+ <weak>1066412964</weak>
+ <size>165</size>
+ <position>57</position>
+ </container>
+ </stream_hook_path>
</hook>
- <title>
- <string>exception</string>
- </title>
- <file_name>
- <string></string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
+ <file>
+ <path>
+ <empty>0</empty>
+ <string>../../../../boost/exception/exception.hpp</string>
+ <type>0</type>
+ <base>0</base>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>exception::diagnostic_information</string>
+ </title>
+ <file_name>
+ <string></string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
<variant>2</variant>
- <string>:) ##Transporting of Arbitrary Data to the Catch Site ###(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>27</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
+ <string>(:include include:) (:auto also:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>27</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
<hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>2</size>
- <strong>C1FAB39F3B09548EC7B197853DC956883AE1C3A29A8A9D2FBDB97D8BEC76CD75</strong>
- <weak>173037458</weak>
- <size>6345</size>
- <position>737</position>
- <strong>F839AFD37DC086BB1231B8E87D8EEBD28129649A06FC685AC7DF65595871AE30</strong>
- <weak>2291609923</weak>
- <size>1204</size>
- <position>243</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../../../boost/exception/info.hpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
+ <stream_hook_path>
+ <container>
+ <size>2</size>
+ <strong>05061ED1DD1B33224DE28BF86AB10D99286A48DC055D54A19FF93B36F22E8A90</strong>
+ <weak>3225446538</weak>
+ <size>372</size>
+ <position>408</position>
+ <strong>ED09AD72D3766F261A0044B58B9B73AA355EB50B1A8F602E5EE7F68D0D928596</strong>
+ <weak>328425570</weak>
+ <size>340</size>
+ <position>26</position>
+ </container>
+ </stream_hook_path>
</hook>
- <title>
- <string>error_info</string>
- </title>
- <file_name>
- <string></string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
+ <file>
+ <path>
+ <empty>0</empty>
+ <string>../../../../boost/exception/diagnostic_information.hpp</string>
+ <type>0</type>
+ <base>0</base>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>diagnostic_information</string>
+ </title>
+ <file_name>
+ <string></string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
<variant>2</variant>
- <string>:) ###(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>28</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
+ <string>(:include include:) (:auto also:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>28</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
<hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>2</size>
- <strong>C1FAB39F3B09548EC7B197853DC956883AE1C3A29A8A9D2FBDB97D8BEC76CD75</strong>
- <weak>173037458</weak>
- <size>6345</size>
- <position>737</position>
- <strong>27AC1164E0A824D548386BEDCDC81DCAC283F3D286B0ECEE05B039BB8C392BFC</strong>
- <weak>1247954090</weak>
- <size>249</size>
- <position>1449</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../../../boost/exception/info.hpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
+ <stream_hook_path>
+ <container>
+ <size>4</size>
+ <strong>13F58566E4D9F20B49F3F30B28528AEE562CD709108ADC1AE19A2F01D86C62F4</strong>
+ <weak>1430141721</weak>
+ <size>2967</size>
+ <position>503</position>
+ <strong>09CB6839AC1E71887371FB8159C2BFCD273A397C54E07B25CEF2EEF2FA24286A</strong>
+ <weak>4111403263</weak>
+ <size>1924</size>
+ <position>878</position>
+ <strong>85EE1980CFB24E054EDB1B3BDFA61FD4D65AD0EF248A1A42D4C2552700459327</strong>
+ <weak>2238151539</weak>
+ <size>428</size>
+ <position>923</position>
+ <strong>AD3F339F7126003907BCBDB3EF846FCACA895132E1100D202DA67D2B7846EE65</strong>
+ <weak>3032091776</weak>
+ <size>60</size>
+ <position>369</position>
+ </container>
+ </stream_hook_path>
</hook>
- <title>
- <string>operator<</exception</string>
- </title>
- <file_name>
- <string></string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) ###(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-14</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) ###(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-7</id>
- </shared_ptr>
- </weak_ptr>
+ <file>
+ <path>
+ <empty>0</empty>
+ <string>../../../../boost/exception/exception.hpp</string>
+ <type>0</type>
+ <base>0</base>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>exception::~exception</string>
+ </title>
+ <file_name>
+ <string>exception_destructor</string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
<variant>2</variant>
- <string>:) ###(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>29</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
+ <string>(:include include:) (:auto also:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>29</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
<hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>2</size>
- <strong>D36D37BED1D119D9CB6040BE4A9694586CC5EFF7A50C30AB59BB06BF70458015</strong>
- <weak>993620616</weak>
- <size>2321</size>
- <position>457</position>
- <strong>248C5047CA4021C30DE8853D6AEBD138D11A76B3571C856A48C0A442D6D040A5</strong>
- <weak>1700162144</weak>
- <size>2289</size>
- <position>26</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../../../boost/exception/enable_error_info.hpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
+ <stream_hook_path>
+ <container>
+ <size>1</size>
+ <strong>187BFD2B78A0DD006717B5B06FFD465E2468F521C32A86FB793F7A68AB5417F3</strong>
+ <weak>4276724153</weak>
+ <size>574</size>
+ <position>382</position>
+ </container>
+ </stream_hook_path>
</hook>
- <title>
- <string>enable_error_info</string>
- </title>
- <file_name>
- <string></string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) ###(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-6</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) ##(:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:) Transporting of Exceptions between Threads ###(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>30</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
+ <file>
+ <path>
+ <empty>0</empty>
+ <string>../../example/error_info_1.cpp</string>
+ <type>0</type>
+ <base>0</base>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>adding of arbitrary data at the point of the throw</string>
+ </title>
+ <file_name>
+ <string>adding_data_at_throw</string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>30</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
<hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>2</size>
- <strong>973F8368D72D56424349CBB81C8F3015CB9F4F0CD7B23A8C62C3DBADDA37CD57</strong>
- <weak>3833800883</weak>
- <size>4832</size>
- <position>514</position>
- <strong>ED09F845070FF7D381BE5EFB6B55313FD09FBA16B64B69992410380EFA45519C</strong>
- <weak>2051939590</weak>
- <size>78</size>
- <position>409</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../../../boost/exception_ptr.hpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
+ <stream_hook_path>
+ <container>
+ <size>1</size>
+ <strong>FC684D0DD5A9732B4130F2AB3DB6E0491D0F523E14B7FB738B2019EA2C7F8717</strong>
+ <weak>2229778754</weak>
+ <size>631</size>
+ <position>319</position>
+ </container>
+ </stream_hook_path>
</hook>
- <title>
- <string>exception_ptr</string>
- </title>
- <file_name>
- <string></string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) ###(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>31</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
+ <file>
+ <path>
+ <empty>0</empty>
+ <string>../../example/cloning_2.cpp</string>
+ <type>0</type>
+ <base>0</base>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>cloning and re-throwing an exception</string>
+ </title>
+ <file_name>
+ <string>cloning_and_rethrowing</string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>31</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
<hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>2</size>
- <strong>392208A2FD122D1ED27D128A7BF65F9340218FAAD756EA58D26D2205D32681A6</strong>
- <weak>729208193</weak>
- <size>3206</size>
- <position>506</position>
- <strong>8F3B5E1A267CA225679713F4DDF528041F573BC02D1DBCD8FFEF57EF0AA599B9</strong>
- <weak>4197332561</weak>
- <size>180</size>
- <position>3020</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../../../boost/exception/enable_current_exception.hpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
+ <stream_hook_path>
+ <container>
+ <size>1</size>
+ <strong>ECAD4A1E70A31D7F87F79F557D107AB0A3C5161CB370139974E08ECAFBE2D32F</strong>
+ <weak>1816954312</weak>
+ <size>457</size>
+ <position>323</position>
+ </container>
+ </stream_hook_path>
</hook>
- <title>
- <string>enable_current_exception</string>
- </title>
- <file_name>
- <string></string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
+ <file>
+ <path>
+ <empty>0</empty>
+ <string>../../../../boost/exception/diagnostic_information.hpp</string>
+ <type>0</type>
+ <base>0</base>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>boost/exception/diagnostic_information.hpp</string>
+ </title>
+ <file_name>
+ <string></string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
<variant>2</variant>
- <string>:) ###(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>32</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
+ <string>(:include include:) (:auto also:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>32</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
<hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>2</size>
- <strong>973F8368D72D56424349CBB81C8F3015CB9F4F0CD7B23A8C62C3DBADDA37CD57</strong>
- <weak>3833800883</weak>
- <size>4832</size>
- <position>514</position>
- <strong>9DEEF8ED70BF74F501A96BA5DE5BFD42FAD16DE333ABE189E512C332586FC465</strong>
- <weak>2250569940</weak>
- <size>1893</size>
- <position>2528</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../../../boost/exception_ptr.hpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
+ <stream_hook_path>
+ <container>
+ <size>1</size>
+ <strong>0C00BEB179039380247D771B12C728884E9A3E5B483AC63CD5789852C7A5CC35</strong>
+ <weak>2506662970</weak>
+ <size>2467</size>
+ <position>323</position>
+ </container>
+ </stream_hook_path>
</hook>
- <title>
- <string>current_exception</string>
- </title>
- <file_name>
- <string></string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
+ <file>
+ <path>
+ <empty>0</empty>
+ <string>../../../../boost/exception/enable_error_info.hpp</string>
+ <type>0</type>
+ <base>0</base>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>boost/exception/enable_error_info.hpp</string>
+ </title>
+ <file_name>
+ <string>exception_enable_error_info_hpp</string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
<variant>2</variant>
- <string>:) ###(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>33</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
+ <string>(:include include:) (:auto also:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>33</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
<hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>2</size>
- <strong>973F8368D72D56424349CBB81C8F3015CB9F4F0CD7B23A8C62C3DBADDA37CD57</strong>
- <weak>3833800883</weak>
- <size>4832</size>
- <position>514</position>
- <strong>921FBF6991E17349BFF2AD6F165372F85AA9457DDB28E502ABB6B392BBA6B529</strong>
- <weak>3119269037</weak>
- <size>284</size>
- <position>4423</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../../../boost/exception_ptr.hpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
+ <stream_hook_path>
+ <container>
+ <size>1</size>
+ <strong>CAB4D823BD4720B71E1CA5BE482AC95B42A9E07CD5E08671EA23184635F281A2</strong>
+ <weak>3077708282</weak>
+ <size>89</size>
+ <position>323</position>
+ </container>
+ </stream_hook_path>
</hook>
- <title>
- <string>copy_exception</string>
- </title>
- <file_name>
- <string></string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
+ <file>
+ <path>
+ <empty>0</empty>
+ <string>../../../../boost/exception/error_info.hpp</string>
+ <type>0</type>
+ <base>0</base>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>boost/exception/error_info.hpp</string>
+ </title>
+ <file_name>
+ <string>exception_error_info_value_hpp</string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
<variant>2</variant>
- <string>:) ###(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>34</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
+ <string>(:include include:) (:auto also:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>34</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
<hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>2</size>
- <strong>973F8368D72D56424349CBB81C8F3015CB9F4F0CD7B23A8C62C3DBADDA37CD57</strong>
- <weak>3833800883</weak>
- <size>4832</size>
- <position>514</position>
- <strong>156B870761DB092CE4269C1173B479A344A1041BA2B883765AF19A72B371D776</strong>
- <weak>3239976720</weak>
- <size>117</size>
- <position>4709</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../../../boost/exception_ptr.hpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
+ <stream_hook_path>
+ <container>
+ <size>1</size>
+ <strong>CAD6C404CB725D336A44920D2341ECA131149AB02C368B59028F8147F16737BF</strong>
+ <weak>2258638601</weak>
+ <size>94</size>
+ <position>227</position>
+ </container>
+ </stream_hook_path>
</hook>
- <title>
- <string>rethrow_exception</string>
- </title>
- <file_name>
- <string></string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
+ <file>
+ <path>
+ <empty>0</empty>
+ <string>../../../../boost/exception/info_tuple.hpp</string>
+ <type>0</type>
+ <base>0</base>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>boost/exception/info_tuple.hpp</string>
+ </title>
+ <file_name>
+ <string>exception_error_info_group_hpp</string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
<variant>2</variant>
- <string>:) ###(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>35</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
+ <string>(:include include:) (:auto also:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>35</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
<hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>2</size>
- <strong>973F8368D72D56424349CBB81C8F3015CB9F4F0CD7B23A8C62C3DBADDA37CD57</strong>
- <weak>3833800883</weak>
- <size>4832</size>
- <position>514</position>
- <strong>9567A192BF523DDF741004FFF5BDB044D715FEB7CE9AEC89ACC25C1C33E48C4E</strong>
- <weak>2232115228</weak>
- <size>381</size>
- <position>26</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../../../boost/exception_ptr.hpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
+ <stream_hook_path>
+ <container>
+ <size>1</size>
+ <strong>07959353ADCC10CF96D16F87F2D01195D75C3A6A2A797513ED3DDFA2F80E2E09</strong>
+ <weak>303643772</weak>
+ <size>1838</size>
+ <position>91</position>
+ </container>
+ </stream_hook_path>
</hook>
- <title>
- <string>unknown_exception</string>
- </title>
- <file_name>
- <string></string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
+ <file>
+ <path>
+ <empty>0</empty>
+ <string>../../../../boost/throw_exception.hpp</string>
+ <type>0</type>
+ <base>0</base>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>boost/throw_exception.hpp</string>
+ </title>
+ <file_name>
+ <string>throw_exception_hpp</string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
<variant>2</variant>
- <string>:) ##(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>36</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
+ <string>(:include include:) (:auto also:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>36</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
<hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>2</size>
- <strong>05061ED1DD1B33224DE28BF86AB10D99286A48DC055D54A19FF93B36F22E8A90</strong>
- <weak>3225446538</weak>
- <size>372</size>
- <position>408</position>
- <strong>ED09AD72D3766F261A0044B58B9B73AA355EB50B1A8F602E5EE7F68D0D928596</strong>
- <weak>328425570</weak>
- <size>340</size>
- <position>26</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../../../boost/exception/diagnostic_information.hpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
+ <stream_hook_path>
+ <container>
+ <size>3</size>
+ <strong>13F58566E4D9F20B49F3F30B28528AEE562CD709108ADC1AE19A2F01D86C62F4</strong>
+ <weak>1430141721</weak>
+ <size>2967</size>
+ <position>503</position>
+ <strong>09CB6839AC1E71887371FB8159C2BFCD273A397C54E07B25CEF2EEF2FA24286A</strong>
+ <weak>4111403263</weak>
+ <size>1924</size>
+ <position>878</position>
+ <strong>BACD79DFB4C710C1A67687FC6344DF2251E2379613C2DF5B2729B2CD37E24EA3</strong>
+ <weak>458367129</weak>
+ <size>154</size>
+ <position>246</position>
+ </container>
+ </stream_hook_path>
</hook>
- <title>
- <string>diagnostic_information</string>
- </title>
- <file_name>
- <string></string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) ##(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-23</id>
- </shared_ptr>
- </weak_ptr>
+ <file>
+ <path>
+ <empty>0</empty>
+ <string>../../../../boost/exception/exception.hpp</string>
+ <type>0</type>
+ <base>0</base>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>exception::exception</string>
+ </title>
+ <file_name>
+ <string>exception_constructors</string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
<variant>2</variant>
- <string>:) ##Headers ###(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>37</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
+ <string>(:include include:) (:auto also:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>37</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
<hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>1</size>
- <strong>429F0DE3599A4CC08B9458E2AECA2EAC202AB3471554FE82C307493805E6676E</strong>
- <weak>4224422781</weak>
- <size>401</size>
- <position>323</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../../../boost/exception.hpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
+ <stream_hook_path>
+ <container>
+ <size>2</size>
+ <strong>D1AA2FC554CD67A50917905B0E9CCA2EBC1A9BA97368757B36ADF8419756ECF1</strong>
+ <weak>85276724</weak>
+ <size>4917</size>
+ <position>514</position>
+ <strong>A098B6FA5BC8E72E0E69C0323195FCC142AE807564C6892FCBD88588F2FBE049</strong>
+ <weak>2579522516</weak>
+ <size>405</size>
+ <position>26</position>
+ </container>
+ </stream_hook_path>
</hook>
- <title>
- <string>boost/exception.hpp</string>
- </title>
- <file_name>
- <string>exception_hpp</string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
+ <file>
+ <path>
+ <empty>0</empty>
+ <string>../../../../boost/exception_ptr.hpp</string>
+ <type>0</type>
+ <base>0</base>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>unknown_exception</string>
+ </title>
+ <file_name>
+ <string></string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
<variant>2</variant>
- <string>:) ###(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>38</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
+ <string>(:include include:) (:auto also:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>38</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
<hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>1</size>
- <strong>ECAD4A1E70A31D7F87F79F557D107AB0A3C5161CB370139974E08ECAFBE2D32F</strong>
- <weak>1816954312</weak>
- <size>457</size>
- <position>323</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../../../boost/exception/diagnostic_information.hpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
+ <stream_hook_path>
+ <container>
+ <size>2</size>
+ <strong>FA5027D9799B8059059C23397F469D6EF6328DC23E92E0BE0FF5BE019A576174</strong>
+ <weak>1806359597</weak>
+ <size>3234</size>
+ <position>506</position>
+ <strong>DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9</strong>
+ <weak>1137981799</weak>
+ <size>192</size>
+ <position>3036</position>
+ </container>
+ </stream_hook_path>
</hook>
- <title>
- <string>boost/exception/diagnostic_information.hpp</string>
- </title>
- <file_name>
- <string></string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
+ <file>
+ <path>
+ <empty>0</empty>
+ <string>../../../../boost/exception/enable_current_exception.hpp</string>
+ <type>0</type>
+ <base>0</base>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>enable_current_exception</string>
+ </title>
+ <file_name>
+ <string></string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
<variant>2</variant>
- <string>:) ###(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>39</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
+ <string>(:include include:) (:auto also:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>39</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
<hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>1</size>
- <strong>A9C65F105342D728DE9C996079E82DF25408B94A272090039FAAC12D29659F69</strong>
- <weak>2378831669</weak>
- <size>94</size>
- <position>227</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../../../boost/exception/enable_current_exception.hpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
+ <stream_hook_path>
+ <container>
+ <size>0</size>
+ </container>
+ </stream_hook_path>
</hook>
- <title>
- <string>boost/exception/enable_current_exception.hpp</string>
- </title>
- <file_name>
- <string>exception_enable_exception_cloning_hpp</string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
+ <file>
+ <path>
+ <empty>1</empty>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>Index</string>
+ </title>
+ <file_name>
+ <string>name_idx</string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
<variant>2</variant>
- <string>:) ###(:link </string>
- <variant>1</variant>
- <weak_ptr>
+ <string>(:auto !:) (:pagelist fmt="index" except_tags="index,noindex" mod="w":) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>40</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
+ <hook>
+ <stream_hook_path>
+ <container>
+ <size>2</size>
+ <strong>7ACC4E316D4EDB3EC7AEC35FED3ADB47DDF75D575028D7BCD11C5233E4F4A277</strong>
+ <weak>4268848542</weak>
+ <size>2333</size>
+ <position>457</position>
+ <strong>61DE70107961C0B9A65674017F91FF85190CF84B4F3B0CA7AC04A7E16DE80B37</strong>
+ <weak>3187961206</weak>
+ <size>2301</size>
+ <position>26</position>
+ </container>
+ </stream_hook_path>
+ </hook>
+ <file>
+ <path>
+ <empty>0</empty>
+ <string>../../../../boost/exception/enable_error_info.hpp</string>
+ <type>0</type>
+ <base>0</base>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>enable_error_info</string>
+ </title>
+ <file_name>
+ <string></string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:include include:) (:auto also:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>41</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
+ <hook>
+ <stream_hook_path>
+ <container>
+ <size>0</size>
+ </container>
+ </stream_hook_path>
+ </hook>
+ <file>
+ <path>
+ <empty>1</empty>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>transporting of exceptions between threads</string>
+ </title>
+ <file_name>
+ <string>tutorial_exception_ptr</string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:include include:) (:auto also:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>42</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
+ <hook>
+ <stream_hook_path>
+ <container>
+ <size>0</size>
+ </container>
+ </stream_hook_path>
+ </hook>
+ <file>
+ <path>
+ <empty>1</empty>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>boost exception</string>
+ </title>
+ <file_name>
+ <string>boost-exception</string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>113</size>
+ <variant>2</variant>
+ <string>!!Introduction The purpose of Boost Exception is to ease the design of exception class hierarchies and to help write exception handling and error reporting code. It supports transporting of arbitrary data to the catch site, which is otherwise tricky due to the no-throw requirements (15.5.1) for exception types. Data can be added to any exception object, either directly in the throw-expression (15.1), or at a later time as the exception object propagates up the call stack. The ability to add data to exception objects after they have been passed to throw is important, because often some of the information needed to handle an exception is unavailable in the context where the failure is detected. Boost Exception also supports (:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:)-style (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-41</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>|copying:) of exception objects, implemented non-intrusively and automatically by the boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>40</id>
+ <id>43</id>
<type>
<string>reno_context</string>
</type>
@@ -1702,167 +1812,146 @@
<hook>
<stream_hook_path>
<container>
- <size>1</size>
- <strong>091CEE4B0BEBD40D864A1BC8288C10A248BEFFD4E472647343F2BEDE0BDE0F10</strong>
- <weak>2732630308</weak>
- <size>2455</size>
- <position>323</position>
+ <size>2</size>
+ <strong>612485E090D76B2CC43C1A296F813075BA165C2496082E78E939F10B3DA8E09A</strong>
+ <weak>1770110914</weak>
+ <size>587</size>
+ <position>1322</position>
+ <strong>60F3F48B87487FA6E0D2CCC0750AF435CC92CEC80BBBF609AC71295031AADD0D</strong>
+ <weak>3929437933</weak>
+ <size>361</size>
+ <position>213</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/enable_error_info.hpp</string>
+ <string>../../../../boost/throw_exception.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
</hook>
<title>
- <string>boost/exception/enable_error_info.hpp</string>
+ <string>throw_exception</string>
</title>
<file_name>
- <string>exception_enable_error_info_hpp</string>
+ <string></string>
</file_name>
</object>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) ###(:link </string>
+ <string>:) function. !!Contents #Tutorial ##(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-5</id>
+ <id>-18</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) ###(:link </string>
+ <string> mod="w":) ##(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-9</id>
+ <id>-19</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) ###(:link </string>
+ <string> mod="w":) ##(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-16</id>
+ <id>-41</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) ###(:link </string>
+ <string> mod="w":) ##(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-19</id>
+ <id>-16</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) ###(:link </string>
+ <string> mod="w":) #Documentation ##Class (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-21</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) ###(:link </string>
+ <string>:) ##Transporting of Arbitrary Data to the Catch Site ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-8</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) #(:link </string>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>41</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
- <hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>0</size>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>1</empty>
- </path>
- </file>
- </hook>
- <title>
- <string>Index</string>
- </title>
- <file_name>
- <string>name_idx</string>
- </file_name>
- </object>
+ <id>-23</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) !!Synopsis `#include <(:link </string>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-37</id>
+ <id>-24</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)> [@namespace boost { (:include </string>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-9</id>
+ <id>-7</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string> decl pre_indent="4":) (:include </string>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-16</id>
+ <id>-40</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string> decl pre_indent="4":) (:include </string>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-19</id>
+ <id>-10</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string> decl pre_indent="4":) (:include </string>
+ <string>:) ##(:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:) Transporting of Exceptions between Threads ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-40</id>
+ <id>-6</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string> decl pre_indent="4":) (:include </string>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
@@ -1871,43 +1960,43 @@
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string> decl pre_indent="4":) (:include </string>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-21</id>
+ <id>-25</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string> decl pre_indent="4":) (:include </string>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-39</id>
+ <id>-14</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string> decl pre_indent="4":) (:include </string>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-8</id>
+ <id>-5</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string> decl pre_indent="4":) }@] !!Class exception (:include </string>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-37</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) !!Transporting of Arbitrary Data to the Catch Site (:include </string>
+ <string>:) ##(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
@@ -1916,79 +2005,79 @@
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) (:include </string>
+ <string>:) ##(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-28</id>
+ <id>-43</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) (:include </string>
+ <string>:) ##Headers ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-7</id>
+ <id>-17</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) (:include </string>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-29</id>
+ <id>-31</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) (:include </string>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-6</id>
+ <id>-13</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) !!Transporting of Exceptions between Threads (:include </string>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-30</id>
+ <id>-32</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) (:include </string>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-31</id>
+ <id>-33</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) (:include </string>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-32</id>
+ <id>-8</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) (:include </string>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-33</id>
+ <id>-20</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) (:include </string>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
@@ -1997,7 +2086,16 @@
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) (:include </string>
+ <string>:) ###(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-9</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) ###(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
@@ -2006,1760 +2104,160 @@
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) !!Printing Diagnostic Information (:include </string>
+ <string>:) #(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-36</id>
+ <id>-39</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) !!Throwing Exceptions (:include </string>
+ <string>:) !!Synopsis `#include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-23</id>
+ <id>-17</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso,exception":) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-27</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-28</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-29</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-31</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-32</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-33</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-34</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-35</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-36</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-37</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-38</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-39</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-40</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
+ <string>:)> [@namespace boost { (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-8</id>
+ </shared_ptr>
+ </weak_ptr>
<variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-41</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
+ <string> api pre_indent="4":) (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-20</id>
+ </shared_ptr>
+ </weak_ptr>
<variant>2</variant>
- <string>!Index (:pagelist fmt="index" except_tags="index,noindex":) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>42</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
- <hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>3</size>
- <strong>13F58566E4D9F20B49F3F30B28528AEE562CD709108ADC1AE19A2F01D86C62F4</strong>
- <weak>1430141721</weak>
- <size>2967</size>
- <position>503</position>
- <strong>09CB6839AC1E71887371FB8159C2BFCD273A397C54E07B25CEF2EEF2FA24286A</strong>
- <weak>4111403263</weak>
- <size>1924</size>
- <position>878</position>
- <strong>BAC52AC87CFA3174B3352140A8DC10BB7F48C945FC87787C3AC96F0FC2CFDB40</strong>
- <weak>1066412964</weak>
- <size>165</size>
- <position>57</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../../../boost/exception/exception.hpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
- </hook>
- <title>
- <string>exception::diagnostic_information</string>
- </title>
- <file_name>
- <string></string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
+ <string> api pre_indent="4":) (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-34</id>
+ </shared_ptr>
+ </weak_ptr>
<variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>43</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
- <hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>3</size>
- <strong>13F58566E4D9F20B49F3F30B28528AEE562CD709108ADC1AE19A2F01D86C62F4</strong>
- <weak>1430141721</weak>
- <size>2967</size>
- <position>503</position>
- <strong>09CB6839AC1E71887371FB8159C2BFCD273A397C54E07B25CEF2EEF2FA24286A</strong>
- <weak>4111403263</weak>
- <size>1924</size>
- <position>878</position>
- <strong>BACD79DFB4C710C1A67687FC6344DF2251E2379613C2DF5B2729B2CD37E24EA3</strong>
- <weak>458367129</weak>
- <size>154</size>
- <position>246</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../../../boost/exception/exception.hpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
- </hook>
- <title>
- <string>exception::exception</string>
- </title>
- <file_name>
- <string>exception_constructors</string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:) !!!See also: (:pagelist link="backlink" except_tags="noalso":) </string>
- </container>
- </pair>
- </sorted>
- </object>
- </shared_ptr>
- </pair>
- <pair>
- <string>headers</string>
- <shared_ptr>
- <id>44</id>
- <type>
- <string>reno_layer</string>
- </type>
- <object>
- <sorted>
- <size>39</size>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-6</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-7</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-8</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-9</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-10</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-11</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-12</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-13</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-14</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-15</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-16</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-17</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-18</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-19</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-20</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-21</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-22</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-23</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-24</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-25</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-27</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-28</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-29</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>3</size>
- <variant>2</variant>
- <string>[@#include <</string>
- <variant>1</variant>
- <weak_ptr>
- <expired>1</expired>
- </weak_ptr>
- <variant>2</variant>
- <string>>@]</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-31</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-32</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-33</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-34</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>3</size>
- <variant>2</variant>
- <string>[@#include <</string>
- <variant>1</variant>
- <weak_ptr>
- <expired>1</expired>
- </weak_ptr>
- <variant>2</variant>
- <string>>@]</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-35</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-36</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-37</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-38</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-39</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-40</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-41</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-42</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-43</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- </sorted>
- </object>
- </shared_ptr>
- </pair>
- <pair>
- <string>ctors</string>
- <shared_ptr>
- <id>45</id>
- <type>
- <string>reno_layer</string>
- </type>
- <object>
- <sorted>
- <size>39</size>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-6</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-7</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-8</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-9</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-10</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-11</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-12</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-13</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-14</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-15</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-16</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-17</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-18</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-19</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-20</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-21</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-22</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-23</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-24</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-25</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-27</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-28</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-29</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-31</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-32</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-33</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-34</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-35</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-36</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-37</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-38</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-39</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-40</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-41</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-42</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-43</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- </sorted>
- </object>
- </shared_ptr>
- </pair>
- <pair>
- <string>free</string>
- <shared_ptr>
- <id>46</id>
- <type>
- <string>reno_layer</string>
- </type>
- <object>
- <sorted>
- <size>39</size>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-6</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-7</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-8</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-9</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-10</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-11</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-12</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-13</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-14</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-15</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-16</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-17</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-18</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-19</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-20</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-21</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-22</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-23</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-24</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-25</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-27</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-28</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-29</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-31</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-32</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-33</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-34</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-35</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-36</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-37</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-38</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-39</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-40</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-41</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-42</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-43</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- </sorted>
- </object>
- </shared_ptr>
- </pair>
- <pair>
- <string>decl</string>
- <shared_ptr>
- <id>47</id>
- <type>
- <string>reno_layer</string>
- </type>
- <object>
- <sorted>
- <size>39</size>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>3</size>
+ <string> api pre_indent="4":) (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-32</id>
+ </shared_ptr>
+ </weak_ptr>
<variant>2</variant>
- <string>[@template <class Tag, class T> class (:link </string>
+ <string> api pre_indent="4":) (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-31</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:);@] </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-6</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>9</size>
+ <string> api pre_indent="4":) (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-9</id>
+ </shared_ptr>
+ </weak_ptr>
<variant>2</variant>
- <string>[@typedef (:link </string>
+ <string> api pre_indent="4":) (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-13</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)<struct tag_throw_function,char const *> throw_function; typedef (:link </string>
+ <string> api pre_indent="4":) (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-35</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)<struct tag_throw_file,char const *> throw_file; typedef (:link </string>
+ <string> api pre_indent="4":) }@] !!Class exception (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)<struct tag_throw_line,int> throw_line; #define (:link </string>
+ <string>:) !!Transporting of Arbitrary Data to the Catch Site (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-22</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-23</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-24</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-7</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-40</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-10</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) !!Transporting of Exceptions between Threads (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
@@ -3768,80 +2266,126 @@
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)\ ::boost::throw_function(BOOST_CURRENT_FUNCTION) <<\ ::boost::throw_file(__FILE__) <<\ ::boost::throw_line((int)__LINE__)@] </string>
+ <string>:) (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-25</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-14</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-5</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-37</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) !!Printing Diagnostic Information (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-27</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) !!Throwing Exceptions (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-43</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-7</id>
+ <id>-43</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>[@template <class ErrorInfo,class E> (:link http://www.boost.org/libs/smart_ptr/shared_ptr.htm|shared_ptr:)<typename ErrorInfo::value_type const> (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-7</id>
- </shared_ptr>
- </weak_ptr>
+ <size>1</size>
<variant>2</variant>
- <string>:)( E const & x );@] </string>
+ <string>(:include include:) (:auto also:) </string>
</container>
</pair>
+ </sorted>
+ </object>
+ </shared_ptr>
+ </pair>
+ <pair>
+ <string>def</string>
+ <shared_ptr>
+ <id>44</id>
+ <type>
+ <string>reno_layer</string>
+ </type>
+ <object>
+ <sorted>
+ <size>39</size>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-8</id>
+ <id>-5</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>[@(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-23</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:)@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-9</id>
+ <id>-6</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>[@(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:)@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-10</id>
+ <id>-7</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -3852,7 +2396,7 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-11</id>
+ <id>-8</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -3863,7 +2407,7 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-12</id>
+ <id>-9</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -3874,7 +2418,7 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-13</id>
+ <id>-10</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -3885,102 +2429,84 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-14</id>
+ <id>-11</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>7</size>
- <variant>2</variant>
- <string>[@template <class E, class Tag1, class T1, ..., class TagN, class TN> E const & (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-14</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>|operator<<:)( E const & x, (:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:)< (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-27</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)<Tag1,T1>, ..., (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-27</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)<TagN,TN> > const & v );@] </string>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-12</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-15</id>
+ <id>-13</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>[@(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-15</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:::)();@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-16</id>
+ <id>-14</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<container>
<size>9</size>
<variant>2</variant>
- <string>[@(:include </string>
+ <string>[@class (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string> decl:) (:include </string>
+ <string>:) { public: (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-7</id>
+ <id>-26</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string> decl:) (:include </string>
+ <string> decl pre_indent="4":) protected: (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-6</id>
+ <id>-36</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string> decl:) (:include </string>
+ <string> decl pre_indent="4":) (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
@@ -3989,14 +2515,14 @@
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string> decl:)@] </string>
+ <string> decl pre_indent="4":) };@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-17</id>
+ <id>-16</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -4007,7 +2533,7 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-18</id>
+ <id>-17</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -4018,29 +2544,18 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-19</id>
+ <id>-18</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>[@(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-14</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:)@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-20</id>
+ <id>-19</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -4051,65 +2566,18 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-21</id>
+ <id>-20</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>11</size>
- <variant>2</variant>
- <string>[@(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-35</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:) (:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:) (:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-33</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:) (:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-32</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:) (:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-34</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:)@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-22</id>
+ <id>-21</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -4120,38 +2588,29 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-23</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>5</size>
- <variant>2</variant>
- <string>[@#ifdef BOOST_NO_EXCEPTIONS void (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-23</id>
- </shared_ptr>
- </weak_ptr>
+ <size>3</size>
<variant>2</variant>
- <string>:)( std::exception const & e ); // user defined #else template <class E> void (:link </string>
+ <string>[@template <class Tag,class T> class (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-23</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)( E const & e ); #endif@] </string>
+ <string>:) { public: typedef T value_type; error_info( value_type const & ); };@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-24</id>
+ <id>-23</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -4162,7 +2621,7 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-25</id>
+ <id>-24</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -4173,146 +2632,66 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-25</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>9</size>
- <variant>2</variant>
- <string>[@class (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) { public: (:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-42</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl pre_indent="4":) protected: (:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-43</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl pre_indent="4":) (:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-15</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl pre_indent="4":) };@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-26</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>[@template <class Tag,class T> class (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-27</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) { public: typedef T value_type; error_info( value_type const & ); };@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-28</id>
+ <id>-27</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>5</size>
- <variant>2</variant>
- <string>[@template <class E, class Tag, class T> E const & (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-28</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>|operator<<:)( E const & x, (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-27</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)<Tag,T> const & v );@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-29</id>
+ <id>-28</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>[@template <class T> ---unspecified--- (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-29</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)( T const & x );@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-30</id>
+ <id>-29</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>[@typedef ---unspecified--- (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:);@] </string>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-30</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
</container>
</pair>
<pair>
@@ -4323,18 +2702,7 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>[@template <class T> ---unspecified--- (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-31</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)( T const & e );@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
@@ -4345,27 +2713,7 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>5</size>
- <variant>2</variant>
- <string>[@(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-32</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)();@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
@@ -4376,27 +2724,7 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>5</size>
- <variant>2</variant>
- <string>[@template <class T> (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-33</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)( T const & e );@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
@@ -4407,27 +2735,7 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>5</size>
- <variant>2</variant>
- <string>[@void (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-34</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)( (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) const & ep );</string>
+ <size>0</size>
</container>
</pair>
<pair>
@@ -4438,27 +2746,7 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>5</size>
- <variant>2</variant>
- <string>[@class (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-35</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:): public std::exception public boost::</string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> { ---unspecified--- };@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
@@ -4469,18 +2757,7 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>[@std::string </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-36</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>( std::exception const & x );@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
@@ -4502,18 +2779,7 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>[@(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-36</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:)@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
@@ -4524,18 +2790,7 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>[@(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-31</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:)@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
@@ -4546,18 +2801,7 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>[@(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-29</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:)@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
@@ -4579,18 +2823,7 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>[@virtual char const * (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-42</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:::)() const throw();@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
@@ -4601,36 +2834,7 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>7</size>
- <variant>2</variant>
- <string>[@(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-43</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:::)(); (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-43</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:::)( (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) const & x );@] </string>
+ <size>0</size>
</container>
</pair>
</sorted>
@@ -4638,9 +2842,9 @@
</shared_ptr>
</pair>
<pair>
- <string>include</string>
+ <string>api</string>
<shared_ptr>
- <id>48</id>
+ <id>45</id>
<type>
<string>reno_layer</string>
</type>
@@ -4651,150 +2855,68 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>!!boost/exception/error_info.hpp !!!Synopsis (:include synopsis:) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-6</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>7</size>
- <variant>2</variant>
- <string>!!!BOOST_ERROR_INFO (:include synopsis:) This macro is designed to be used with (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-28</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>|operator<<:) when throwing a boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:), to store information about the location of the throw statement. It can be chained with other (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-27</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)s in a single throw expression. </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-7</id>
+ <id>-5</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>7</size>
- <variant>2</variant>
- <string>!!!get_error_info (:include synopsis:) !!!!Requirements: The type of the x object must derive from boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:); ErrorInfo must be an instance of the (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-27</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) template. !!!!Returns: If x does not store an object of type ErrorInfo, returns an empty (:link http://www.boost.org/libs/smart_ptr/shared_ptr.htm|shared_ptr:); otherwise returns pointer to the stored value. Use (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-28</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>|operator<<:) to store values in exception objects. !!!!Throws: Nothing. </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-8</id>
+ <id>-6</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>1</size>
- <variant>2</variant>
- <string>!!boost/throw_exception.hpp !!!Synopsis (:include synopsis:) </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-9</id>
+ <id>-7</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>1</size>
- <variant>2</variant>
- <string>!!boost/exception/exception.hpp !!!Synopsis (:include synopsis:) </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-10</id>
+ <id>-8</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>21</size>
+ <size>3</size>
<variant>2</variant>
- <string>!!Diagnostic Information Class boost::(:link </string>
+ <string>[@(:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) provides a virtual member function (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-42</id>
- </shared_ptr>
- </weak_ptr>
+ <string> def:)@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-9</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>11</size>
<variant>2</variant>
- <string>:::), with a signature similar to the familiar std::exception::what function. The default implementation returns a string value that is not presentable as a friendly user message, but because it is generated automatically, it is useful for debugging or logging purposes. Here is an example: [@#include <(:link </string>
+ <string>[@(:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
@@ -4803,70 +2925,54 @@
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)> #include <iostream> void f(); //throws unknown types that derive from boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:). void g() { try { f(); } catch( boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) & e ) { std::cerr << e.(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-42</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:::)(); } }@] The (:link </string>
+ <string> decl:) (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-42</id>
+ <id>-6</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:::) member function iterates over all data objects stored in the boost::(:link </string>
+ <string> decl:) (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-14</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) through (:link </string>
+ <string> decl:) (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-28</id>
+ <id>-25</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>|operator<<:). The returned string is constructed by converting each data object to string and then concatenating these strings together. When the (:link </string>
+ <string> decl:) (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-5</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)<Tag,T> template is instantiated, the system attempts overload resolution for an unqualified call to to_string(x), where x is of type T. If this is successful, the to_string overload is used to convert objects of type T to string. Otherwise, the system attempts overload resolution for s << x, where s is a std::ostringstream and x is of type T. If this is successful, the operator<< overload is used to convert objects of type T to string. Otherwise the system is unable to convert objects of type T to string, and an unspecified stub string value is used without issuing a compile error. </string>
+ <string> decl:)@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-10</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
</container>
</pair>
<pair>
@@ -4877,666 +2983,811 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>27</size>
- <variant>2</variant>
- <string>!!Integrating Boost Exception in Existing Exception Class Hierarchies Some exception hierarchies can not be modified to make boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) a base type. For this case, the (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-29</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) function template can be used to make exception objects derive from boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) anyway. Here is an example: [@#include <(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-37</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)> #include <stdexcept> typedef boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-27</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)<struct tag_std_range_min,size_t> std_range_min; typedef boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-27</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)<struct tag_std_range_max,size_t> std_range_max; typedef boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-27</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)<struct tag_std_range_index,size_t> std_range_index; template <class T> class my_container { public: size_t size() const; T const & operator[]( size_t i ) const { if( i > size() ) throw boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-29</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)(std::range_error("Index out of range")) << std_range_min(0) << std_range_max(size()) << std_range_index(i); //.... } }; @] The call to (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-29</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)<T> gets us an object of ''unspecified type'' which is guaranteed to derive from both boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) and T. This makes it possible to use (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-28</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>|operator<<:) to store additional information in the exception object. The exception can be intercepted as T &, so existing exception handling will not break. It can also be intercepted as boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-12</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-13</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
<variant>2</variant>
- <string>:) &, so that (:link </string>
+ <string>[@(:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-20</id>
+ <id>-38</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>|more information can be added to the exception at a later time:). </string>
+ <string> decl:)@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-14</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-12</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>13</size>
- <variant>2</variant>
- <string>!!!Adding Grouped Data to Exceptions The code snippet below demonstrates how boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) can be used to bundle the name of the function that failed, together with the reported errno so that they can be added to exception objects more conveniently together: [@#include <(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-19</id>
- </shared_ptr>
- </weak_ptr>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-17</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>11</size>
<variant>2</variant>
- <string>:)> #include <boost/shared_ptr.hpp> #include <stdio.h> #include <string> #include <errno.h> typedef boost::(:link </string>
+ <string>[@#include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-20</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)<struct tag_file_name,std::string> file_name_info; typedef boost::(:link </string>
+ <string>:)> #include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-34</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)<struct tag_function,char const *> function_info; typedef boost::(:link </string>
+ <string>:)> #include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-31</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)<struct tag_errno,int> errno_info; typedef boost::tuple<function_info,errno_info> clib_failure; class file_open_error: public boost::(:link </string>
+ <string>:)> #include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-9</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) { }; boost::shared_ptr<FILE> file_open( char const * name, char const * mode ) { if( FILE * f=fopen(name,mode) ) return boost::shared_ptr<FILE>(f,fclose); else throw file_open_error() << file_name_info(name) << clib_failure("fopen",errno); }@] Note that the members of a boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) are stored separately in exception objects; they can only be retrieved individually, using (:link </string>
+ <string>:)> #include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-7</id>
+ <id>-35</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:). </string>
+ <string>:)>@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-13</id>
+ <id>-18</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>19</size>
- <variant>2</variant>
- <string>!!!Adding of Arbitrary Data at the Point of the Throw The following example demonstrates how errno can be stored in exception objects using Boost Exception: [@#include <(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-37</id>
- </shared_ptr>
- </weak_ptr>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-19</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-20</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>9</size>
<variant>2</variant>
- <string>:)> #include <errno.h> #include <iostream> typedef boost::(:link </string>
+ <string>[@(:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)<struct tag_errno,int> errno_info; //(1) class my_error: public boost::(:link </string>
+ <string> def:) (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-7</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:), public std::exception { }; //(2) void f() { throw my_error() << errno_info(errno); //(3) } @] First, we instantiate the (:link </string>
+ <string> decl:) (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-10</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) template using a unique identifier -- tag_errno, and the type of the info it identifies -- int. This provides compile-time type safety for the various values stored in exception objects. Second, we define class my_error, which derives from boost::(:link </string>
+ <string> decl:) (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-23</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:). Finally, (3) illustrates how the typedef from (1) can be used with (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-28</id>
- </shared_ptr>
- </weak_ptr>
+ <string> decl:)@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-21</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-22</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-23</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-24</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-25</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-26</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-27</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-28</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-29</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-30</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-31</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
<variant>2</variant>
- <string>|operator<<:) to store values in exception objects at the point of the throw. The stored errno value can be recovered at a later time like this: [@// ...continued void g() { try { f(); } catch( my_error & x ) { if( boost::shared_ptr<int const> err=boost::(:link </string>
+ <string>[@(:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-7</id>
+ <id>-27</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)<errno_info>(x) ) std::cerr << "Error code: " << *err; } }@] The (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-7</id>
- </shared_ptr>
- </weak_ptr>
+ <string> decl:)@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-32</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
<variant>2</variant>
- <string>:) function template is instantiated with the typedef from (1), and is passed an exception object of any type that derives publicly from boost::(:link </string>
+ <string>[@(:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-40</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:). If the exception object contains the requested value, the returned (:link http://www.boost.org/libs/smart_ptr/shared_ptr.htm|shared_ptr:) will point to it; otherwise an empty (:link http://www.boost.org/libs/smart_ptr/shared_ptr.htm|shared_ptr:) is returned. </string>
+ <string> decl:)@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-14</id>
+ <id>-33</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>5</size>
+ <size>3</size>
<variant>2</variant>
- <string>!!!operator<<, tuple overload (:include synopsis:) !!!!Requirements: E must be boost::(:link </string>
+ <string>[@(:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:), or a type that derives (indirectly) from boost::(:link </string>
+ <string> decl:)@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-34</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@(:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-24</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:). !!!!Effects: Equivalent to x << v.(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html#accessing_elements|get:)<0>() << ... << v.(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html#accessing_elements|get:)<N>(). !!!!Returns: x. (:include throws:) </string>
+ <string> decl:)@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-15</id>
+ <id>-35</id>
</shared_ptr>
</weak_ptr>
<container>
<size>3</size>
<variant>2</variant>
- <string>!!!exception::~exception (:include decl:) !!!!Effects: Frees all resources associated with a boost::(:link </string>
+ <string>[@(:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-43</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) object. !!!!Throws: Nothing. </string>
+ <string> decl:)@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-16</id>
+ <id>-36</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>1</size>
- <variant>2</variant>
- <string>!!boost/exception/info.hpp !!!Synopsis (:include synopsis:) </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-17</id>
+ <id>-37</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>13</size>
- <variant>2</variant>
- <string>!!!Using enable_current_exception at the Time of the Throw Here is how cloning can be enabled in a throw-expression (15.1): [@#include <(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-39</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)> #include <(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-16</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)> #include <stdio.h> #include <errno.h> typedef boost::error_info<struct tag_errno,int> errno_info; class file_read_error: public boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) { }; void file_read( FILE * f, void * buffer, size_t size ) { if( size!=fread(buffer,1,size,f) ) throw boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-31</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)(file_read_error()) << errno_info(errno); }@] Of course, </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-31</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> may be used with any exception type; there is no requirement that it should derive from boost::</string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>.</string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-18</id>
+ <id>-38</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>37</size>
- <variant>2</variant>
- <string>!!!Cloning and Re-throwing an Exception When you catch an exception, you can call (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-32</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) to get an (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) object: [@#include <(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-21</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)> #include <boost/thread.hpp> #include <boost/bind.hpp> void do_work(); //throws cloning-enabled boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)s void worker_thread( boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) & error ) { try { do_work(); error = boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)(); } catch( ... ) { error = boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-32</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)(); } }@] In the above example, note that (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-32</id>
- </shared_ptr>
- </weak_ptr>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-39</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-40</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-41</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-42</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-43</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ </sorted>
+ </object>
+ </shared_ptr>
+ </pair>
+ <pair>
+ <string>decl</string>
+ <shared_ptr>
+ <id>46</id>
+ <type>
+ <string>reno_layer</string>
+ </type>
+ <object>
+ <sorted>
+ <size>39</size>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-5</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>5</size>
<variant>2</variant>
- <string>:) captures the original type of the exception object. The exception can be thrown again using the (:link </string>
+ <string>[@void (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-34</id>
+ <id>-5</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) function: [@// ...continued void work() { boost::(:link </string>
+ <string>:)( (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-30</id>
+ <id>-6</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) error; boost::(:link http://www.boost.org/doc/html/boost/thread.html|thread:) t( boost::(:link http://www.boost.org/libs/bind/bind.html|bind:)(worker_thread,boost::(:link http://www.boost.org/doc/html/ref.html|ref:)(error)) ); t.(:link http://www.boost.org/doc/html/boost/thread.html|join:)(); if( error ) boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-34</id>
- </shared_ptr>
- </weak_ptr>
+ <string>:) const & ep );</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
<variant>2</variant>
- <string>:)(error); }@] Note that (:link </string>
+ <string>[@typedef ---unspecified--- (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-32</id>
+ <id>-6</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) could fail to copy the original exception object in the following cases:* if there is not enough memory, in which case the returned (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
+ <string>:);@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-7</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
<variant>2</variant>
- <string>:) points to an instance of std::bad_alloc, or * if (:link </string>
+ <string>[@template <class ErrorInfo,class E> (:link http://www.boost.org/libs/smart_ptr/shared_ptr.htm|shared_ptr:)<typename ErrorInfo::value_type const> (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-31</id>
+ <id>-7</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) was not used in the throw-expression passed to the original throw statement and the current implementation does not have the necessary compiler-specific support to copy the exception automatically, in which case the returned (:link </string>
+ <string>:)( E const & x );@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-8</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-9</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-10</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>9</size>
+ <variant>2</variant>
+ <string>[@typedef (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-30</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) points to an instance of (:link </string>
+ <string>:)<struct tag_throw_function,char const *> throw_function; typedef (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-35</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:). Regardless, the use of (:link </string>
+ <string>:)<struct tag_throw_file,char const *> throw_file; typedef (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-32</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) and (:link </string>
+ <string>:)<struct tag_throw_line,int> throw_line; #define (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-34</id>
+ <id>-10</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) in the above examples is well-formed. </string>
+ <string>:)\ ::boost::throw_function(BOOST_CURRENT_FUNCTION) <<\ ::boost::throw_file(__FILE__) <<\ ::boost::throw_line((int)__LINE__)@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-19</id>
+ <id>-11</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>1</size>
- <variant>2</variant>
- <string>!!boost/exception/info_tuple.hpp !!!Synopsis (:include synopsis:) </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-20</id>
+ <id>-12</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>11</size>
- <variant>2</variant>
- <string>!!Transporting of Arbitrary Data to the Catch Site All exception types that derive from boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-13</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-14</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>5</size>
<variant>2</variant>
- <string>:) can be used as type-safe containers of arbitrary data objects, while complying with the no-throw requirements (15.5.1) of the ANSI C++ standard for exception types. Data can be added to a boost::(:link </string>
+ <string>[@template <class T> (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-6</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) at the time of the throw, or at a later time. (:include </string>
+ <string>:) (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-13</id>
+ <id>-14</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) (:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-22</id>
- </shared_ptr>
- </weak_ptr>
+ <string>:)( T const & e );@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
<variant>2</variant>
- <string>:) (:include </string>
+ <string>[@class </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-12</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) </string>
+ <string>;@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-17</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-18</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-19</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-20</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
</container>
</pair>
<pair>
@@ -5547,9 +3798,7 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>1</size>
- <variant>2</variant>
- <string>!!boost/exception_ptr.hpp !!!Synopsis (:include synopsis:) </string>
+ <size>0</size>
</container>
</pair>
<pair>
@@ -5560,81 +3809,133 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>21</size>
+ <size>3</size>
<variant>2</variant>
- <string>!!!Adding of Arbitrary Data to Active Exception Objects Sometimes the throw site does not have all the information that is needed at the catch site to make sense of what went wrong. Here is an example: [@#include <stdio.h> #include <string> class file_read_error { public: explicit file_read_error( std::string const & fn ): fn_(fn) { }; std::string const & file_name() const { return fn_; } private: std::string fn_; }; void file_read( FILE * f, void * buffer, size_t size ) { if( size!=fread(buffer,1,size,f) ) throw file_read_error("????"); }@] We have defined an exception class file_read_error which can store a file name, so that when we catch a file_read_error object, we know which file the failure
is related to. However, the file_read function does not have the file name at the time of the throw; all it has is a FILE handle. One possible solution is to not use FILE handles directly. We could have our own class file which stores both a FILE handle and a file name, and pass that to file_read. However, this could be problematic if we communicate with 3rd party code that does not use our class file (probably because they have their own similar class.) A better solution is to make class file_read_error derive (possibly indirectly) from boost::(:link </string>
+ <string>[@template <class Tag,class T> class (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:), and free the file_read function from the burden of storing the file name in exceptions it throws: [@#include <(:link </string>
+ <string>:);@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-23</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>5</size>
+ <variant>2</variant>
+ <string>[@template <class E, class Tag, class T> E const & (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-37</id>
+ <id>-23</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)> #include <stdio.h> #include <errno.h> typedef boost::(:link </string>
+ <string>|operator<<:)( E const & x, (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)<struct tag_errno,int> errno_info; class file_read_error: public boost::(:link </string>
+ <string>:)<Tag,T> const & v );@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-24</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>7</size>
+ <variant>2</variant>
+ <string>[@template <class E, class Tag1, class T1, ..., class TagN, class TN> E const & (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-24</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) { }; void file_read( FILE * f, void * buffer, size_t size ) { if( size!=fread(buffer,1,size,f) ) throw file_read_error() << errno_info(errno); }@] If file_read detects a failure, it throws an exception which contains the information that is available at the time, namely the errno. Other relevant information, such as the file name, can be added in a context higher up the call stack, where it is known naturally: [@#include <(:link </string>
+ <string>|operator<<:)( E const & x, (:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:)< (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-37</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)> #include <boost/shared_ptr.hpp> #include <stdio.h> #include <string> typedef boost::(:link </string>
+ <string>:)<Tag1,T1>, ..., (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)<struct tag_file_name,std::string> file_name_info; boost::shared_ptr<FILE> file_open( char const * file_name, char const * mode ); void file_read( FILE * f, void * buffer, size_t size ); void parse_file( char const * file_name ) { boost::shared_ptr<FILE> f = file_open(file_name,"rb"); assert(f); try { char buf[1024]; file_read( f.get(), buf, sizeof(buf) ); } catch( boost::(:link </string>
+ <string>:)<TagN,TN> > const & v );@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-25</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>5</size>
+ <variant>2</variant>
+ <string>[@(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-6</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) & e ) { e << file_name_info(file_name); throw; } }@] The above function is (almost) exception-neutral -- if an exception is emitted by any function call within the try block, parse_file does not need to do any real work, but it intercepts any boost::(:link </string>
+ <string>:) (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-25</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) object, stores the file name, and re-throws using a throw-expression with no operand (15.1.6). The rationale for catching any boost::(:link </string>
+ <string>:)();@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-26</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@virtual char const * (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
@@ -5643,130 +3944,261 @@
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) object is that the file name is relevant to any failure that occurs in parse_file, ''even if the failure is unrelated to file I/O''. As usual, the stored data can be retrieved using (:link </string>
+ <string> mod="m":)() const throw();@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-27</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@std::string </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-7</id>
+ <id>-27</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:). </string>
+ <string>( std::exception const & x );@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-23</id>
+ <id>-28</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>9</size>
+ <size>3</size>
<variant>2</variant>
- <string>!!!throw_exception (:include synopsis:) !!!!Requirements: E must derive publicly from std::exception. !!!!Effects: * If BOOST_NO_EXCEPTIONS is not defined, boost::(:link </string>
+ <string>[@(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-23</id>
+ <id>-28</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)(e) is equivalent to throw boost::(:link </string>
+ <string> mod="m":)();@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-29</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-30</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-31</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-32</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-33</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-34</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-35</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-36</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>7</size>
+ <variant>2</variant>
+ <string>[@(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-31</id>
+ <id>-36</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)(boost::(:link </string>
+ <string> mod="m":)(); (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-29</id>
+ <id>-36</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)(e)), unless BOOST_EXCEPTION_DISABLE is defined, in which case boost::(:link </string>
+ <string> mod="m":)( (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-23</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)(e) is equivalent to throw e; * If BOOST_NO_EXCEPTIONS is defined, the function is left undefined, and the user is expected to supply an appropriate definition. Callers of throw_exception are allowed to assume that the function never returns; therefore, if the user-defined throw_exception returns, the behavior is undefined. </string>
+ <string>:) const & x );@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-24</id>
+ <id>-37</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>11</size>
+ <size>5</size>
<variant>2</variant>
- <string>!!Transporting of Exceptions between Threads Boost Exception supports transporting of exception objects between threads through cloning. This system is similar to (:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:), but because Boost Exception can not rely on language support, the use of (:link </string>
+ <string>[@class (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-31</id>
+ <id>-37</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) at the time of the throw is required in order to use cloning. !!!!Note: All exceptions emitted by the familiar function boost::(:link </string>
+ <string>:): public std::exception public boost::</string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-23</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) are guaranteed to derive from boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
+ <string> { ---unspecified--- };@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
<variant>2</variant>
- <string>:) and to support cloning. (:include </string>
+ <string>[@template <class T> ---unspecified--- (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-17</id>
+ <id>-38</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) (:include </string>
+ <string>:)( T const & e );@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-39</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-40</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@template <class T> ---unspecified--- (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-18</id>
+ <id>-40</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) </string>
+ <string>:)( T const & x );@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-25</id>
+ <id>-41</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -5777,76 +4209,140 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-42</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>19</size>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-43</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>5</size>
<variant>2</variant>
- <string>!!!exception (:include synopsis:) Class boost::(:link </string>
+ <string>[@#ifdef BOOST_NO_EXCEPTIONS void (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-43</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) is designed to be used as a universal base for user-defined exception types. An object of any type deriving from boost::(:link </string>
+ <string>:)( std::exception const & e ); // user defined #else template <class E> void (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-43</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) can store data of arbitrary types, using the (:link </string>
+ <string>:)( E const & e ); #endif@] </string>
+ </container>
+ </pair>
+ </sorted>
+ </object>
+ </shared_ptr>
+ </pair>
+ <pair>
+ <string>include</string>
+ <shared_ptr>
+ <id>47</id>
+ <type>
+ <string>reno_layer</string>
+ </type>
+ <object>
+ <sorted>
+ <size>39</size>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-5</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) (:include synopsis:) !!!!Precondition: ep shall not be null. !!!!Throws: The exception to which ep refers. </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>9</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) (:include synopsis:) The (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-6</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) wrapper and (:link </string>
+ <string>:) type can be used to refer to a copy of an exception object. It is Default Constructible, Copy Constructible, Assignable and Equality Comparable; (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-28</id>
+ <id>-6</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>|operator<<:). To retrieve data from a boost::(:link </string>
+ <string>:)'s operations do not throw. Two instances of (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-6</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) object, use the (:link </string>
+ <string>:) are equivalent and compare equal if and only if they refer to the same exception. The default constructor of (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-7</id>
+ <id>-6</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) function template. (:include </string>
+ <string>:) produces the null value of the type. The null value is equivalent only to itself. </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-7</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>7</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) (:include synopsis:) !!!!Requirements: * ErrorInfo must be an instance of the (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-43</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) (:include </string>
+ <string>:) template. * E must be polymorphic. !!!!Returns: * If dynamic_cast<boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
@@ -5855,271 +4351,248 @@
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) (:include </string>
+ <string>:) const *>(&x) is 0, or if x does not store an object of type ErrorInfo, the returned value is an empty shared_ptr. * Otherwise, the returned shared_ptr points to the stored value (use (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-42</id>
+ <id>-23</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) </string>
+ <string>|operator<<:) to store values in exception objects.) The shared_ptr is valid even after x has been destroyed. !!!!Throws: Nothing. </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-8</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>21</size>
+ <size>1</size>
<variant>2</variant>
- <string>!!!error_info (:include synopsis:) !!!!Requirements: T must have accessible copy constructor and must not be a reference. !!!!Description: This class template is used to associate a Tag type with a value type T. Objects of type (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-27</id>
- </shared_ptr>
- </weak_ptr>
+ <string>(:auto !!:) !!!Synopsis (:include synopsis:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-9</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
<variant>2</variant>
- <string>:)<Tag,T> can be passed to (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-28</id>
- </shared_ptr>
- </weak_ptr>
+ <string>(:auto !!:) !!!Synopsis (:include synopsis:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-10</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>7</size>
<variant>2</variant>
- <string>|operator<<:) to be stored in objects of type boost::(:link </string>
+ <string>(:auto !!!:) (:include synopsis:) This macro is designed to be used with (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-23</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:). !!!!Note: The header <(:link </string>
+ <string>|operator<<:) when throwing a boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-5</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)> provides a declaration of the (:link </string>
+ <string>:), to store information about the location of the throw statement. It can be chained with other (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) template, which is sufficient for the purpose of typedefing an instance for specific Tag and T, like this: [@#include <(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
+ <string> mod="p":) in a single throw expression. </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-11</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>21</size>
<variant>2</variant>
- <string>:)> typedef boost::(:link </string>
+ <string>(:auto !!!:) Sometimes the throw site does not have all the information that is needed at the catch site to make sense of what went wrong. Here is an example: [@#include <stdio.h> #include <string> class file_read_error { public: explicit file_read_error( std::string const & fn ): fn_(fn) { }; std::string const & file_name() const { return fn_; } private: std::string fn_; }; void file_read( FILE * f, void * buffer, size_t size ) { if( size!=fread(buffer,1,size,f) ) throw file_read_error("????"); }@] We have defined an exception class file_read_error which can store a file name, so that when we catch a file_read_error object, we know which file the failure is related to. However, the file_read func
tion does not have the file name at the time of the throw; all it has is a FILE handle. One possible solution is to not use FILE handles directly. We could have our own class file which stores both a FILE handle and a file name, and pass that to file_read. However, this could be problematic if we communicate with 3rd party code that does not use our class file (probably because they have their own similar class.) A better solution is to make class file_read_error derive (possibly indirectly) from boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)<struct tag_errno,int> errno_info;@] Of course, to actually add an errno_info object to exceptions using (:link </string>
+ <string>:), and free the file_read function from the burden of storing the file name in exceptions it throws: [@#include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-28</id>
+ <id>-17</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>|operator<<:), or to retrieve it using (:link </string>
+ <string>:)> #include <stdio.h> #include <errno.h> typedef boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-7</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:), you must first #include <(:link </string>
+ <string>:)<struct tag_errno,int> errno_info; class file_read_error: public boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-16</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)>. </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-28</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>7</size>
- <variant>2</variant>
- <string>!!!operator<<, error_info overload (:include synopsis:) !!!!Requirements: E must be boost::(:link </string>
+ <string>:) { }; void file_read( FILE * f, void * buffer, size_t size ) { if( size!=fread(buffer,1,size,f) ) throw file_read_error() << errno_info(errno); }@] If file_read detects a failure, it throws an exception which contains the information that is available at the time, namely the errno. Other relevant information, such as the file name, can be added in a context higher up the call stack, where it is known naturally: [@#include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-17</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:), or a type that derives (indirectly) from boost::(:link </string>
+ <string>:)> #include <boost/shared_ptr.hpp> #include <stdio.h> #include <string> typedef boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:). !!!!Effects: Stores a copy of v into x. If x already contains data of type (:link </string>
+ <string>:)<struct tag_file_name,std::string> file_name_info; boost::shared_ptr<FILE> file_open( char const * file_name, char const * mode ); void file_read( FILE * f, void * buffer, size_t size ); void parse_file( char const * file_name ) { boost::shared_ptr<FILE> f = file_open(file_name,"rb"); assert(f); try { char buf[1024]; file_read( f.get(), buf, sizeof(buf) ); } catch( boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)<Tag1,T1>, that data is overwritten. !!!!Returns: x. (:include throws:) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-29</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>7</size>
- <variant>2</variant>
- <string>!!!enable_error_info (:include synopsis:) !!!!Requirements: T must be a user-defined type with accessible no-throw copy constructor. !!!!Returns: An object of unspecified type with no-throw copy semantics, which derives publicly from both T, and class boost::(:link </string>
+ <string>:) & e ) { e << file_name_info(file_name); throw; } }@] The above function is (almost) exception-neutral -- if an exception is emitted by any function call within the try block, parse_file does not need to do any real work, but it intercepts any boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:). The T sub-object is initialized from x by the T copy constructor. If T already derives from boost::(:link </string>
+ <string>:) object, stores the file name, and re-throws using a throw-expression with no operand (15.1.6). The rationale for catching any boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:), then the type of the returned object does not derive boost::(:link </string>
+ <string>:) object is that the file name is relevant to any failure that occurs in parse_file, ''even if the failure is unrelated to file I/O''. As usual, the stored data can be retrieved using (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-7</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:). !!!!Throws: Nothing. </string>
+ <string>:). </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-30</id>
+ <id>-12</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>15</size>
- <variant>2</variant>
- <string>!!!exception_ptr (:include synopsis:) The (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
+ <size>13</size>
<variant>2</variant>
- <string>:) type can be used to refer to a copy of an exception object. It is Default Constructible, Copy Constructible, Assignable and Equality Comparable; (:link </string>
+ <string>(:auto !!!:) The code snippet below demonstrates how boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) can be used to bundle the name of the function that failed, together with the reported errno so that they can be added to exception objects more conveniently together: [@#include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-30</id>
+ <id>-34</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)'s operations do not throw. Two instances of (:link </string>
+ <string>:)> #include <boost/shared_ptr.hpp> #include <stdio.h> #include <string> #include <errno.h> typedef boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-30</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) are equivalent and compare equal if and only if they refer to the same exception. The default constructor of (:link </string>
+ <string>:)<struct tag_file_name,std::string> file_name_info; typedef boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-30</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) produces the null value of the type. The null value is equivalent only to itself. !!!!Note: (:link </string>
+ <string>:)<struct tag_function,char const *> function_info; typedef boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-30</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) objects are returned by (:link </string>
+ <string>:)<struct tag_errno,int> errno_info; typedef boost::tuple<function_info,errno_info> clib_failure; class file_open_error: public boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-32</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) and (:link </string>
+ <string>:) { }; boost::shared_ptr<FILE> file_open( char const * name, char const * mode ) { if( FILE * f=fopen(name,mode) ) return boost::shared_ptr<FILE>(f,fclose); else throw file_open_error() << file_name_info(name) << clib_failure("fopen",errno); }@] Note that the members of a boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) are stored separately in exception objects; they can only be retrieved individually, using (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-33</id>
+ <id>-7</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
@@ -6130,67 +4603,75 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-31</id>
+ <id>-13</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>17</size>
+ <size>1</size>
<variant>2</variant>
- <string>!!!enable_current_exception (:include synopsis:) !!!!Requirements: T must have an accessible no-throw copy constructor !!!!Returns: An object of ''unspecified'' type which derives publicly from T. That is, the returned object can be intercepted by a catch(T &). !!!!Description: This function is designed to be used directly in a throw-expression to enable the exception_ptr support in Boost Exception. For example: [@class my_exception: public std::exception { }; .... throw boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-31</id>
- </shared_ptr>
- </weak_ptr>
+ <string>(:auto !!:) !!!Synopsis (:include synopsis:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-14</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
<variant>2</variant>
- <string>:)(my_exception());@] Unless (:link </string>
+ <string>(:auto !!!:) (:include synopsis:) !!!!Effects: As if try { throw e; } catch( ... ) { return (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-31</id>
+ <id>-25</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) is called at the time an exception object is used in a throw-expression, an attempt to copy it using (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-32</id>
- </shared_ptr>
- </weak_ptr>
+ <string>:)(); } </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>19</size>
<variant>2</variant>
- <string>:) may return an (:link </string>
+ <string>(:auto !!!:) (:include synopsis:) Class boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-30</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) which refers to an instance of (:link </string>
+ <string>:) is designed to be used as a universal base for user-defined exception types. An object of any type deriving from boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-35</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:). See (:link </string>
+ <string>:) can store data of arbitrary types, using the (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-32</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) for details. !!!!Note: Instead of using the throw keyword directly, it is preferable to call boost::(:link </string>
+ <string>:) wrapper and (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
@@ -6199,119 +4680,110 @@
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:). This is guaranteed to throw an exception that derives from boost::(:link </string>
+ <string>|operator<<:). To retrieve data from a boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) and supports exception_ptr functionality. </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-32</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>29</size>
- <variant>2</variant>
- <string>!!!current_exception (:include synopsis:) !!!!Requirements: The (:link </string>
+ <string>:) object, use the (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-32</id>
+ <id>-7</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) function must not be called outside of a catch block. !!!!Returns: * An (:link </string>
+ <string>:) function template. (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-30</id>
+ <id>-36</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) that refers to the currently handled exception or a copy of the currently handled exception. * If the function needs to allocate memory and the attempt fails, it returns an (:link </string>
+ <string>:) (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-30</id>
+ <id>-28</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) that refers to an instance of std::bad_alloc. !!!!Throws: Nothing. !!!!Notes: * It is unspecified whether the return values of two successive calls to (:link </string>
+ <string>:) (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-32</id>
+ <id>-26</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) refer to the same exception object. * Correct implementation of (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-32</id>
- </shared_ptr>
- </weak_ptr>
+ <string>:) </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>21</size>
<variant>2</variant>
- <string>:) may require compiler support, unless (:link </string>
+ <string>(:auto !!:) Class boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-31</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) is used at the time the currently handled exception object was passed to throw. If (:link </string>
+ <string>:) provides a virtual member function (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-31</id>
+ <id>-26</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) is not used, and if the compiler does not provide the necessary support, then (:link </string>
+ <string> mod="m":), with a signature similar to the familiar std::exception::what function. The default implementation returns a string value that is not presentable as a friendly user message, but because it is generated automatically, it is useful for debugging or logging purposes. Here is an example: [@#include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-32</id>
+ <id>-17</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) may return an (:link </string>
+ <string>:)> #include <iostream> void f(); //throws unknown types that derive from boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-30</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) that refers to an instance of (:link </string>
+ <string>:). void g() { try { f(); } catch( boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-35</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:). In this case, if the original exception object derives from boost::(:link </string>
+ <string>:) & e ) { std::cerr << e.(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
@@ -6320,7 +4792,7 @@
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:), then the boost::(:link </string>
+ <string> mod="m":)(); } }@] The (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
@@ -6329,558 +4801,860 @@
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) sub-object of the (:link </string>
+ <string> mod="m":) member function iterates over all data objects stored in the boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-35</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) object is initialized by the boost::(:link </string>
+ <string>:) through (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-23</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) copy constructor. </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-33</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>3</size>
- <variant>2</variant>
- <string>!!!copy_exception (:include synopsis:) !!!!Effects: As if try { throw e; } catch( ... ) { return (:link </string>
+ <string>|operator<<:). The returned string is constructed by converting each data object to string and then concatenating these strings together. When the (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-32</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)(); } </string>
+ <string>:)<Tag,T> template is instantiated, the system attempts overload resolution for an unqualified call to to_string(x), where x is of type T. If this is successful, the to_string overload is expected to return std::string and is used to convert objects of type T to string. Otherwise, the system attempts overload resolution for s << x, where s is a std::ostringstream and x is of type T. If this is successful, the operator<< overload is used to convert objects of type T to string. Otherwise the system is unable to convert objects of type T to string, and an unspecified stub string value is used without issuing a compile error. </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-34</id>
+ <id>-17</id>
</shared_ptr>
</weak_ptr>
<container>
<size>1</size>
<variant>2</variant>
- <string>!!!rethrow_exception (:include synopsis:) !!!!Precondition: ep shall not be null. !!!!Throws: The exception to which ep refers. </string>
+ <string>(:auto !!:) !!!Synopsis (:include synopsis:) </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-35</id>
+ <id>-18</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>5</size>
+ <size>11</size>
<variant>2</variant>
- <string>!!!unknown_exception (:include synopsis:) This type is used by the </string>
+ <string>(:auto !!:) All exception types that derive from boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-30</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string> support in Boost Exception. Please see (:link </string>
+ <string>:) can be used as type-safe containers of arbitrary data objects, while complying with the no-throw requirements (15.5.1) of the ANSI C++ standard for exception types. Data can be added to a boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-32</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:). </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-36</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>5</size>
- <variant>2</variant>
- <string>!!!diagnostic_information (:include synopsis:) !!!!Returns: If dynamic_cast<boost::(:link </string>
+ <string>:) at the time of the throw, or at a later time. (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-29</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) *>(&x) is not null, the returned string is initialized by a call to (:link </string>
+ <string>:) (:include </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-42</id>
+ <id>-11</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:); otherwise, the returned string combines the output of x.what() and typeid(x).name(). </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-37</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>!!boost/exception.hpp !!Synopsis (:include synopsis:) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-38</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>!!boost/exception/diagnostic_information.hpp !!!Synopsis (:include synopsis:) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-39</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>!!boost/exception/enable_current_exception.hpp !!!Synopsis (:include synopsis:) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-40</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>!!boost/exception/enable_error_info.hpp !!!Synopsis (:include synopsis:) </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-41</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
+ <string>:) (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-12</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-42</id>
+ <id>-19</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>7</size>
+ <size>27</size>
<variant>2</variant>
- <string>!!!exception::diagnostic_information (:include decl:) !!!!Returns: An string representation of all data stored in the boost::(:link </string>
+ <string>(:auto !!:) Some exception hierarchies can not be modified to make boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) object by the (:link </string>
+ <string>:) a base type. In this case, the (:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-28</id>
+ <id>-40</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>|operator<<:) function. See "(:link </string>
+ <string>:) function template can be used to make exception objects derive from boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-10</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)" for details. !!!!Throws: Nothing. !!!!Note: The return value remains valid until the exception object from which it is obtained is destroyed or modified. </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-43</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>7</size>
+ <string>:) anyway. Here is an example: [@#include <(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-17</id>
+ </shared_ptr>
+ </weak_ptr>
<variant>2</variant>
- <string>!!!exception::exception (:include decl:) !!!!Effects: * Default constructor: initializes an empty boost::(:link </string>
+ <string>:)> #include <stdexcept> typedef boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) object. * Copy constructor: initializes a boost::(:link </string>
+ <string>:)<struct tag_std_range_min,size_t> std_range_min; typedef boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:) object which shares with x all data added through (:link </string>
+ <string>:)<struct tag_std_range_max,size_t> std_range_max; typedef boost::(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-28</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>|operator<<:), including data that is added at a future time. !!!!Throws: Nothing. </string>
- </container>
- </pair>
- </sorted>
- </object>
- </shared_ptr>
- </pair>
- <pair>
- <string>throws</string>
- <shared_ptr>
- <id>49</id>
- <type>
- <string>reno_layer</string>
- </type>
- <object>
- <sorted>
- <size>39</size>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-6</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-7</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-8</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-9</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-10</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-11</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-12</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-13</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-14</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
+ <string>:)<struct tag_std_range_index,size_t> std_range_index; template <class T> class my_container { public: size_t size() const; T const & operator[]( size_t i ) const { if( i > size() ) throw boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-40</id>
+ </shared_ptr>
+ </weak_ptr>
<variant>2</variant>
- <string>!!!!Throws: std::bad_alloc, or any exception emitted by T1..TN copy constructor. </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-15</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-16</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-17</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-18</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
+ <string>:)(std::range_error("Index out of range")) << std_range_min(0) << std_range_max(size()) << std_range_index(i); //.... } }; @] The call to (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-40</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)<T> gets us an object of ''unspecified type'' which is guaranteed to derive from both boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) and T. This makes it possible to use (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-23</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>|operator<<:) to store additional information in the exception object. The exception can be intercepted as T &, so existing exception handling will not break. It can also be intercepted as boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) &, so that (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-18</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>|more information can be added to the exception at a later time:). </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-19</id>
+ <id>-20</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!:) !!!Synopsis (:include synopsis:) </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-20</id>
+ <id>-21</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>13</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) Here is how cloning can be enabled in a throw-expression (15.1): [@#include <(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-13</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)> #include <(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-20</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)> #include <stdio.h> #include <errno.h> typedef boost::error_info<struct tag_errno,int> errno_info; class file_read_error: public boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) { }; void file_read( FILE * f, void * buffer, size_t size ) { if( size!=fread(buffer,1,size,f) ) throw boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)(file_read_error()) << errno_info(errno); }@] Of course, (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) may be used with any exception type; there is no requirement that it should derive from boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:). </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-21</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>25</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) (:include synopsis:) !!!!Requirements: T must have accessible copy constructor and must not be a reference (there is no requirement that T's copy constructor does not throw.) !!!!Description: This class template is used to associate a Tag type with a value type T. Objects of type (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-22</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)<Tag,T> can be passed to (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-23</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>|operator<<:) to be stored in objects of type boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:). !!!!Note: The header <(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-33</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)> provides a declaration of the (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-22</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) template, which is sufficient for the purpose of typedefing an instance for specific Tag and T, like this: [@#include <(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-33</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)> typedef boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-22</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)<struct tag_errno,int> errno_info;@] Of course, to actually add an (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-22</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) object to (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> mod="p":) using (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-23</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>|operator<<:), or to retrieve it using (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-7</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:), you must first #include <(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-20</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)>. </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-22</id>
+ <id>-23</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>7</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) (:include synopsis:) !!!!Requirements: E must be boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:), or a type that derives (indirectly) from boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:). !!!!Effects: Stores a copy of v into x. If x already contains data of type (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-22</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)<Tag,T>, that data is overwritten. !!!!Returns: x. (:include throws:) </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-23</id>
+ <id>-24</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>5</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) (:include synopsis:) !!!!Requirements: E must be boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:), or a type that derives (indirectly) from boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:). !!!!Effects: Equivalent to x << v.(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html#accessing_elements|get:)<0>() << ... << v.(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html#accessing_elements|get:)<N>(). !!!!Returns: x. (:include throws:) </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-24</id>
+ <id>-25</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>29</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) (:include synopsis:) !!!!Requirements: The (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-25</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) function must not be called outside of a catch block. !!!!Returns: * An (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) that refers to the currently handled exception or a copy of the currently handled exception. * If the function needs to allocate memory and the attempt fails, it returns an (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) that refers to an instance of std::bad_alloc. !!!!Throws: Nothing. !!!!Notes: * It is unspecified whether the return values of two successive calls to (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-25</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) refer to the same exception object. * Correct implementation of (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-25</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) may require compiler support, unless (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) was used at the time the currently handled exception object was passed to throw. If (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) was not used, and if the compiler does not provide the necessary support, then (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-25</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) may return an (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) that refers to an instance of (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-37</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:). In this case, if the original exception object derives from boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:), then the boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) sub-object of the (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-37</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) object is initialized by the boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) copy constructor. </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-25</id>
+ <id>-26</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>15</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) (:include decl:) !!!!Returns: A string representation of all data stored in the boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) object by the (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-23</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>|operator<<:) function. See "(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> mod="w":)" for details. !!!!Throws: Nothing. !!!!Notes: *The return value remains valid until the exception object from which it was obtained is destroyed or modified. *The header </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-31</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> provides a namespace-scope function </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-27</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> which takes a std::exception. It calls </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-26</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> if its argument can be converted to boost::</string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>; otherwise it returns a string that combines the value of std::exception::what and the exception's dynamic type. </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-27</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>5</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) (:include synopsis:) !!!!Returns: If dynamic_cast<boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) const *>(&x) is not null, the returned string is initialized by a call to (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-26</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:); otherwise, the returned string combines the output of x.what() and typeid(x).name(). </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-28</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) (:include decl:) !!!!Effects: Frees all resources associated with a boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) object. !!!!Throws: Nothing. </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-28</id>
+ <id>-29</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>1</size>
+ <size>17</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) The following example demonstrates how errno can be stored in exception objects using Boost Exception: [@#include <(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-17</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)> #include <errno.h> #include <iostream> typedef boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-22</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)<struct tag_errno,int> errno_info; //(1) class my_error: public boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:), public std::exception { }; //(2) void f() { throw my_error() << errno_info(errno); //(3) } @] First, we instantiate the (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-22</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) template using a unique identifier -- tag_errno, and the type of the info it identifies -- int. This provides compile-time type safety for the various values stored in exception objects. Second, we define class my_error, which derives from boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:). Finally, (3) illustrates how the typedef from (1) can be used with (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-23</id>
+ </shared_ptr>
+ </weak_ptr>
<variant>2</variant>
- <string>!!!!Throws: std::bad_alloc, or any exception emitted by the T copy constructor. </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-29</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
+ <string>|operator<<:) to store values in exception objects at the point of the throw. The stored errno value can be recovered at a later time like this: [@// ...continued void g() { try { f(); } catch( my_error & x ) { if( boost::shared_ptr<int const> err=boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-7</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)<errno_info>(x) ) std::cerr << "Error code: " << *err; } }@] The (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-7</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) function template is instantiated with the typedef from (1), and is passed an exception object of a polymorphic type. If the exception object contains the requested value, the returned (:link http://www.boost.org/libs/smart_ptr/shared_ptr.htm|shared_ptr:) will point to it; otherwise an empty (:link http://www.boost.org/libs/smart_ptr/shared_ptr.htm|shared_ptr:) is returned. </string>
</container>
</pair>
<pair>
@@ -6891,7 +5665,171 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>37</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) When you catch an exception, you can call (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-25</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) to get an (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) object: [@#include <(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-9</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)> #include <boost/thread.hpp> #include <boost/bind.hpp> void do_work(); //throws cloning-enabled boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)s void worker_thread( boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) & error ) { try { do_work(); error = boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)(); } catch( ... ) { error = boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-25</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)(); } }@] In the above example, note that (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-25</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) captures the original type of the exception object. The exception can be thrown again using the (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-5</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) function: [@// ...continued void work() { boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) error; boost::(:link http://www.boost.org/doc/html/boost/thread.html|thread:) t( boost::(:link http://www.boost.org/libs/bind/bind.html|bind:)(worker_thread,boost::(:link http://www.boost.org/doc/html/ref.html|ref:)(error)) ); t.(:link http://www.boost.org/doc/html/boost/thread.html|join:)(); if( error ) boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-5</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)(error); }@] Note that (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-25</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) could fail to copy the original exception object in the following cases: * if there is not enough memory, in which case the returned (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) points to an instance of std::bad_alloc, or * if (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) was not used in the throw-expression passed to the original throw statement and the current implementation does not have the necessary compiler-specific support to copy the exception automatically, in which case the returned (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) points to an instance of (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-37</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:). Regardless, the use of (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-25</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) and (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-5</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) in the above examples is well-formed. </string>
</container>
</pair>
<pair>
@@ -6902,7 +5840,9 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!:) !!!Synopsis (:include synopsis:) </string>
</container>
</pair>
<pair>
@@ -6913,7 +5853,9 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!:) !!!Synopsis (:include synopsis:) </string>
</container>
</pair>
<pair>
@@ -6924,7 +5866,9 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!:) !!!Synopsis (:include synopsis:) </string>
</container>
</pair>
<pair>
@@ -6935,7 +5879,9 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!:) !!!Synopsis (:include synopsis:) </string>
</container>
</pair>
<pair>
@@ -6946,7 +5892,9 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!:) !!!Synopsis (:include synopsis:) </string>
</container>
</pair>
<pair>
@@ -6957,7 +5905,36 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>7</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) (:include decl:) !!!!Effects: * Default constructor: initializes an empty boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) object. * Copy constructor: initializes a boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) object which shares with x all data added through (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-23</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>|operator<<:), including data that is added at a future time. !!!!Throws: Nothing. </string>
</container>
</pair>
<pair>
@@ -6968,7 +5945,27 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>5</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) (:include synopsis:) This type is used by the (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) support in Boost Exception. Please see (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-25</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:). </string>
</container>
</pair>
<pair>
@@ -6979,7 +5976,99 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>21</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) (:include synopsis:) !!!!Requirements: T must be of user-defined type with an accessible no-throw copy constructor. !!!!Returns: An object of ''unspecified'' type which derives publicly from T. That is, the returned object can be intercepted by a catch(T &). !!!!Description: This function is designed to be used directly in a throw-expression to enable the (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) support in Boost Exception. For example: [@class my_exception: public std::exception { }; .... throw boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)(my_exception());@] Unless (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) is called at the time an exception object is used in a throw-expression, an attempt to copy it using (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-25</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) may return an (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) which refers to an instance of (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-37</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:). See (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-25</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) for details. !!!!Note: Instead of using the throw keyword directly, it is preferable to call boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-43</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:). This is guaranteed to throw an exception that derives from boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) and supports the (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) functionality. </string>
</container>
</pair>
<pair>
@@ -7001,7 +6090,27 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>5</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) (:include synopsis:) !!!!Requirements: T must be a user-defined type with accessible no-throw copy constructor as per (15.5.1). !!!!Returns: * If T derives from boost::</string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>, the returned object is of type T and is a copy of x. * Otherwise, the returned object is of an unspecified type that derives publicly from both T and boost::</string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>. The T sub-object is initialized from x by the T copy constructor. !!!!Throws: Nothing. </string>
</container>
</pair>
<pair>
@@ -7012,7 +6121,54 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>11</size>
+ <variant>2</variant>
+ <string>(:auto !!:) Boost Exception supports transporting of exception objects between threads through cloning. This system is similar to (:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:), but because Boost Exception can not rely on language support, the use of (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) at the time of the throw is required in order to use cloning. !!!!Note: All exceptions emitted by the familiar function boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-43</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) are guaranteed to derive from boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) and to support cloning. (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-21</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-30</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) </string>
</container>
</pair>
<pair>
@@ -7034,7 +6190,63 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>13</size>
+ <variant>2</variant>
+ <string>(:auto !!!:) (:include synopsis:) !!!!Requirements: E must derive publicly from std::exception. !!!!Effects: * If BOOST_NO_EXCEPTIONS is not defined, boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-43</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)(e) is equivalent to throw boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)(boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-40</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)(e)), unless BOOST_EXCEPTION_DISABLE is defined, in which case boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-43</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)(e) is equivalent to throw e; * If BOOST_NO_EXCEPTIONS is defined, the function is left undefined, and the user is expected to supply an appropriate definition. Callers of </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-43</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> are allowed to assume that the function never returns; therefore, if the user-defined </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-43</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> returns, the behavior is undefined. </string>
</container>
</pair>
</sorted>
@@ -7042,9 +6254,9 @@
</shared_ptr>
</pair>
<pair>
- <string>members</string>
+ <string>throws</string>
<shared_ptr>
- <id>50</id>
+ <id>48</id>
<type>
<string>reno_layer</string>
</type>
@@ -7257,7 +6469,9 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>!!!!Throws: std::bad_alloc, or any exception emitted by the T copy constructor. </string>
</container>
</pair>
<pair>
@@ -7268,7 +6482,9 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>!!!!Throws: std::bad_alloc, or any exception emitted by T1..TN copy constructor. </string>
</container>
</pair>
<pair>
@@ -7487,7 +6703,7 @@
<pair>
<string>synopsis</string>
<shared_ptr>
- <id>51</id>
+ <id>49</id>
<type>
<string>reno_layer</string>
</type>
@@ -7502,19 +6718,6 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>1</size>
- <variant>2</variant>
- <string>[@namespace boost { (:include decl pre_indent="4":) }@] </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-6</id>
- </shared_ptr>
- </weak_ptr>
- <container>
<size>3</size>
<variant>2</variant>
<string>`#include <(:link </string>
@@ -7522,7 +6725,7 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-16</id>
+ <id>-9</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
@@ -7533,7 +6736,7 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-7</id>
+ <id>-6</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -7544,7 +6747,7 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-16</id>
+ <id>-9</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
@@ -7555,73 +6758,86 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-8</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>5</size>
- <variant>2</variant>
- <string>[@#include <(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-39</id>
- </shared_ptr>
- </weak_ptr>
+ <id>-7</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
<variant>2</variant>
- <string>:)> #include <(:link </string>
+ <string>`#include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-40</id>
+ <id>-20</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)> #include <exception> namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <string>:)> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-9</id>
+ <id>-8</id>
</shared_ptr>
</weak_ptr>
<container>
<size>1</size>
<variant>2</variant>
- <string>[@namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <string>[@namespace boost { (:include api pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-10</id>
+ <id>-9</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@#include <(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-8</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)> namespace boost { (:include api pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-11</id>
+ <id>-10</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>`#include <(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-20</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-12</id>
+ <id>-11</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -7632,7 +6848,7 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-13</id>
+ <id>-12</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -7643,71 +6859,73 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-14</id>
+ <id>-13</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>5</size>
- <variant>2</variant>
- <string>`#include <(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-19</id>
- </shared_ptr>
- </weak_ptr>
+ <size>3</size>
<variant>2</variant>
- <string>:)> [@namespace boost { (:include </string>
+ <string>[@#include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-14</id>
+ <id>-8</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string> decl pre_indent="4":) }@] </string>
+ <string>:)> namespace boost { (:include api pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-15</id>
+ <id>-14</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>`#include <(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-9</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-16</id>
+ <id>-15</id>
</shared_ptr>
</weak_ptr>
<container>
<size>3</size>
<variant>2</variant>
- <string>[@#include <(:link </string>
+ <string>`#include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-9</id>
+ <id>-8</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)> #include <boost/current_function.hpp> #include <boost/shared_ptr.hpp> namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <string>:)> [@namespace boost { (:include def pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-17</id>
+ <id>-16</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -7718,31 +6936,31 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-18</id>
+ <id>-17</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>[@(:include api:)@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-19</id>
+ <id>-18</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>1</size>
- <variant>2</variant>
- <string>[@#include <boost/tuple/tuple.hpp> namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-20</id>
+ <id>-19</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -7753,29 +6971,29 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-21</id>
+ <id>-20</id>
</shared_ptr>
</weak_ptr>
<container>
<size>3</size>
<variant>2</variant>
- <string>[@#include <</string>
+ <string>[@#include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-9</id>
+ <id>-8</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>> namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <string>:)> #include <boost/current_function.hpp> #include <boost/shared_ptr.hpp> namespace boost { (:include api pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-22</id>
+ <id>-21</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -7786,7 +7004,7 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-23</id>
+ <id>-22</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -7797,40 +7015,18 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-8</id>
+ <id>-20</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-24</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-25</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
+ <string>:)> [@namespace boost { (:include def pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-26</id>
+ <id>-23</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -7841,40 +7037,49 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-9</id>
+ <id>-20</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <string>:)>\\ [@namespace boost { (:include decl pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-27</id>
+ <id>-24</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
+ <size>5</size>
<variant>2</variant>
<string>`#include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-16</id>
+ <id>-34</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <string>:)> [@namespace boost { (:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-24</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> decl pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-28</id>
+ <id>-25</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -7885,40 +7090,29 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-16</id>
+ <id>-9</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)>\\ [@namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <string>:)> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-29</id>
+ <id>-26</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>`#include <(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-40</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-30</id>
+ <id>-27</id>
</shared_ptr>
</weak_ptr>
<container>
@@ -7929,7 +7123,7 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-21</id>
+ <id>-31</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
@@ -7940,150 +7134,112 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-31</id>
+ <id>-28</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>`#include <(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-39</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-32</id>
+ <id>-29</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>`#include <(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-21</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-33</id>
+ <id>-30</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>`#include <(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-21</id>
- </shared_ptr>
- </weak_ptr>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-31</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
<variant>2</variant>
- <string>:)> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <string>[@#include <exception> namespace boost { (:include api pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-34</id>
+ <id>-32</id>
</shared_ptr>
</weak_ptr>
<container>
<size>3</size>
<variant>2</variant>
- <string>`#include <(:link </string>
+ <string>[@#include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-21</id>
+ <id>-8</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <string>:)> namespace boost { (:include api pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-35</id>
+ <id>-33</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>`#include <(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-21</id>
- </shared_ptr>
- </weak_ptr>
+ <size>1</size>
<variant>2</variant>
- <string>:)> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <string>[@namespace boost { (:include api pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-36</id>
+ <id>-34</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>`#include <</string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-38</id>
- </shared_ptr>
- </weak_ptr>
+ <size>1</size>
<variant>2</variant>
- <string>> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <string>[@#include <boost/tuple/tuple.hpp> namespace boost { (:include api pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-37</id>
+ <id>-35</id>
</shared_ptr>
</weak_ptr>
<container>
- <size>11</size>
+ <size>5</size>
<variant>2</variant>
<string>[@#include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-16</id>
+ <id>-13</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
@@ -8092,38 +7248,44 @@
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-19</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)> #include <</string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-38</id>
+ <id>-32</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>> #include <(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-21</id>
- </shared_ptr>
- </weak_ptr>
+ <string>:)> #include <exception> namespace boost { (:include api pre_indent="4":) }@] </string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-36</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-37</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
<variant>2</variant>
- <string>:)> #include <(:link </string>
+ <string>`#include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-8</id>
+ <id>-9</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>:)>@] </string>
+ <string>:)> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
@@ -8134,9 +7296,18 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>1</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>`#include <(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-13</id>
+ </shared_ptr>
+ </weak_ptr>
<variant>2</variant>
- <string>[@#include <exception> namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <string>:)> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
@@ -8147,18 +7318,7 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>3</size>
- <variant>2</variant>
- <string>[@#include <(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-9</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)> namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <size>0</size>
</container>
</pair>
<pair>
@@ -8171,16 +7331,16 @@
<container>
<size>3</size>
<variant>2</variant>
- <string>[@#include <</string>
+ <string>`#include <(:link </string>
<variant>1</variant>
<weak_ptr>
<expired>0</expired>
<shared_ptr>
- <id>-9</id>
+ <id>-32</id>
</shared_ptr>
</weak_ptr>
<variant>2</variant>
- <string>> namespace boost { (:include decl pre_indent="4":) }@] </string>
+ <string>:)> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
</container>
</pair>
<pair>
@@ -8213,7 +7373,18 @@
</shared_ptr>
</weak_ptr>
<container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>`#include <(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-35</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)> [@namespace boost { (:include decl pre_indent="4":) }@] </string>
</container>
</pair>
</sorted>
@@ -8226,7 +7397,7 @@
</layers>
<contexts>
<shared_ptr>
- <id>52</id>
+ <id>50</id>
<type>
<string>reno_context_map</string>
</type>
@@ -8370,7 +7541,7 @@
</path>
</file>
<shared_ptr>
- <id>-25</id>
+ <id>-42</id>
</shared_ptr>
</pair>
<pair>
@@ -8387,7 +7558,7 @@
</path>
</file>
<shared_ptr>
- <id>-24</id>
+ <id>-41</id>
</shared_ptr>
</pair>
<pair>
@@ -8404,7 +7575,7 @@
</path>
</file>
<shared_ptr>
- <id>-20</id>
+ <id>-18</id>
</shared_ptr>
</pair>
<pair>
@@ -8421,7 +7592,7 @@
</path>
</file>
<shared_ptr>
- <id>-41</id>
+ <id>-39</id>
</shared_ptr>
</pair>
<pair>
@@ -8429,23 +7600,23 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>CB567E3390BC92DA06F9899E700792C3790D3707C024CA21D15C930D908AD10A</strong>
- <weak>3422645546</weak>
- <size>5023</size>
- <position>323</position>
+ <strong>07959353ADCC10CF96D16F87F2D01195D75C3A6A2A797513ED3DDFA2F80E2E09</strong>
+ <weak>303643772</weak>
+ <size>1838</size>
+ <position>91</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception_ptr.hpp</string>
+ <string>../../../../boost/throw_exception.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-21</id>
+ <id>-35</id>
</shared_ptr>
</pair>
<pair>
@@ -8453,51 +7624,47 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>091CEE4B0BEBD40D864A1BC8288C10A248BEFFD4E472647343F2BEDE0BDE0F10</strong>
- <weak>2732630308</weak>
- <size>2455</size>
- <position>323</position>
+ <strong>FC684D0DD5A9732B4130F2AB3DB6E0491D0F523E14B7FB738B2019EA2C7F8717</strong>
+ <weak>2229778754</weak>
+ <size>631</size>
+ <position>319</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/enable_error_info.hpp</string>
+ <string>../../example/cloning_2.cpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-40</id>
+ <id>-30</id>
</shared_ptr>
</pair>
<pair>
<hook>
<stream_hook_path>
<container>
- <size>2</size>
- <strong>D36D37BED1D119D9CB6040BE4A9694586CC5EFF7A50C30AB59BB06BF70458015</strong>
- <weak>993620616</weak>
- <size>2321</size>
- <position>457</position>
- <strong>248C5047CA4021C30DE8853D6AEBD138D11A76B3571C856A48C0A442D6D040A5</strong>
- <weak>1700162144</weak>
- <size>2289</size>
- <position>26</position>
+ <size>1</size>
+ <strong>ECAD4A1E70A31D7F87F79F557D107AB0A3C5161CB370139974E08ECAFBE2D32F</strong>
+ <weak>1816954312</weak>
+ <size>457</size>
+ <position>323</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/enable_error_info.hpp</string>
+ <string>../../../../boost/exception/diagnostic_information.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-29</id>
+ <id>-31</id>
</shared_ptr>
</pair>
<pair>
@@ -8505,23 +7672,23 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>FC684D0DD5A9732B4130F2AB3DB6E0491D0F523E14B7FB738B2019EA2C7F8717</strong>
- <weak>2229778754</weak>
- <size>631</size>
- <position>319</position>
+ <strong>D9B8E6AA12A4F33953B1A961FA590C5A3840234B6531CA8C04AC985AD5800835</strong>
+ <weak>2432554768</weak>
+ <size>702</size>
+ <position>408</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../example/cloning_2.cpp</string>
+ <string>../../example/enable_error_info.cpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-18</id>
+ <id>-19</id>
</shared_ptr>
</pair>
<pair>
@@ -8529,9 +7696,9 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>ECAD4A1E70A31D7F87F79F557D107AB0A3C5161CB370139974E08ECAFBE2D32F</strong>
- <weak>1816954312</weak>
- <size>457</size>
+ <strong>0C00BEB179039380247D771B12C728884E9A3E5B483AC63CD5789852C7A5CC35</strong>
+ <weak>2506662970</weak>
+ <size>2467</size>
<position>323</position>
</container>
</stream_hook_path>
@@ -8539,13 +7706,13 @@
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/diagnostic_information.hpp</string>
+ <string>../../../../boost/exception/enable_error_info.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-38</id>
+ <id>-32</id>
</shared_ptr>
</pair>
<pair>
@@ -8553,23 +7720,23 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>D9B8E6AA12A4F33953B1A961FA590C5A3840234B6531CA8C04AC985AD5800835</strong>
- <weak>2432554768</weak>
- <size>702</size>
- <position>408</position>
+ <strong>5373E336DC4892A41D31694BCA1146382FC3137819A04689CA1F9FFAF1CFAB3B</strong>
+ <weak>4050491732</weak>
+ <size>466</size>
+ <position>307</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../example/enable_error_info.cpp</string>
+ <string>../../example/cloning_1.cpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-11</id>
+ <id>-21</id>
</shared_ptr>
</pair>
<pair>
@@ -8577,79 +7744,71 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>5373E336DC4892A41D31694BCA1146382FC3137819A04689CA1F9FFAF1CFAB3B</strong>
- <weak>4050491732</weak>
- <size>466</size>
- <position>307</position>
+ <strong>49D31376D97691F7C84A134B5D8C7C66EF1ED6901D376CA250D634AE2B38AB5E</strong>
+ <weak>549270010</weak>
+ <size>163</size>
+ <position>572</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../example/cloning_1.cpp</string>
+ <string>../../../../boost/exception/info.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-17</id>
+ <id>-10</id>
</shared_ptr>
</pair>
<pair>
<hook>
<stream_hook_path>
<container>
- <size>2</size>
- <strong>07430F64896197A110C276D8A14CA8A75FBA482DDF50CD40D689A1898C84D054</strong>
- <weak>1712604289</weak>
- <size>1296</size>
- <position>396</position>
- <strong>BCCB91D0DCA6EC45F29CB70CB64AEA6AB54F32F8F1D1937C4CB80B059346DC81</strong>
- <weak>695614553</weak>
- <size>1264</size>
- <position>26</position>
+ <size>1</size>
+ <strong>A9C65F105342D728DE9C996079E82DF25408B94A272090039FAAC12D29659F69</strong>
+ <weak>2378831669</weak>
+ <size>94</size>
+ <position>227</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/info_tuple.hpp</string>
+ <string>../../../../boost/exception/enable_current_exception.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-14</id>
+ <id>-13</id>
</shared_ptr>
</pair>
<pair>
<hook>
<stream_hook_path>
<container>
- <size>2</size>
- <strong>973F8368D72D56424349CBB81C8F3015CB9F4F0CD7B23A8C62C3DBADDA37CD57</strong>
- <weak>3833800883</weak>
- <size>4832</size>
- <position>514</position>
- <strong>921FBF6991E17349BFF2AD6F165372F85AA9457DDB28E502ABB6B392BBA6B529</strong>
- <weak>3119269037</weak>
- <size>284</size>
- <position>4423</position>
+ <size>1</size>
+ <strong>429F0DE3599A4CC08B9458E2AECA2EAC202AB3471554FE82C307493805E6676E</strong>
+ <weak>4224422781</weak>
+ <size>401</size>
+ <position>323</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception_ptr.hpp</string>
+ <string>../../../../boost/exception.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-33</id>
+ <id>-17</id>
</shared_ptr>
</pair>
<pair>
@@ -8657,27 +7816,27 @@
<stream_hook_path>
<container>
<size>2</size>
- <strong>973F8368D72D56424349CBB81C8F3015CB9F4F0CD7B23A8C62C3DBADDA37CD57</strong>
- <weak>3833800883</weak>
- <size>4832</size>
- <position>514</position>
- <strong>9567A192BF523DDF741004FFF5BDB044D715FEB7CE9AEC89ACC25C1C33E48C4E</strong>
- <weak>2232115228</weak>
- <size>381</size>
- <position>26</position>
+ <strong>FA5027D9799B8059059C23397F469D6EF6328DC23E92E0BE0FF5BE019A576174</strong>
+ <weak>1806359597</weak>
+ <size>3234</size>
+ <position>506</position>
+ <strong>DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9</strong>
+ <weak>1137981799</weak>
+ <size>192</size>
+ <position>3036</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception_ptr.hpp</string>
+ <string>../../../../boost/exception/enable_current_exception.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-35</id>
+ <id>-38</id>
</shared_ptr>
</pair>
<pair>
@@ -8685,42 +7844,38 @@
<stream_hook_path>
<container>
<size>2</size>
- <strong>973F8368D72D56424349CBB81C8F3015CB9F4F0CD7B23A8C62C3DBADDA37CD57</strong>
- <weak>3833800883</weak>
- <size>4832</size>
- <position>514</position>
- <strong>9DEEF8ED70BF74F501A96BA5DE5BFD42FAD16DE333ABE189E512C332586FC465</strong>
- <weak>2250569940</weak>
- <size>1893</size>
- <position>2528</position>
+ <strong>7ACC4E316D4EDB3EC7AEC35FED3ADB47DDF75D575028D7BCD11C5233E4F4A277</strong>
+ <weak>4268848542</weak>
+ <size>2333</size>
+ <position>457</position>
+ <strong>61DE70107961C0B9A65674017F91FF85190CF84B4F3B0CA7AC04A7E16DE80B37</strong>
+ <weak>3187961206</weak>
+ <size>2301</size>
+ <position>26</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception_ptr.hpp</string>
+ <string>../../../../boost/exception/enable_error_info.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-32</id>
+ <id>-40</id>
</shared_ptr>
</pair>
<pair>
<hook>
<stream_hook_path>
<container>
- <size>2</size>
- <strong>973F8368D72D56424349CBB81C8F3015CB9F4F0CD7B23A8C62C3DBADDA37CD57</strong>
- <weak>3833800883</weak>
- <size>4832</size>
- <position>514</position>
- <strong>156B870761DB092CE4269C1173B479A344A1041BA2B883765AF19A72B371D776</strong>
- <weak>3239976720</weak>
- <size>117</size>
- <position>4709</position>
+ <size>1</size>
+ <strong>E312FADF4C02B7A6CB1BE1EC16F05A21C20CBA3282D4EAFC8EBE0BA151F24779</strong>
+ <weak>2820045995</weak>
+ <size>5108</size>
+ <position>323</position>
</container>
</stream_hook_path>
</hook>
@@ -8733,7 +7888,7 @@
</path>
</file>
<shared_ptr>
- <id>-34</id>
+ <id>-9</id>
</shared_ptr>
</pair>
<pair>
@@ -8741,51 +7896,55 @@
<stream_hook_path>
<container>
<size>2</size>
- <strong>973F8368D72D56424349CBB81C8F3015CB9F4F0CD7B23A8C62C3DBADDA37CD57</strong>
- <weak>3833800883</weak>
- <size>4832</size>
- <position>514</position>
- <strong>ED09F845070FF7D381BE5EFB6B55313FD09FBA16B64B69992410380EFA45519C</strong>
- <weak>2051939590</weak>
- <size>78</size>
- <position>409</position>
+ <strong>05061ED1DD1B33224DE28BF86AB10D99286A48DC055D54A19FF93B36F22E8A90</strong>
+ <weak>3225446538</weak>
+ <size>372</size>
+ <position>408</position>
+ <strong>ED09AD72D3766F261A0044B58B9B73AA355EB50B1A8F602E5EE7F68D0D928596</strong>
+ <weak>328425570</weak>
+ <size>340</size>
+ <position>26</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception_ptr.hpp</string>
+ <string>../../../../boost/exception/diagnostic_information.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-30</id>
+ <id>-27</id>
</shared_ptr>
</pair>
<pair>
<hook>
<stream_hook_path>
<container>
- <size>1</size>
- <strong>49D31376D97691F7C84A134B5D8C7C66EF1ED6901D376CA250D634AE2B38AB5E</strong>
- <weak>549270010</weak>
- <size>163</size>
- <position>572</position>
+ <size>2</size>
+ <strong>612485E090D76B2CC43C1A296F813075BA165C2496082E78E939F10B3DA8E09A</strong>
+ <weak>1770110914</weak>
+ <size>587</size>
+ <position>1322</position>
+ <strong>60F3F48B87487FA6E0D2CCC0750AF435CC92CEC80BBBF609AC71295031AADD0D</strong>
+ <weak>3929437933</weak>
+ <size>361</size>
+ <position>213</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/info.hpp</string>
+ <string>../../../../boost/throw_exception.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-6</id>
+ <id>-43</id>
</shared_ptr>
</pair>
<pair>
@@ -8793,17 +7952,17 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>48A0C42CCA66A6C935724A9B7BD30B6B3DF16A0A808C804A585A5CC90D85DC5E</strong>
- <weak>1606229033</weak>
- <size>1723</size>
- <position>91</position>
+ <strong>9CC0F5ADB1C04555FD571DABD1D7D6775D8B11977ECC8320AD4451FC435E89A1</strong>
+ <weak>1325628148</weak>
+ <size>3147</size>
+ <position>323</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/throw_exception.hpp</string>
+ <string>../../../../boost/exception/exception.hpp</string>
<type>0</type>
<base>0</base>
</path>
@@ -8817,9 +7976,9 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>F19D72C24D904689FEEE070D77ABD19090396E7C7663A5BA80E474F1EDA62861</strong>
- <weak>4081508978</weak>
- <size>6759</size>
+ <strong>CAB4D823BD4720B71E1CA5BE482AC95B42A9E07CD5E08671EA23184635F281A2</strong>
+ <weak>3077708282</weak>
+ <size>89</size>
<position>323</position>
</container>
</stream_hook_path>
@@ -8827,13 +7986,13 @@
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/info.hpp</string>
+ <string>../../../../boost/exception/error_info.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-16</id>
+ <id>-33</id>
</shared_ptr>
</pair>
<pair>
@@ -8841,23 +8000,23 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>A9C65F105342D728DE9C996079E82DF25408B94A272090039FAAC12D29659F69</strong>
- <weak>2378831669</weak>
- <size>94</size>
- <position>227</position>
+ <strong>749C8E4B47A3FD6A90DD8418BF64C4556537CE6E17ACEB2317D9F81DBEBBB0B0</strong>
+ <weak>1688004766</weak>
+ <size>6783</size>
+ <position>323</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/enable_current_exception.hpp</string>
+ <string>../../../../boost/exception/info.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-39</id>
+ <id>-20</id>
</shared_ptr>
</pair>
<pair>
@@ -8865,79 +8024,71 @@
<stream_hook_path>
<container>
<size>1</size>
- <strong>429F0DE3599A4CC08B9458E2AECA2EAC202AB3471554FE82C307493805E6676E</strong>
- <weak>4224422781</weak>
- <size>401</size>
- <position>323</position>
+ <strong>CAD6C404CB725D336A44920D2341ECA131149AB02C368B59028F8147F16737BF</strong>
+ <weak>2258638601</weak>
+ <size>94</size>
+ <position>227</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception.hpp</string>
+ <string>../../../../boost/exception/info_tuple.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-37</id>
+ <id>-34</id>
</shared_ptr>
</pair>
<pair>
<hook>
<stream_hook_path>
<container>
- <size>2</size>
- <strong>C1FAB39F3B09548EC7B197853DC956883AE1C3A29A8A9D2FBDB97D8BEC76CD75</strong>
- <weak>173037458</weak>
- <size>6345</size>
- <position>737</position>
- <strong>F839AFD37DC086BB1231B8E87D8EEBD28129649A06FC685AC7DF65595871AE30</strong>
- <weak>2291609923</weak>
- <size>1204</size>
- <position>243</position>
+ <size>1</size>
+ <strong>F4C951B28F7DE500973AA3DFAA99F2BADA6EDAFA2B406C30BEF3B7FBE6FD57D7</strong>
+ <weak>2263754923</weak>
+ <size>982</size>
+ <position>306</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/info.hpp</string>
+ <string>../../example/error_info_2.cpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-27</id>
+ <id>-11</id>
</shared_ptr>
</pair>
<pair>
<hook>
<stream_hook_path>
<container>
- <size>2</size>
- <strong>C1FAB39F3B09548EC7B197853DC956883AE1C3A29A8A9D2FBDB97D8BEC76CD75</strong>
- <weak>173037458</weak>
- <size>6345</size>
- <position>737</position>
- <strong>65D13C1BB0A16823F69A32BAB56A51CA317075C7FC8B7441EE0D9B57AF5AB2AC</strong>
- <weak>2592266329</weak>
- <size>712</size>
- <position>1700</position>
+ <size>1</size>
+ <strong>CE411E21EE9878B55B5906D033A0FC52574FB59D8A8CECB75405E9B1C9D782DB</strong>
+ <weak>1173443713</weak>
+ <size>308</size>
+ <position>302</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/info.hpp</string>
+ <string>../../example/logging.cpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-7</id>
+ <id>-16</id>
</shared_ptr>
</pair>
<pair>
@@ -8945,14 +8096,14 @@
<stream_hook_path>
<container>
<size>2</size>
- <strong>C1FAB39F3B09548EC7B197853DC956883AE1C3A29A8A9D2FBDB97D8BEC76CD75</strong>
- <weak>173037458</weak>
- <size>6345</size>
+ <strong>35F026FF4EC46450D19A8F970D6E39B881DA6B0FC2E95774CCADC5E34C9D57F1</strong>
+ <weak>1990614462</weak>
+ <size>6369</size>
<position>737</position>
- <strong>27AC1164E0A824D548386BEDCDC81DCAC283F3D286B0ECEE05B039BB8C392BFC</strong>
- <weak>1247954090</weak>
- <size>249</size>
- <position>1449</position>
+ <strong>F839AFD37DC086BB1231B8E87D8EEBD28129649A06FC685AC7DF65595871AE30</strong>
+ <weak>2291609923</weak>
+ <size>1204</size>
+ <position>243</position>
</container>
</stream_hook_path>
</hook>
@@ -8965,7 +8116,7 @@
</path>
</file>
<shared_ptr>
- <id>-28</id>
+ <id>-22</id>
</shared_ptr>
</pair>
<pair>
@@ -8973,27 +8124,27 @@
<stream_hook_path>
<container>
<size>2</size>
- <strong>05061ED1DD1B33224DE28BF86AB10D99286A48DC055D54A19FF93B36F22E8A90</strong>
- <weak>3225446538</weak>
- <size>372</size>
- <position>408</position>
- <strong>ED09AD72D3766F261A0044B58B9B73AA355EB50B1A8F602E5EE7F68D0D928596</strong>
- <weak>328425570</weak>
- <size>340</size>
- <position>26</position>
+ <strong>35F026FF4EC46450D19A8F970D6E39B881DA6B0FC2E95774CCADC5E34C9D57F1</strong>
+ <weak>1990614462</weak>
+ <size>6369</size>
+ <position>737</position>
+ <strong>61B57D0AE5F1033900B7DE4401AC1633F4639471A19194D5660F6C43465FCE3D</strong>
+ <weak>1668078447</weak>
+ <size>724</size>
+ <position>1712</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/diagnostic_information.hpp</string>
+ <string>../../../../boost/exception/info.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-36</id>
+ <id>-7</id>
</shared_ptr>
</pair>
<pair>
@@ -9001,21 +8152,21 @@
<stream_hook_path>
<container>
<size>2</size>
- <strong>612485E090D76B2CC43C1A296F813075BA165C2496082E78E939F10B3DA8E09A</strong>
- <weak>1770110914</weak>
- <size>587</size>
- <position>1207</position>
- <strong>60F3F48B87487FA6E0D2CCC0750AF435CC92CEC80BBBF609AC71295031AADD0D</strong>
- <weak>3929437933</weak>
- <size>361</size>
- <position>213</position>
+ <strong>35F026FF4EC46450D19A8F970D6E39B881DA6B0FC2E95774CCADC5E34C9D57F1</strong>
+ <weak>1990614462</weak>
+ <size>6369</size>
+ <position>737</position>
+ <strong>C5A5927411FB16BB27418CF87226A27D6EC66958BD46DC87F97E571CB492E49D</strong>
+ <weak>2066106304</weak>
+ <size>261</size>
+ <position>1449</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/throw_exception.hpp</string>
+ <string>../../../../boost/exception/info.hpp</string>
<type>0</type>
<base>0</base>
</path>
@@ -9028,48 +8179,56 @@
<hook>
<stream_hook_path>
<container>
- <size>1</size>
- <strong>9CC0F5ADB1C04555FD571DABD1D7D6775D8B11977ECC8320AD4451FC435E89A1</strong>
- <weak>1325628148</weak>
- <size>3147</size>
- <position>323</position>
+ <size>2</size>
+ <strong>D1AA2FC554CD67A50917905B0E9CCA2EBC1A9BA97368757B36ADF8419756ECF1</strong>
+ <weak>85276724</weak>
+ <size>4917</size>
+ <position>514</position>
+ <strong>F87D7E0321BDDAE23D5A6667CB12116411468AEC54E3B35FB9C8CA94BFECA41E</strong>
+ <weak>1149388739</weak>
+ <size>296</size>
+ <position>4496</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/exception.hpp</string>
+ <string>../../../../boost/exception_ptr.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-9</id>
+ <id>-14</id>
</shared_ptr>
</pair>
<pair>
<hook>
<stream_hook_path>
<container>
- <size>1</size>
- <strong>CAB4D823BD4720B71E1CA5BE482AC95B42A9E07CD5E08671EA23184635F281A2</strong>
- <weak>3077708282</weak>
- <size>89</size>
- <position>323</position>
+ <size>2</size>
+ <strong>D1AA2FC554CD67A50917905B0E9CCA2EBC1A9BA97368757B36ADF8419756ECF1</strong>
+ <weak>85276724</weak>
+ <size>4917</size>
+ <position>514</position>
+ <strong>A098B6FA5BC8E72E0E69C0323195FCC142AE807564C6892FCBD88588F2FBE049</strong>
+ <weak>2579522516</weak>
+ <size>405</size>
+ <position>26</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/error_info.hpp</string>
+ <string>../../../../boost/exception_ptr.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-5</id>
+ <id>-37</id>
</shared_ptr>
</pair>
<pair>
@@ -9077,99 +8236,111 @@
<stream_hook_path>
<container>
<size>2</size>
- <strong>392208A2FD122D1ED27D128A7BF65F9340218FAAD756EA58D26D2205D32681A6</strong>
- <weak>729208193</weak>
- <size>3206</size>
- <position>506</position>
- <strong>8F3B5E1A267CA225679713F4DDF528041F573BC02D1DBCD8FFEF57EF0AA599B9</strong>
- <weak>4197332561</weak>
- <size>180</size>
- <position>3020</position>
+ <strong>D1AA2FC554CD67A50917905B0E9CCA2EBC1A9BA97368757B36ADF8419756ECF1</strong>
+ <weak>85276724</weak>
+ <size>4917</size>
+ <position>514</position>
+ <strong>9DEEF8ED70BF74F501A96BA5DE5BFD42FAD16DE333ABE189E512C332586FC465</strong>
+ <weak>2250569940</weak>
+ <size>1893</size>
+ <position>2601</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/enable_current_exception.hpp</string>
+ <string>../../../../boost/exception_ptr.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-31</id>
+ <id>-25</id>
</shared_ptr>
</pair>
<pair>
<hook>
<stream_hook_path>
<container>
- <size>1</size>
- <strong>CAD6C404CB725D336A44920D2341ECA131149AB02C368B59028F8147F16737BF</strong>
- <weak>2258638601</weak>
- <size>94</size>
- <position>227</position>
+ <size>2</size>
+ <strong>D1AA2FC554CD67A50917905B0E9CCA2EBC1A9BA97368757B36ADF8419756ECF1</strong>
+ <weak>85276724</weak>
+ <size>4917</size>
+ <position>514</position>
+ <strong>156B870761DB092CE4269C1173B479A344A1041BA2B883765AF19A72B371D776</strong>
+ <weak>3239976720</weak>
+ <size>117</size>
+ <position>4794</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../../../boost/exception/info_tuple.hpp</string>
+ <string>../../../../boost/exception_ptr.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-19</id>
+ <id>-5</id>
</shared_ptr>
</pair>
<pair>
<hook>
<stream_hook_path>
<container>
- <size>1</size>
- <strong>F4C951B28F7DE500973AA3DFAA99F2BADA6EDAFA2B406C30BEF3B7FBE6FD57D7</strong>
- <weak>2263754923</weak>
- <size>982</size>
- <position>306</position>
+ <size>2</size>
+ <strong>D1AA2FC554CD67A50917905B0E9CCA2EBC1A9BA97368757B36ADF8419756ECF1</strong>
+ <weak>85276724</weak>
+ <size>4917</size>
+ <position>514</position>
+ <strong>ED09F845070FF7D381BE5EFB6B55313FD09FBA16B64B69992410380EFA45519C</strong>
+ <weak>2051939590</weak>
+ <size>78</size>
+ <position>433</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../example/error_info_2.cpp</string>
+ <string>../../../../boost/exception_ptr.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-22</id>
+ <id>-6</id>
</shared_ptr>
</pair>
<pair>
<hook>
<stream_hook_path>
<container>
- <size>1</size>
- <strong>CE411E21EE9878B55B5906D033A0FC52574FB59D8A8CECB75405E9B1C9D782DB</strong>
- <weak>1173443713</weak>
- <size>308</size>
- <position>302</position>
+ <size>2</size>
+ <strong>F7633FDCF6615C0199645701EE6E7ACE5CBCD7A7CF6838573791E91ABB3C09F2</strong>
+ <weak>1668435395</weak>
+ <size>1332</size>
+ <position>396</position>
+ <strong>A1F443AF571973A12005D2F7D4AE09A32AAF686FEEAE272EC21512A65EB943E8</strong>
+ <weak>3879093659</weak>
+ <size>1300</size>
+ <position>26</position>
</container>
</stream_hook_path>
</hook>
<file>
<path>
<empty>0</empty>
- <string>../../example/logging.cpp</string>
+ <string>../../../../boost/exception/info_tuple.hpp</string>
<type>0</type>
<base>0</base>
</path>
</file>
<shared_ptr>
- <id>-10</id>
+ <id>-24</id>
</shared_ptr>
</pair>
<pair>
@@ -9193,7 +8364,7 @@
</path>
</file>
<shared_ptr>
- <id>-13</id>
+ <id>-29</id>
</shared_ptr>
</pair>
<pair>
@@ -9245,7 +8416,7 @@
</path>
</file>
<shared_ptr>
- <id>-26</id>
+ <id>-15</id>
</shared_ptr>
</pair>
<pair>
@@ -9281,7 +8452,7 @@
</path>
</file>
<shared_ptr>
- <id>-15</id>
+ <id>-28</id>
</shared_ptr>
</pair>
<pair>
@@ -9313,7 +8484,7 @@
</path>
</file>
<shared_ptr>
- <id>-42</id>
+ <id>-26</id>
</shared_ptr>
</pair>
<pair>
@@ -9345,7 +8516,7 @@
</path>
</file>
<shared_ptr>
- <id>-43</id>
+ <id>-36</id>
</shared_ptr>
</pair>
</sorted>
@@ -9355,7 +8526,7 @@
</contexts>
<index>
<shared_ptr>
- <id>53</id>
+ <id>51</id>
<type>
<string>tag_index</string>
</type>
@@ -9376,7 +8547,7 @@
<id>-5</id>
</shared_ptr>
</weak_ptr>
- <string>boost/exception/error_info.hpp,error_info,header</string>
+ <string>exception_ptr,free,function,rethrow_exception</string>
</pair>
<pair>
<weak_ptr>
@@ -9385,7 +8556,7 @@
<id>-6</id>
</shared_ptr>
</weak_ptr>
- <string>BOOST_ERROR_INFO,error_info,macro</string>
+ <string>exception_ptr,type</string>
</pair>
<pair>
<weak_ptr>
@@ -9403,7 +8574,7 @@
<id>-8</id>
</shared_ptr>
</weak_ptr>
- <string>boost/throw_exception.hpp,header,throw_exception</string>
+ <string>boost/exception/exception.hpp,exception,header</string>
</pair>
<pair>
<weak_ptr>
@@ -9412,7 +8583,7 @@
<id>-9</id>
</shared_ptr>
</weak_ptr>
- <string>boost/exception/exception.hpp,exception,header</string>
+ <string>boost/exception_ptr.hpp,exception_ptr,header</string>
</pair>
<pair>
<weak_ptr>
@@ -9421,7 +8592,7 @@
<id>-10</id>
</shared_ptr>
</weak_ptr>
- <string>tutorial</string>
+ <string>BOOST_ERROR_INFO,error_info,macro</string>
</pair>
<pair>
<weak_ptr>
@@ -9430,7 +8601,7 @@
<id>-11</id>
</shared_ptr>
</weak_ptr>
- <string>tutorial</string>
+ <string>noalso,noindex,tutorial</string>
</pair>
<pair>
<weak_ptr>
@@ -9448,7 +8619,7 @@
<id>-13</id>
</shared_ptr>
</weak_ptr>
- <string>noalso,noindex,tutorial</string>
+ <string>boost/exception/enable_current_exception.hpp,enable_current_exception,exception_ptr,header</string>
</pair>
<pair>
<weak_ptr>
@@ -9457,7 +8628,7 @@
<id>-14</id>
</shared_ptr>
</weak_ptr>
- <string>error_info,free,function,operator<<,operator<</tuple</string>
+ <string>copy_exception,exception_ptr,free,function</string>
</pair>
<pair>
<weak_ptr>
@@ -9466,7 +8637,7 @@
<id>-15</id>
</shared_ptr>
</weak_ptr>
- <string>exception,exception::~exception,function,member</string>
+ <string>exception,type</string>
</pair>
<pair>
<weak_ptr>
@@ -9475,7 +8646,7 @@
<id>-16</id>
</shared_ptr>
</weak_ptr>
- <string>boost/exception/info.hpp,error_info,header,info</string>
+ <string>tutorial</string>
</pair>
<pair>
<weak_ptr>
@@ -9484,7 +8655,7 @@
<id>-17</id>
</shared_ptr>
</weak_ptr>
- <string>noalso,noindex,tutorial</string>
+ <string>boost/exception.hpp,header</string>
</pair>
<pair>
<weak_ptr>
@@ -9493,7 +8664,7 @@
<id>-18</id>
</shared_ptr>
</weak_ptr>
- <string>noalso,noindex,tutorial</string>
+ <string>tutorial</string>
</pair>
<pair>
<weak_ptr>
@@ -9502,7 +8673,7 @@
<id>-19</id>
</shared_ptr>
</weak_ptr>
- <string>boost/exception/info_tuple.hpp,error_info,header,info_tuple</string>
+ <string>tutorial</string>
</pair>
<pair>
<weak_ptr>
@@ -9511,7 +8682,7 @@
<id>-20</id>
</shared_ptr>
</weak_ptr>
- <string>tutorial</string>
+ <string>boost/exception/info.hpp,error_info,header,info</string>
</pair>
<pair>
<weak_ptr>
@@ -9520,7 +8691,7 @@
<id>-21</id>
</shared_ptr>
</weak_ptr>
- <string>boost/exception_ptr.hpp,exception_ptr,header</string>
+ <string>noalso,noindex,tutorial</string>
</pair>
<pair>
<weak_ptr>
@@ -9529,7 +8700,7 @@
<id>-22</id>
</shared_ptr>
</weak_ptr>
- <string>noalso,noindex,tutorial</string>
+ <string>error_info,free,type</string>
</pair>
<pair>
<weak_ptr>
@@ -9538,7 +8709,7 @@
<id>-23</id>
</shared_ptr>
</weak_ptr>
- <string>free,function,throw_exception</string>
+ <string>error_info,free,function,operator<<,operator<</exception</string>
</pair>
<pair>
<weak_ptr>
@@ -9547,7 +8718,7 @@
<id>-24</id>
</shared_ptr>
</weak_ptr>
- <string>tutorial</string>
+ <string>error_info,free,function,operator<<,operator<</tuple</string>
</pair>
<pair>
<weak_ptr>
@@ -9556,7 +8727,7 @@
<id>-25</id>
</shared_ptr>
</weak_ptr>
- <string>noindex</string>
+ <string>current_exception,exception_ptr,free,function</string>
</pair>
<pair>
<weak_ptr>
@@ -9565,7 +8736,7 @@
<id>-26</id>
</shared_ptr>
</weak_ptr>
- <string>exception,type</string>
+ <string>diagnostic_information,exception,exception::diagnostic_information,function,member</string>
</pair>
<pair>
<weak_ptr>
@@ -9574,7 +8745,7 @@
<id>-27</id>
</shared_ptr>
</weak_ptr>
- <string>error_info,free,type</string>
+ <string>diagnostic_information,free,function</string>
</pair>
<pair>
<weak_ptr>
@@ -9583,7 +8754,7 @@
<id>-28</id>
</shared_ptr>
</weak_ptr>
- <string>error_info,free,function,operator<<,operator<</exception</string>
+ <string>exception,exception::~exception,function,member</string>
</pair>
<pair>
<weak_ptr>
@@ -9592,7 +8763,7 @@
<id>-29</id>
</shared_ptr>
</weak_ptr>
- <string>enable_error_info,error_info,free,function</string>
+ <string>noalso,noindex,tutorial</string>
</pair>
<pair>
<weak_ptr>
@@ -9601,7 +8772,7 @@
<id>-30</id>
</shared_ptr>
</weak_ptr>
- <string>exception_ptr,type</string>
+ <string>noalso,noindex,tutorial</string>
</pair>
<pair>
<weak_ptr>
@@ -9610,7 +8781,7 @@
<id>-31</id>
</shared_ptr>
</weak_ptr>
- <string>enable_current_exception,exception_ptr,free,function</string>
+ <string>boost/exception/diagnostic_information.hpp,diagnostic_information,header</string>
</pair>
<pair>
<weak_ptr>
@@ -9619,7 +8790,7 @@
<id>-32</id>
</shared_ptr>
</weak_ptr>
- <string>current_exception,exception_ptr,free,function</string>
+ <string>boost/exception/enable_error_info.hpp,enable_error_info,error_info,header</string>
</pair>
<pair>
<weak_ptr>
@@ -9628,7 +8799,7 @@
<id>-33</id>
</shared_ptr>
</weak_ptr>
- <string>copy_exception,exception_ptr,free,function</string>
+ <string>boost/exception/error_info.hpp,error_info,header</string>
</pair>
<pair>
<weak_ptr>
@@ -9637,7 +8808,7 @@
<id>-34</id>
</shared_ptr>
</weak_ptr>
- <string>exception_ptr,free,function,rethrow_exception</string>
+ <string>boost/exception/info_tuple.hpp,error_info,header,info_tuple</string>
</pair>
<pair>
<weak_ptr>
@@ -9646,7 +8817,7 @@
<id>-35</id>
</shared_ptr>
</weak_ptr>
- <string>exception_ptr,type,unknown_exception</string>
+ <string>boost/throw_exception.hpp,header,throw_exception</string>
</pair>
<pair>
<weak_ptr>
@@ -9655,7 +8826,7 @@
<id>-36</id>
</shared_ptr>
</weak_ptr>
- <string>diagnostic_information,free,function</string>
+ <string>exception,exception::exception,function,member</string>
</pair>
<pair>
<weak_ptr>
@@ -9664,7 +8835,7 @@
<id>-37</id>
</shared_ptr>
</weak_ptr>
- <string>boost/exception.hpp,header</string>
+ <string>exception_ptr,type,unknown_exception</string>
</pair>
<pair>
<weak_ptr>
@@ -9673,7 +8844,7 @@
<id>-38</id>
</shared_ptr>
</weak_ptr>
- <string>boost/exception/diagnostic_information.hpp,diagnostic_information,header</string>
+ <string>enable_current_exception,exception_ptr,free,function</string>
</pair>
<pair>
<weak_ptr>
@@ -9682,7 +8853,7 @@
<id>-39</id>
</shared_ptr>
</weak_ptr>
- <string>boost/exception/enable_current_exception.hpp,enable_current_exception,exception_ptr,header</string>
+ <string>index,noindex</string>
</pair>
<pair>
<weak_ptr>
@@ -9691,7 +8862,7 @@
<id>-40</id>
</shared_ptr>
</weak_ptr>
- <string>boost/exception/enable_error_info.hpp,enable_error_info,error_info,header</string>
+ <string>enable_error_info,error_info,free,function</string>
</pair>
<pair>
<weak_ptr>
@@ -9700,7 +8871,7 @@
<id>-41</id>
</shared_ptr>
</weak_ptr>
- <string>index,noindex</string>
+ <string>tutorial</string>
</pair>
<pair>
<weak_ptr>
@@ -9709,7 +8880,7 @@
<id>-42</id>
</shared_ptr>
</weak_ptr>
- <string>diagnostic_information,exception,exception::diagnostic_information,function,member</string>
+ <string>noindex</string>
</pair>
<pair>
<weak_ptr>
@@ -9718,7 +8889,7 @@
<id>-43</id>
</shared_ptr>
</weak_ptr>
- <string>exception,exception::exception,function,member</string>
+ <string>free,function,throw_exception</string>
</pair>
</sorted>
</tag_index>
Modified: branches/CMake/release/libs/exception/doc/throw_exception.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/throw_exception.html (original)
+++ branches/CMake/release/libs/exception/doc/throw_exception.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>throw_exception</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>throw_exception</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/throw_exception.hpp</span>></p>
<pre>namespace
boost
@@ -39,14 +40,16 @@
<p>E must derive publicly from std::exception.</p>
<h4>Effects:</h4>
<div><ul><li> If BOOST_NO_EXCEPTIONS is not defined, boost::<span class="RenoLink">throw_exception</span>(e) is equivalent to throw boost::<span class="RenoLink">enable_current_exception</span>(boost::<span class="RenoLink">enable_error_info</span>(e)), unless BOOST_EXCEPTION_DISABLE is defined, in which case boost::<span class="RenoLink">throw_exception</span>(e) is equivalent to throw e;</li>
-<li> If BOOST_NO_EXCEPTIONS is defined, the function is left undefined, and the user is expected to supply an appropriate definition. Callers of throw_exception are allowed to assume that the function never returns; therefore, if the user-defined throw_exception returns, the behavior is undefined.</li>
+<li> If BOOST_NO_EXCEPTIONS is defined, the function is left undefined, and the user is expected to supply an appropriate definition. Callers of <span class="RenoLink">throw_exception</span> are allowed to assume that the function never returns; therefore, if the user-defined <span class="RenoLink">throw_exception</span> returns, the behavior is undefined.</li>
</ul></div>
-</div><h3>See also:</h3>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="throw_exception_hpp.html">boost/throw_exception.hpp<br/>
</a><a href="enable_current_exception.html">enable_current_exception<br/>
-</a><a href="tutorial_exception_ptr.html">Tutorial: Transporting of Exceptions between Threads<br/>
+</a><a href="tutorial_exception_ptr.html">Transporting of Exceptions Between Threads<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/throw_exception_hpp.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/throw_exception_hpp.html (original)
+++ branches/CMake/release/libs/exception/doc/throw_exception_hpp.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h2>boost/throw_exception.hpp</h2>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/throw_exception.hpp</h2>
+</div>
<h3>Synopsis</h3>
<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/enable_current_exception.hpp</span>>
#include <<span class="RenoLink">boost/exception/enable_error_info.hpp</span>>
@@ -39,11 +40,13 @@
#endif</span></span>
}</pre>
-</div></div><h3>See also:</h3>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_hpp.html">boost/exception.hpp<br/>
</a><a href="throw_exception.html">throw_exception<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/tutorial_diagnostic_information.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/tutorial_diagnostic_information.html (original)
+++ branches/CMake/release/libs/exception/doc/tutorial_diagnostic_information.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -3,7 +3,7 @@
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
- <title>Tutorial: Diagnostic Information</title>
+ <title>diagnostic information</title>
<link href='reno.css' type='text/css' rel='stylesheet'/>
</head>
<body>
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h2>Diagnostic Information</h2>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>Diagnostic Information</h2>
+</div>
<p>Class boost::<span class="RenoLink">exception</span> provides a virtual member function <span class="RenoLink">diagnostic_information</span>, with a signature similar to the familiar std::exception::what function. The default implementation returns a string value that is not presentable as a friendly user message, but because it is generated automatically, it is useful for debugging or logging purposes. Here is an example:</p>
<pre>#include <<span class="RenoLink">boost/exception.hpp</span>>
#include <iostream>
@@ -40,13 +41,15 @@
}
}</pre>
<p>The <span class="RenoLink">diagnostic_information</span> member function iterates over all data objects stored in the boost::<span class="RenoLink">exception</span> through <span class="RenoLink">operator<<</span>. The returned string is constructed by converting each data object to string and then concatenating these strings together.</p>
-<p>When the <span class="RenoLink">error_info</span><Tag,T> template is instantiated, the system attempts overload resolution for an unqualified call to to_string(x), where x is of type T. If this is successful, the to_string overload is used to convert objects of type T to string.</p>
+<p>When the <span class="RenoLink">error_info</span><Tag,T> template is instantiated, the system attempts overload resolution for an unqualified call to to_string(x), where x is of type T. If this is successful, the to_string overload is expected to return std::string and is used to convert objects of type T to string.</p>
<p>Otherwise, the system attempts overload resolution for s << x, where s is a std::ostringstream and x is of type T. If this is successful, the operator<< overload is used to convert objects of type T to string.</p>
<p>Otherwise the system is unable to convert objects of type T to string, and an unspecified stub string value is used without issuing a compile error.</p>
-</div><h3>See also:</h3>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_diagnostic_information.html">exception::diagnostic_information<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/tutorial_enable_error_info.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/tutorial_enable_error_info.html (original)
+++ branches/CMake/release/libs/exception/doc/tutorial_enable_error_info.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -3,7 +3,7 @@
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
- <title>Tutorial: Integrating Boost Exception in Existing Exception Class Hierarchies</title>
+ <title>integrating boost exception in existing exception class hierarchies</title>
<link href='reno.css' type='text/css' rel='stylesheet'/>
</head>
<body>
@@ -19,8 +19,9 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h2>Integrating Boost Exception in Existing Exception Class Hierarchies</h2>
-<p>Some exception hierarchies can not be modified to make boost::<span class="RenoLink">exception</span> a base type. For this case, the <span class="RenoLink">enable_error_info</span> function template can be used to make exception objects derive from boost::<span class="RenoLink">exception</span> anyway. Here is an example:</p>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>Integrating Boost Exception in Existing Exception Class Hierarchies</h2>
+</div>
+<p>Some exception hierarchies can not be modified to make boost::<span class="RenoLink">exception</span> a base type. In this case, the <span class="RenoLink">enable_error_info</span> function template can be used to make exception objects derive from boost::<span class="RenoLink">exception</span> anyway. Here is an example:</p>
<pre>#include <<span class="RenoLink">boost/exception.hpp</span>>
#include <stdexcept>
@@ -49,9 +50,11 @@
};
</pre>
<p>The call to <span class="RenoLink">enable_error_info</span><T> gets us an object of <i>unspecified type</i> which is guaranteed to derive from both boost::<span class="RenoLink">exception</span> and T. This makes it possible to use <span class="RenoLink">operator<<</span> to store additional information in the exception object. The exception can be intercepted as T &, so existing exception handling will not break. It can also be intercepted as boost::<span class="RenoLink">exception</span> &, so that <span class="RenoLink">more information can be added to the exception at a later time</span>.</p>
-</div><h3>See also:</h3>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/tutorial_exception_ptr.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/tutorial_exception_ptr.html (original)
+++ branches/CMake/release/libs/exception/doc/tutorial_exception_ptr.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -3,7 +3,7 @@
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
- <title>Tutorial: Transporting of Exceptions between Threads</title>
+ <title>transporting of exceptions between threads</title>
<link href='reno.css' type='text/css' rel='stylesheet'/>
</head>
<body>
@@ -19,11 +19,13 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h2>Transporting of Exceptions between Threads</h2>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>Transporting of Exceptions Between Threads</h2>
+</div>
<p>Boost Exception supports transporting of exception objects between threads through cloning. This system is similar to <span class="RenoLink">N2179</span>, but because Boost Exception can not rely on language support, the use of <span class="RenoLink">enable_current_exception</span> at the time of the throw is required in order to use cloning.</p>
<h4>Note:</h4>
<p>All exceptions emitted by the familiar function boost::<span class="RenoLink">throw_exception</span> are guaranteed to derive from boost::<span class="RenoLink">exception</span> and to support cloning.</p>
-<div class="RenoIncludeDIV"><h3>Using enable_current_exception at the Time of the Throw</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>Using enable_current_exception at the Time of the Throw</h3>
+</div>
<p>Here is how cloning can be enabled in a throw-expression (15.1):</p>
<pre>#include <<span class="RenoLink">boost/exception/enable_current_exception.hpp</span>>
#include <<span class="RenoLink">boost/exception/info.hpp</span>>
@@ -42,7 +44,8 @@
errno_info(errno);
}</pre>
<p>Of course, <span class="RenoLink">enable_current_exception</span> may be used with any exception type; there is no requirement that it should derive from boost::<span class="RenoLink">exception</span>.</p>
-</div><div class="RenoIncludeDIV"><h3>Cloning and Re-throwing an Exception</h3>
+</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>Cloning and Re-Throwing an Exception</h3>
+</div>
<p>When you catch an exception, you can call <span class="RenoLink">current_exception</span> to get an <span class="RenoLink">exception_ptr</span> object:</p>
<pre>#include <<span class="RenoLink">boost/exception_ptr.hpp</span>>
#include <boost/thread.hpp>
@@ -76,13 +79,16 @@
if( error )
boost::<span class="RenoLink">rethrow_exception</span>(error);
}</pre>
-<p>Note that <span class="RenoLink">current_exception</span> could fail to copy the original exception object in the following cases:* if there is not enough memory, in which case the returned <span class="RenoLink">exception_ptr</span> points to an instance of std::bad_alloc, or</p>
-<div><ul><li> if <span class="RenoLink">enable_current_exception</span> was not used in the throw-expression passed to the original throw statement and the current implementation does not have the necessary compiler-specific support to copy the exception automatically, in which case the returned <span class="RenoLink">exception_ptr</span> points to an instance of <span class="RenoLink">unknown_exception</span>.</li>
+<p>Note that <span class="RenoLink">current_exception</span> could fail to copy the original exception object in the following cases:</p>
+<div><ul><li> if there is not enough memory, in which case the returned <span class="RenoLink">exception_ptr</span> points to an instance of std::bad_alloc, or</li>
+<li> if <span class="RenoLink">enable_current_exception</span> was not used in the throw-expression passed to the original throw statement and the current implementation does not have the necessary compiler-specific support to copy the exception automatically, in which case the returned <span class="RenoLink">exception_ptr</span> points to an instance of <span class="RenoLink">unknown_exception</span>.</li>
</ul></div>
<p>Regardless, the use of <span class="RenoLink">current_exception</span> and <span class="RenoLink">rethrow_exception</span> in the above examples is well-formed.</p>
-</div></div><h3>See also:</h3>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/tutorial_transporting_data.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/tutorial_transporting_data.html (original)
+++ branches/CMake/release/libs/exception/doc/tutorial_transporting_data.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -3,7 +3,7 @@
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
- <title>Tutorial: Transporting of Arbitrary Data to the Catch Site</title>
+ <title>transporting of arbitrary data to the catch site</title>
<link href='reno.css' type='text/css' rel='stylesheet'/>
</head>
<body>
@@ -19,9 +19,11 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h2>Transporting of Arbitrary Data to the Catch Site</h2>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>Transporting of Arbitrary Data to the Catch Site</h2>
+</div>
<p>All exception types that derive from boost::<span class="RenoLink">exception</span> can be used as type-safe containers of arbitrary data objects, while complying with the no-throw requirements (15.5.1) of the ANSI C++ standard for exception types. Data can be added to a boost::<span class="RenoLink">exception</span> at the time of the throw, or at a later time.</p>
-<div class="RenoIncludeDIV"><h3>Adding of Arbitrary Data at the Point of the Throw</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>Adding of Arbitrary Data at the Point of the Throw</h3>
+</div>
<p>The following example demonstrates how errno can be stored in exception objects using Boost Exception:</p>
<pre>#include <<span class="RenoLink">boost/exception.hpp</span>>
#include <errno.h>
@@ -57,8 +59,9 @@
std::cerr << "Error code: " << *err;
}
}</pre>
-<p>The <span class="RenoLink">get_error_info</span> function template is instantiated with the typedef from (1), and is passed an exception object of any type that derives publicly from boost::<span class="RenoLink">exception</span>. If the exception object contains the requested value, the returned <span class="RenoLink">shared_ptr</span> will point to it; otherwise an empty <span class="RenoLink">shared_ptr</span> is returned.</p>
-</div><div class="RenoIncludeDIV"><h3>Adding of Arbitrary Data to Active Exception Objects</h3>
+<p>The <span class="RenoLink">get_error_info</span> function template is instantiated with the typedef from (1), and is passed an exception object of a polymorphic type. If the exception object contains the requested value, the returned <span class="RenoLink">shared_ptr</span> will point to it; otherwise an empty <span class="RenoLink">shared_ptr</span> is returned.</p>
+</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>Adding of Arbitrary Data to Active Exception Objects</h3>
+</div>
<p>Sometimes the throw site does not have all the information that is needed at the catch site to make sense of what went wrong. Here is an example:</p>
<pre>#include <stdio.h>
#include <string>
@@ -138,7 +141,8 @@
}</pre>
<p>The above function is (almost) exception-neutral -- if an exception is emitted by any function call within the try block, parse_file does not need to do any real work, but it intercepts any boost::<span class="RenoLink">exception</span> object, stores the file name, and re-throws using a throw-expression with no operand (15.1.6). The rationale for catching any boost::<span class="RenoLink">exception</span> object is that the file name is relevant to any failure that occurs in parse_file, <i>even if the failure is unrelated to file I/O</i>.</p>
<p>As usual, the stored data can be retrieved using <span class="RenoLink">get_error_info</span>.</p>
-</div><div class="RenoIncludeDIV"><h3>Adding Grouped Data to Exceptions</h3>
+</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>Adding Grouped Data to Exceptions</h3>
+</div>
<p>The code snippet below demonstrates how boost::<span class="RenoLink">tuple</span> can be used to bundle the name of the function that failed, together with the reported errno so that they can be added to exception objects more conveniently together:</p>
<pre>#include <<span class="RenoLink">boost/exception/info_tuple.hpp</span>>
#include <boost/shared_ptr.hpp>
@@ -164,10 +168,12 @@
clib_failure("fopen",errno);
}</pre>
<p>Note that the members of a boost::<span class="RenoLink">tuple</span> are stored separately in exception objects; they can only be retrieved individually, using <span class="RenoLink">get_error_info</span>.</p>
-</div></div><h3>See also:</h3>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
-</a><a href="tutorial_enable_error_info.html">Tutorial: Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
+</a><a href="tutorial_enable_error_info.html">Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/doc/unknown_exception.html
==============================================================================
--- branches/CMake/release/libs/exception/doc/unknown_exception.html (original)
+++ branches/CMake/release/libs/exception/doc/unknown_exception.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -19,7 +19,8 @@
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="RenoIncludeDIV"><h3>unknown_exception</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>unknown_exception</h3>
+</div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception_ptr.hpp</span>></p>
<pre>namespace
boost
@@ -33,12 +34,14 @@
};</span>
}</pre>
</div><p>This type is used by the <span class="RenoLink">exception_ptr</span> support in Boost Exception. Please see <span class="RenoLink">current_exception</span>.</p>
-</div><h3>See also:</h3>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
</a><a href="exception_cloning_hpp.html">boost/exception_ptr.hpp<br/>
</a><a href="current_exception.html">current_exception<br/>
</a><a href="enable_current_exception.html">enable_current_exception<br/>
</a></div>
+</div>
<!-- Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. -->
<!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
Modified: branches/CMake/release/libs/exception/example/Jamfile
==============================================================================
--- branches/CMake/release/libs/exception/example/Jamfile (original)
+++ branches/CMake/release/libs/exception/example/Jamfile 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -9,7 +9,7 @@
obj error_info_1 : error_info_1.cpp ;
obj error_info_2 : error_info_2.cpp ;
obj cloning_1 : cloning_1.cpp ;
-obj cloning_2 : cloning_2.cpp ;
+obj cloning_2 : cloning_2.cpp : <threading>multi ;
obj info_tuple : info_tuple.cpp ;
obj enable_error_info : enable_error_info.cpp ;
obj logging : logging.cpp ;
Modified: branches/CMake/release/libs/exception/test/diagnostic_information_test.cpp
==============================================================================
--- branches/CMake/release/libs/exception/test/diagnostic_information_test.cpp (original)
+++ branches/CMake/release/libs/exception/test/diagnostic_information_test.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -50,14 +50,14 @@
using namespace boost;
{
error1 x;
- BOOST_TEST(x.what()==std::string("error1"));
+ BOOST_TEST(x.what()==std::string("error1"));
std::string di=get_diagnostic_information(x);
BOOST_TEST(di.find("type:")!=std::string::npos);
BOOST_TEST(di.find("error1")!=std::string::npos);
}
{
error2 x; x << tag_int(42);
- BOOST_TEST(x.what()==std::string("error2"));
+ BOOST_TEST(x.what()==std::string("error2"));
std::string di=get_diagnostic_information(x);
BOOST_TEST(di.find("type:")!=std::string::npos);
BOOST_TEST(di.find("error2")!=std::string::npos);
Modified: branches/CMake/release/libs/filesystem/doc/index.htm
==============================================================================
--- branches/CMake/release/libs/filesystem/doc/index.htm (original)
+++ branches/CMake/release/libs/filesystem/doc/index.htm 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -332,7 +332,7 @@
systems which will work with the Filesystem Library.</p>
<p>The object-library can be built for static or dynamic (shared/dll) linking.
This is controlled by the BOOST_ALL_DYN_LINK or BOOST_FILESYSTEM_DYN_LINK
-macros. See the <a href="http://www.boost.org/more/separate_compilation.html">Separate
+macros. See the <a href="http://www.boost.org/development/separate_compilation.html">Separate
Compilation</a> page for a description of the techniques used.</p>
<h3>Note for <a name="Cgywin">Cygwin</a> users</h3>
<p>The library's implementation code automatically detects the current platform,
@@ -562,4 +562,4 @@
</body>
-</html>
\ No newline at end of file
+</html>
Modified: branches/CMake/release/libs/filesystem/doc/reference.html
==============================================================================
--- branches/CMake/release/libs/filesystem/doc/reference.html (original)
+++ branches/CMake/release/libs/filesystem/doc/reference.html 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -123,7 +123,6 @@
</code>
<a href="#Suggestions-for-fstream"> implementations</a><br>
<a href="#Path-decomposition-table">Path decomposition table</a><br>
-Issues<br>
<a href="#Acknowledgements">Acknowledgements</a><br>
<a href="#References">References</a><br>
</td>
@@ -369,14 +368,14 @@
// predicate functions
bool status_known( file_status s );
bool exists( file_status s );
- bool is_regular( file_status s );
+ bool is_regular_file( file_status s );
bool is_directory( file_status s );
bool is_symlink( file_status s );
bool is_other( file_status s );
template <class Path> bool exists(const Path& p);
template <class Path> bool is_directory(const Path& p);
- template <class Path> bool is_regular(const Path& p);
+ template <class Path> bool is_regular_file(const Path& p);
template <class Path> bool is_other(const Path& p);
template <class Path> bool is_symlink(const Path& p);
template <class Path> bool is_empty(const Path& p);
@@ -417,7 +416,7 @@
template <class Path> typename Path::string_type extension(const Path& p);
template <class Path> typename Path::string_type basename(const Path& p);
template <class Path>
- Path replace_extension(const Path& p, const typename Path::string_type& new_extension);
+ Path change_extension(const Path& p, const typename Path::string_type& new_extension);
} // namespace filesystem
} // namespace boost</pre>
@@ -547,7 +546,8 @@
<span style="background-color: #FFFFFF">void clear();
void swap( basic_path & rhs );</span>
- basic_path& remove_leaf();
+ basic_path& remove_filename();
+ basic_path& replace_extension(const string_type & new_extension = "");
// observers
const string_type string() const;
@@ -561,8 +561,12 @@
string_type root_directory() const;
basic_path root_path() const;
basic_path relative_path() const;
- string_type leaf() const;
- basic_path branch_path() const;
+
+ basic_path parent_path() const;
+ string_type filename() const;
+
+ string_type stem() const;
+ string_type extension() const;
bool empty() const;
bool is_complete() const;
@@ -570,8 +574,8 @@
bool has_root_directory() const;
bool has_root_path() const;
bool has_relative_path() const;
- bool has_leaf() const;
- bool has_branch_path() const;
+ bool has_filename() const;
+ bool has_parent_path() const;
// iterators
class iterator;
@@ -856,9 +860,9 @@
<p><i><span style="background-color: #FFFFFF">Complexity: </span></i>
<span style="background-color: #FFFFFF">constant time.</span></p>
</blockquote>
-<pre>basic_path& remove_leaf();</pre>
+<pre>basic_path& remove_filename();</pre>
<blockquote>
- <p><i>Effects:</i> If <code>has_branch_path()</code> then remove the last <i>filename</i> from the stored path. If that leaves
+ <p><i>Effects:</i> If <code>has_parent_path()</code> then remove the last <i>filename</i> from the stored path. If that leaves
the stored path with one or more trailing <i>slash</i> elements not
representing <i>root-directory</i>, remove them.</p>
<p><i>Returns:</i> <code>*this</code></p>
@@ -866,6 +870,15 @@
basic_directory_iterator</code>. It is made public to allow additional uses. <i>-- end
note</i>]</p>
</blockquote>
+<pre>basic_path& replace_extension( const string_type & new_extension = "" );</pre>
+<blockquote>
+ <p><i>Postcondition: </i> <code>extension() == <i>replacement</i></code>,
+ where <code><i>replacement</i></code> is <code>new_extension</code> if <code>
+ new_extension.empty() || new_extension[0] ==</code> the dot character,
+ otherwise <code><i>replacement</i></code> is the dot character followed by
+ <code>new_extension</code>.</p>
+ <p><i>Returns:</i> <code>*this</code></p>
+</blockquote>
<h4> <a name="basic_path-observers"> <code>basic_path</code> observers</a></h4>
<blockquote>
<p><span style="background-color: #E0E0E0"><i>See the
@@ -931,11 +944,11 @@
with the first <i>filename</i> after <i>root-path</i>.
Otherwise, an empty <code>basic_path</code>.</p>
</blockquote>
-<pre>string_type leaf() const;</pre>
+<pre>string_type filename() const;</pre>
<blockquote>
<p><i>Returns:</i> <code>empty() ? string_type() : *--end()</code></p>
</blockquote>
-<pre>basic_path branch_path() const;</pre>
+<pre>basic_path parent_path() const;</pre>
<blockquote>
<p><i>Returns:</i> <code>(string().empty() || begin() == --end()) ? path_type("") :
<i>br</i></code>, where <code><i>br</i></code> is constructed as if by
@@ -943,6 +956,25 @@
operator/=</code> for each element in the range <code>begin()</code>, <code>
--end()</code>.</p>
</blockquote>
+<pre>string_type stem(const Path & p) const;</pre>
+<blockquote>
+ <p><i>Returns:</i> if <code>p.filename()</code> contains a <i>dot</i>, returns
+ the substring of <code>p.filename()</code> starting at its beginning and
+ ending at the last <i>dot</i> (the <i>dot</i> is not included). Otherwise,
+ returns <code>
+ p.filename()</code>.</p>
+</blockquote>
+<pre>string_type extension(const Path & p) const;</pre>
+<blockquote>
+ <p><i>Returns:</i> if <code>p.filename()</code> contains a <i>dot</i>, returns
+ the substring of <code>p.filename()</code> starting at the rightmost <i>dot</i>
+ and ending at the string's end. Otherwise, returns an empty string. </p>
+ <p>[<i>Note:<b> </b></i>The <i>dot</i> is included in the return value so that
+ it is possible to distinguish between no extension and an empty extension. </p>
+ <p>Implementations are permitted but not required to define additional
+ behavior for file systems which append additional elements to extensions, such
+ as alternate data stream or partitioned dataset names. <i>-- end note</i>]</p>
+</blockquote>
<pre>bool empty() const;</pre>
<blockquote>
<p><i>Returns:</i> <code>string().empty()</code>.</p>
@@ -968,13 +1000,13 @@
<blockquote>
<p><i>Returns:</i> <code>!relative_path().empty()</code></p>
</blockquote>
-<pre>bool has_leaf() const;</pre>
+<pre>bool has_filename() const;</pre>
<blockquote>
- <p><i>Returns:</i> <code>!leaf().empty()</code></p>
+ <p><i>Returns:</i> <code>!filename().empty()</code></p>
</blockquote>
-<pre>bool has_branch_path() const;</pre>
+<pre>bool has_parent_path() const;</pre>
<blockquote>
- <p><i>Returns:</i> <code>!branch_path().empty()</code></p>
+ <p><i>Returns:</i> <code>!parent_path().empty()</code></p>
</blockquote>
<h4> <a name="basic_path-iterators"> <code>basic_path</code> iterators</a></h4>
<p> A <code>basic_path::iterator</code> is a constant iterator satisfying all
@@ -1099,7 +1131,7 @@
<span style="background-color: #FFFFFF">basic_path<String, Traits></span></code></td>
<td width="55%" height="30"><code><span style="background-color: #FFFFFF">
basic_path<String, Traits> tmp(a);<br>
- return a /= </span></code><i><b><span style="background-color: #FFFFFF">b'</span></b></i><code><span style="background-color: #FFFFFF">;</span></code></td>
+ return tmp /= </span></code><i><b><span style="background-color: #FFFFFF">b'</span></b></i><code><span style="background-color: #FFFFFF">;</span></code></td>
</tr>
<tr>
<td width="20%" align="center" height="19" valign="top"><code>
@@ -1364,7 +1396,7 @@
// modifiers
void assign(const path_type& p, <span style="background-color: #FFFFFF">file_status</span> st=file_status(), <span style="background-color: #FFFFFF">file_status</span> symlink_st=file_status());
- void replace_leaf(const string_type& s, <span style="background-color: #FFFFFF">file_status</span> st=file_status(), <span style="background-color: #FFFFFF">file_status</span> symlink_st=file_status());
+ void replace_filename(const string_type& s, <span style="background-color: #FFFFFF">file_status</span> st=file_status(), <span style="background-color: #FFFFFF">file_status</span> symlink_st=file_status());
// observers
const Path& path() const;
@@ -1474,7 +1506,7 @@
</tr>
</table>
</blockquote>
-<pre>void replace_leaf(const string_type& s, <span style="background-color: #FFFFFF">file_status</span> st=file_status(), <span style="background-color: #FFFFFF">file_status</span> symlink_st=file_status());</pre>
+<pre>void replace_filename(const string_type& s, <span style="background-color: #FFFFFF">file_status</span> st=file_status(), <span style="background-color: #FFFFFF">file_status</span> symlink_st=file_status());</pre>
<blockquote>
<p><i>Postconditions:</i></p>
<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="43%">
@@ -1645,8 +1677,8 @@
{
for (directory_iterator itr(p); itr!=directory_iterator(); ++itr)
{
- cout << itr->path().leaf() << ' '; // display filename only
- if (is_regular(itr->status())) cout << " [" << file_size(itr->path()) << ']';
+ cout << itr->path().filename() << ' '; // display filename only
+ if (is_regular_file(itr->status())) cout << " [" << file_size(itr->path()) << ']';
cout << '\n';
}
}
@@ -1807,11 +1839,11 @@
<blockquote>
<p><i>Returns:</i></p>
<blockquote>
- For <code>status,</code> determine the attributes
+ For <code>status</code>, determine the attributes
of
<code>p</code> as if by<i> POSIX </i> <code>
<a href="http://www.opengroup.org/onlinepubs/000095399/functions/stat.html">stat()</a></code>,
- for <code>symlink_status</code> determine the attributes as if by <i>POSIX </i> <code>
+ for <code>symlink_status</code>, determine the attributes as if by <i>POSIX </i> <code>
<a href="http://www.opengroup.org/onlinepubs/000095399/functions/lstat.html">
lstat()</a></code>.<blockquote>
<p>[<i>Note:</i> For symbolic links, <code>stat()</code> continues
@@ -1819,14 +1851,23 @@
does not. <i>--
end note</i>]</p>
</blockquote>
- <p>If the operating system reports an error during attribute determination:</p>
+ <p>If the underlying file system reports an error during attribute determination:</p>
<ul>
- <li>If the error indicating that <code>p</code> could not
- be resolved, as if by POSIX error codes ENOENT or ENOTDIR, set ec to 0 and return <code>
+ <li>If the error indicating that <code>p</code> could not be resolved, as
+ if by POSIX errors ENOENT or ENOTDIR, call <code>ec.clear()</code> and return <code>
file_status(not_found_flag)</code>.</li>
</ul>
+ <blockquote>
+ <blockquote>
+ <p>[<i>Note:</i> The effect of this behavior is to distinguish between
+ knowing that p
+ does not exist, and not being able to determine the status of p. This
+ distinction is important to users. <i>--end note</i>]</p>
+ </blockquote>
+ </blockquote>
<ul>
- <li>Otherwise, set ec to the error code reported by the operating system
+ <li>Otherwise, set ec to the error number reported by the underlying
+ implementation API
and return <code>
file_status(status_unknown)</code>.</li>
</ul>
@@ -1899,14 +1940,14 @@
<blockquote>
<p><i>Returns:</i> <code>exists( status(p) )</code></p>
</blockquote>
-<pre><span style="background-color: #FFFFFF">bool </span><code><span style="background-color: #FFFFFF">is_regular</span></code><span style="background-color: #FFFFFF">(file_status</span><span style="background-color: #FFFFFF"> s);</span></pre>
+<pre><span style="background-color: #FFFFFF">bool </span><code><span style="background-color: #FFFFFF">is_regular_file</span></code><span style="background-color: #FFFFFF">(file_status</span><span style="background-color: #FFFFFF"> s);</span></pre>
<blockquote>
<p><i><span style="background-color: #FFFFFF">Returns:</span></i><span style="background-color: #FFFFFF">
<code>s.type() == regular_file</code></span></p>
</blockquote>
-<pre><code>template <class Path> bool is_regular(const Path& p);</code></pre>
+<pre><code>template <class Path> bool is_regular_file(const Path& p);</code></pre>
<blockquote>
- <p><i>Returns:</i> <code>is_regular( status(p) )</code></p>
+ <p><i>Returns:</i> <code>is_regular_file( status(p) )</code></p>
</blockquote>
<pre><span style="background-color: #FFFFFF">bool </span><code><span style="background-color: #FFFFFF">is_directory</span></code><span style="background-color: #FFFFFF">(file_status</span><span style="background-color: #FFFFFF"> s);</span></pre>
<blockquote>
@@ -1929,7 +1970,7 @@
<pre><span style="background-color: #FFFFFF">bool <a name="exists">is_other</a>(file_status s);</span></pre>
<blockquote>
<p><i><span style="background-color: #FFFFFF">Returns:</span></i><span style="background-color: #FFFFFF">
- <code>return exists(s) && !is_regular(s) && !is_directory(s) && !is_symlink(s)</code></span></p>
+ <code>return exists(s) && !is_regular_file(s) && !is_directory(s) && !is_symlink(s)</code></span></p>
<p><span style="background-color: #FFFFFF">[<i>Note: </i>The specification of
<code>is_other()</code> will remain unchanged even if additional <code>is_xxx()</code>
functions are added in the future. <i>-- end note</i>]</span></p>
@@ -2154,24 +2195,38 @@
</span> <code>basic_filesystem_error<Path1, Path2></code><span style="background-color: #FFFFFF">
if <code>ec</code> is not zero.</span></p>
</blockquote>
-<pre>template <class Path> bool remove(const Path& p);</pre>
+<pre>template <class Path> void remove(const Path& p, system::error_code & ec = <i>singular</i> );</pre>
<blockquote>
- <p><i>Precondition:</i> <code>!p.empty()</code></p>
- <p><i>Effects:</i> Attempts to delete the file <code>p</code> resolves
- to,
+ <p><i>Effects:</i> Removes the file <code>p</code>,
as if by<i> POSIX </i><code>
- <a href="http://www.opengroup.org/onlinepubs/000095399/functions/link.html">
- remove()</a></code>.</p>
- <p><i>Returns:</i> The value of <code>exists(p)</code> prior to the
- establishment of the postcondition.</p>
- <p><i>Postcondition:</i> <code>!exists(p)</code></p>
- <p><i>Throws:</i> <code>basic_filesystem_error<Path></code> if:</p>
+ remove()</code>.
+ If no error is reported by the underlying removal implementation or if <code>
+ status(p).type() == file_not_found</code>, then:</p>
<ul>
- <li><code>p.empty() || (exists(p) && is_directory(p) && !empty(p))</code>.</li>
- <li><i>Effects</i> fails for any reason other than because <code>p</code>
- does not resolve to an existing file.</li>
+ <li>if <code>ec != </code><i><code>singular</code></i>, then <code>ec.clear()</code>.</li>
</ul>
- <p>[<i>Note:</i> A symbolic link is itself removed, rather than what it
+ <p>Otherwise,</p>
+ <ul>
+ <li>if <code>ec != </code><i><code>singular</code></i>, then set <code>ec</code>
+ to represent the error.</li>
+ <li>otherwise, throw <code>basic_filesystem_error<Path></code> to represent
+ the error.if <code>ec != </code><i><code>singular</code></i>, then <code>
+ ec.clear()</code></li>
+ </ul>
+ <p><i>Postcondition:</i> <code>!exists(p)</code></p>
+ <p><i>Throws:</i> See <i>Effects</i>.</p>
+ <p>[<i>Note:</i> A symbolic link is itself removed, rather than the file it
+ resolves to being removed. <i>-- end note</i>]</p>
+</blockquote>
+<pre>template <class Path> unsigned long remove_all(const Path& p);</pre>
+<blockquote>
+ <p><i>Effects:</i> Recursively deletes the contents of p if it exists,
+ then deletes file <code>p</code> itself,
+ as if by<i> POSIX </i><code>
+ remove()</code>.</p>
+ <p><i>Returns:</i> The number of files removed.</p>
+ <p><i>Postcondition:</i> <code>!exists(p)</code></p>
+ <p>[<i>Note:</i> A symbolic link is itself removed, rather than the file it
resolves to being removed. <i>-- end note</i>]</p>
</blockquote>
<pre>template <class Path1, class Path2> void rename(const Path1& from_p, const Path2& to_p);</pre>
@@ -2197,7 +2252,7 @@
<p><i>Effects:</i> The contents and attributes of the file <code>from_fp</code>
resolves to are copied to the file <code>to_fp</code> resolves to.</p>
<p><i>Throws:</i> <code>basic_filesystem_error<Path></code> if <code>
- from_fp.empty() || to_fp.empty() ||!exists(from_fp) || !is_regular(from_fp)
+ from_fp.empty() || to_fp.empty() ||!exists(from_fp) || !is_regular_file(from_fp)
|| exists(to_fp)</code></p>
</blockquote>
<pre>template <class Path> Path complete(const Path& p, const Path& base=initial_path<Path>());</pre>
@@ -2275,11 +2330,18 @@
<p><i>Throws:</i> <code>basic_filesystem_error<Path></code> if<code>
exists(p) && !is_directory(p)</code></p>
</blockquote>
+<table border="1" cellpadding="5" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111">
+ <tr>
+ <td>
+ <h4>Deprecated convenience functions</h4>
+ <p>The following functions have been replaced by <code>basic_path</code>
+ member functions <code>extension()</code>, <code>stem()</code>, and <code>
+ replace_extension()</code>.</p>
<pre>template <class Path> typename Path::string_type extension(const Path & p);</pre>
<blockquote>
- <p><i>Returns:</i> if <code>p.leaf()</code> contains a <i>dot</i>, returns the
- substring of <code>p.leaf()</code> starting at the rightmost <i>dot</i> and
- ending at the string's end. Otherwise, returns an empty string. </p>
+ <p><i>Returns:</i> if <code>p.filename()</code> contains a <i>dot</i>, returns
+ the substring of <code>p.filename()</code> starting at the rightmost <i>dot</i>
+ and ending at the string's end. Otherwise, returns an empty string. </p>
<p>[<i>Note:<b> </b></i>The <i>dot</i> is included in the return value so that
it is possible to distinguish between no extension and an empty extension. </p>
<p>Implementations are permitted but not required to define additional
@@ -2288,13 +2350,14 @@
</blockquote>
<pre>template <class Path> typename Path::string_type basename(const Path & p);</pre>
<blockquote>
- <p><i>Returns:</i> if <code>p.leaf()</code> contains a <i>dot</i>, returns the
- substring of <code>p.leaf()</code> starting at its beginning and ending at the
- last <i>dot</i> (the <i>dot</i> is not included). Otherwise, returns <code>
- p.leaf()</code>.</p>
+ <p><i>Returns:</i> if <code>p.filename()</code> contains a <i>dot</i>, returns
+ the substring of <code>p.filename()</code> starting at its beginning and
+ ending at the last <i>dot</i> (the <i>dot</i> is not included). Otherwise,
+ returns <code>
+ p.filename()</code>.</p>
</blockquote>
<pre>template <class Path>
- Path replace_extension(const Path & p, const typename Path::string_type & new_extension);</pre>
+ Path change_extension(const Path & p, const typename Path::string_type & new_extension);</pre>
<blockquote>
<p><i>Postcondition:</i> <code>basename(<i>return_value</i>) == basename(p) &&
extension(<i>return_value</i>) == new_extension</code> </p>
@@ -2302,33 +2365,9 @@
that <code>new_extension</code> should include <i>dot</i> to achieve
reasonable results. <i>-- end note</i>]</p>
</blockquote>
-<h3><a name="header-cerrno">Additions</a> to header <code><cerrno></code></h3>
-<p>The header <cerrno> shall include an additional symbolic constant macro for
-each of the values returned by the to_errno
-function. The macro names shall be as defined in <i>POSIX</i>
-<a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/errno.h.html">
-errno.h</a>, with the additions below.</p>
-<blockquote>
-<p><i><span style="background-color: #E0E0E0">This codifies existing practice.
-The required names are only a sub-set of those defined by POSIX, and are usually already
-supplied in <errno.h> (as wrapped by <cerrno>) as shipped with POSIX and Windows compilers.
-These implementations require no changes to their underlying C headers to conform with the above
-requirement.</span></i></p>
-<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="33%">
- <tr>
- <td width="18%" align="center"><i><b>Name</b></i></td>
- <td width="82%" align="center"><i><b>Meaning</b></i></td>
- </tr>
- <tr>
- <td width="18%"><code>EBADHANDLE</code></td>
- <td width="82%">Bad operating system handle.</td>
- </tr>
- <tr>
- <td width="18%"><code>EOTHER</code></td>
- <td width="82%">Other error.</td>
+ </td>
</tr>
</table>
-</blockquote>
<h3><a name="header-fstream">Additions</a> to header <code><fstream></code></h3>
<blockquote>
<p><span style="background-color: #E0E0E0; font-style:italic">These additions have been carefully
@@ -2361,14 +2400,14 @@
sentence:</i></span></p>
<blockquote>
<p><span style="background-color: #FFFFFF">It then opens a file, if possible,
-whose name is the NTBS s (as if by calling <code>std::fopen(s ,<i>modstr</i>
+whose name is the NTBS s (âas ifâ by calling <code>std::fopen(s ,<i>modstr</i>
))</code>.</span></p>
</blockquote>
<p><span style="background-color: #FFFFFF"><i>with:</i></span></p>
<blockquote>
<p><span style="background-color: #FFFFFF">It then opens, if possible, the file
that
-<code>p</code> or <code>path(s)</code> resolves to, as if by calling <code>std::fopen()</code> with a
+<code>p</code> or <code>path(s)</code> resolves to, âas ifâ by calling <code>std::fopen()</code> with a
second argument of <i>modstr</i>.</span></p>
</blockquote>
<p><span style="background-color: #FFFFFF"><i>In 27.8.1.5 Class template
@@ -2487,8 +2526,8 @@
<td width="48"><b><code>root_<br>name()</code></b></td>
<td width="88"><b><code>root_<br>directory()</code></b></td>
<td width="96"><b><code>relative_<br>path()<br>.string()</code></b></td>
-<td width="72"><b><code>branch_<br>path()<br>.string()</code></b></td>
-<td width="72"><b><code>leaf()</code></b></td>
+<td width="72"><b><code>parent_<br>path()<br>.string()</code></b></td>
+<td width="72"><b><code>filename()</code></b></td>
</tr>
<tr>
<td width="112"><code>""</code></td>
@@ -2992,29 +3031,6 @@
classes, overriding the constructors and opens taking pathname arguments, and
providing the additional overloads. In Lillehammer LWG members indicated lack of
support for this alternative, feeling that costs outweigh benefits.</span></p>
-<h2><a name="Issues">Issues</a></h2>
-<h3>1. Return type of certain basic_path members returning strings. [Howard
-Hinnant]</h3>
-<p>For member functions described as returning "<code>const string_type</code>"
-or "<code>const external_string_type</code>", implementations are permitted to
-return "<code>const string_type&</code>" or "<code>const
-external_string_type&</code>" respectively.</p>
-<p>This allows implementations to avoid unnecessary copies. Return-by-value is
-specified as
-<code>const</code> to ensure programs won't break if moved to a
-return-by-reference implementation.</p>
-<p>For example, the Boost implementation keeps the internal representation of a
-pathname in the portable format, so string() returns by reference and is inlined:</p>
-<blockquote>
- <pre>const string_type & string() const { return m_path; }</pre>
-</blockquote>
-<p>Howard Hinnant comments: This may inhibit optimization if rvalue reference is
-accepted. Const-qualified return types can't be moved from. I'd
-rather see either the return type specified as
-<code>const string_type&</code> or <code>string_type</code>.</p>
-<p>Beman Dawes comments: I can't make up my mind. Removing the const will bite
-users, but not very often. OTOH, excessive copying is a real concern, and if
-move semantics can alleviate that, I'm all for it. What does the LWG think?</p>
<h2><a name="Acknowledgements">Acknowledgements</a></h2>
<p>This Filesystem Library is dedicated to my wife, Sonda, who provided the
support necessary to see both a trial implementation and the proposal itself
@@ -3024,8 +3040,7 @@
Boost Filesystem Library. See
<a href="http://www.boost.org/libs/filesystem/doc/index.htm#Acknowledgements">
http://www.boost.org/libs/filesystem/doc/index.htm#Acknowledgements>.</p>
-<p>Dietmar Kühl contributed the original Boost Filesystem Library
-directory_iterator design. Peter Dimov, Walter Landry, Rob Stewart, and Thomas
+<p>Dietmar Kuehl contributed the original Boost Filesystem Library directory_iterator design. Peter Dimov, Walter Landry, Rob Stewart, and Thomas
Witt were particularly helpful in refining the library.</p>
<p>The create_directories, extension, basename, and replace_extension functions
were developed by Vladimir Prus.</p>
@@ -3037,7 +3052,7 @@
<tr>
<td width="16%" valign="top">[<a name="ISO_POSIX">ISO-POSIX</a>]</td>
<td width="84%">ISO/IEC 9945:2003, IEEE Std 1003.1-2001, and The Open Group
- Base Specifications, Issue 6. Also known as The Single Unix<font face="Times New Roman">®
+ Base Specifications, Issue 6. Also known as The Single Unix<font face="Times New Roman">®
Specification, Version 3. Available from each of the organizations involved
in its creation. For example, read online or download from
<a href="http://www.unix.org/single_unix_specification/">
@@ -3057,7 +3072,7 @@
<p>Distributed under the Boost Software License, Version 1.0. See
<a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a></p>
<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->18 March 2008<!--webbot bot="Timestamp" endspan i-checksum="27357" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->06 July 2008<!--webbot bot="Timestamp" endspan i-checksum="18830" --></p>
</body>
Modified: branches/CMake/release/libs/filesystem/example/mbcopy.cpp
==============================================================================
--- branches/CMake/release/libs/filesystem/example/mbcopy.cpp (original)
+++ branches/CMake/release/libs/filesystem/example/mbcopy.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -72,9 +72,9 @@
for ( fs::wdirectory_iterator it( L"." );
it != fs::wdirectory_iterator(); ++it )
{
- if ( fs::is_regular(it->status()) )
+ if ( fs::is_regular_file(it->status()) )
{
- copy_file( *it, target_dir / it->leaf() );
+ copy_file( *it, target_dir / it->filename() );
}
}
Modified: branches/CMake/release/libs/filesystem/example/mbpath.cpp
==============================================================================
--- branches/CMake/release/libs/filesystem/example/mbpath.cpp (original)
+++ branches/CMake/release/libs/filesystem/example/mbpath.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,6 +1,6 @@
// Boost.Filesystem mbpath.hpp ---------------------------------------------//
-// © Copyright Beman Dawes 2005
+// (c) Copyright Beman Dawes 2005
// Use, modification, and distribution is subject to the Boost Software
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@@ -14,7 +14,7 @@
# endif
#include "mbpath.hpp"
-#include <cerrno>
+#include <boost/system/system_error.hpp>
#include <boost/scoped_array.hpp>
namespace fs = boost::filesystem;
Modified: branches/CMake/release/libs/filesystem/example/simple_ls.cpp
==============================================================================
--- branches/CMake/release/libs/filesystem/example/simple_ls.cpp (original)
+++ branches/CMake/release/libs/filesystem/example/simple_ls.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -51,24 +51,24 @@
if ( fs::is_directory( dir_itr->status() ) )
{
++dir_count;
- std::cout << dir_itr->leaf() << " [directory]\n";
+ std::cout << dir_itr->filename() << " [directory]\n";
}
- else if ( fs::is_regular( dir_itr->status() ) )
+ else if ( fs::is_regular_file( dir_itr->status() ) )
{
++file_count;
- std::cout << dir_itr->leaf() << "\n";
+ std::cout << dir_itr->filename() << "\n";
}
else
{
++other_count;
- std::cout << dir_itr->leaf() << " [other]\n";
+ std::cout << dir_itr->filename() << " [other]\n";
}
}
catch ( const std::exception & ex )
{
++err_count;
- std::cout << dir_itr->leaf() << " " << ex.what() << std::endl;
+ std::cout << dir_itr->filename() << " " << ex.what() << std::endl;
}
}
std::cout << "\n" << file_count << " files\n"
Deleted: branches/CMake/release/libs/filesystem/src/exception.cpp
==============================================================================
--- branches/CMake/release/libs/filesystem/src/exception.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
+++ (empty file)
@@ -1,166 +0,0 @@
-// Exception implementation file -------------------------------------------//
-
-// Copyright 2002 Beman Dawes
-// Copyright 2001 Dietmar Kuehl
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
-// at http://www.boost.org/LICENSE_1_0.txt)
-
-// See library home page at http://www.boost.org/libs/filesystem
-
-//----------------------------------------------------------------------------//
-
-// define BOOST_FILESYSTEM_SOURCE so that <boost/filesystem/config.hpp> knows
-// the library is being built (possibly exporting rather than importing code)
-#define BOOST_FILESYSTEM_SOURCE
-
-#include <boost/filesystem/config.hpp>
-#include <boost/filesystem/path.hpp>
-#include <boost/filesystem/cerrno.hpp>
-
-namespace fs = boost::filesystem;
-
-#include <cstring> // SGI MIPSpro compilers need this
-
-# ifdef BOOST_NO_STDC_NAMESPACE
- namespace std { using ::strerror; }
-# endif
-
-
-# if defined( BOOST_WINDOWS_API )
-# include "windows.h"
-# endif
-
-//----------------------------------------------------------------------------//
-
-namespace
-{
-#ifdef BOOST_WINDOWS_API
- struct ec_xlate { fs::system_error_type sys_ec; fs::errno_type ec; };
- const ec_xlate ec_table[] =
- {
- // see WinError.h comments for descriptions of errors
-
- // most common errors first to speed sequential search
- { ERROR_FILE_NOT_FOUND, ENOENT },
- { ERROR_PATH_NOT_FOUND, ENOENT },
-
- // alphabetical for easy maintenance
- { 0, 0 }, // no error
- { ERROR_ACCESS_DENIED, EACCES },
- { ERROR_ALREADY_EXISTS, EEXIST },
- { ERROR_BAD_UNIT, ENODEV },
- { ERROR_BUFFER_OVERFLOW, ENAMETOOLONG },
- { ERROR_BUSY, EBUSY },
- { ERROR_BUSY_DRIVE, EBUSY },
- { ERROR_CANNOT_MAKE, EACCES },
- { ERROR_CANTOPEN, EIO },
- { ERROR_CANTREAD, EIO },
- { ERROR_CANTWRITE, EIO },
- { ERROR_CURRENT_DIRECTORY, EACCES },
- { ERROR_DEV_NOT_EXIST, ENODEV },
- { ERROR_DEVICE_IN_USE, EBUSY },
- { ERROR_DIR_NOT_EMPTY, ENOTEMPTY },
- { ERROR_DIRECTORY, EINVAL }, // WinError.h: "The directory name is invalid"
- { ERROR_DISK_FULL, ENOSPC },
- { ERROR_FILE_EXISTS, EEXIST },
- { ERROR_HANDLE_DISK_FULL, ENOSPC },
- { ERROR_INVALID_ACCESS, EACCES },
- { ERROR_INVALID_DRIVE, ENODEV },
- { ERROR_INVALID_FUNCTION, ENOSYS },
- { ERROR_INVALID_HANDLE, EBADHANDLE },
- { ERROR_INVALID_NAME, EINVAL },
- { ERROR_LOCK_VIOLATION, EACCES },
- { ERROR_LOCKED, EACCES },
- { ERROR_NOACCESS, EACCES },
- { ERROR_NOT_ENOUGH_MEMORY, ENOMEM },
- { ERROR_NOT_READY, EAGAIN },
- { ERROR_NOT_SAME_DEVICE, EXDEV },
- { ERROR_OPEN_FAILED, EIO },
- { ERROR_OPEN_FILES, EBUSY },
- { ERROR_OUTOFMEMORY, ENOMEM },
- { ERROR_READ_FAULT, EIO },
- { ERROR_SEEK, EIO },
- { ERROR_SHARING_VIOLATION, EACCES },
- { ERROR_TOO_MANY_OPEN_FILES, ENFILE },
- { ERROR_WRITE_FAULT, EIO },
- { ERROR_WRITE_PROTECT, EROFS },
- { 0,EOTHER }
- };
-#endif
-
-} // unnamed namespace
-
-namespace boost
-{
- namespace filesystem
- {
-# ifdef BOOST_WINDOWS_API
-
- BOOST_FILESYSTEM_DECL
- errno_type lookup_errno( system_error_type sys_err_code )
- {
- for ( const ec_xlate * cur = &ec_table[0];
- cur != ec_table
- + sizeof(ec_table)/sizeof(ec_xlate); ++cur )
- {
- if ( sys_err_code == cur->sys_ec ) return cur->ec;
- }
- return EOTHER;
- }
-
- BOOST_FILESYSTEM_DECL void
- system_message( system_error_type sys_err_code, std::string & target )
- {
- LPVOID lpMsgBuf;
- ::FormatMessageA(
- FORMAT_MESSAGE_ALLOCATE_BUFFER |
- FORMAT_MESSAGE_FROM_SYSTEM |
- FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL,
- sys_err_code,
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
- (LPSTR) &lpMsgBuf,
- 0,
- NULL
- );
- target += static_cast<LPCSTR>(lpMsgBuf);
- ::LocalFree( lpMsgBuf ); // free the buffer
- while ( target.size()
- && (target[target.size()-1] == '\n' || target[target.size()-1] == '\r') )
- target.erase( target.size()-1 );
- }
-
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
- BOOST_FILESYSTEM_DECL void
- system_message( system_error_type sys_err_code, std::wstring & target )
- {
- LPVOID lpMsgBuf;
- ::FormatMessageW(
- FORMAT_MESSAGE_ALLOCATE_BUFFER |
- FORMAT_MESSAGE_FROM_SYSTEM |
- FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL,
- sys_err_code,
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
- (LPWSTR) &lpMsgBuf,
- 0,
- NULL
- );
- target += static_cast<LPCWSTR>(lpMsgBuf);
- ::LocalFree( lpMsgBuf ); // free the buffer
- while ( target.size()
- && (target[target.size()-1] == L'\n' || target[target.size()-1] == L'\r') )
- target.erase( target.size()-1 );
- }
-# endif
-# else
- void
- system_message( system_error_type sys_err_code, std::string & target )
- {
- target += std::strerror( sys_err_code );
- }
-# endif
-
- } // namespace filesystem
-} // namespace boost
Modified: branches/CMake/release/libs/filesystem/src/operations.cpp
==============================================================================
--- branches/CMake/release/libs/filesystem/src/operations.cpp (original)
+++ branches/CMake/release/libs/filesystem/src/operations.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -110,6 +110,8 @@
namespace
{
+ const error_code ok;
+
const fs::directory_iterator end_itr;
bool is_empty_directory( const std::string & dir_path )
{
@@ -200,19 +202,19 @@
|| (ec.value() == ERROR_BAD_PATHNAME) // "//nosuch" on Win64
|| (ec.value() == ERROR_BAD_NETPATH)) // "//nosuch" on Win32
{
- ec = error_code(); // these are not considered errors;
+ ec = ok; // these are not considered errors;
// the status is considered not found
return fs::file_status( fs::file_not_found );
}
else if ((ec.value() == ERROR_SHARING_VIOLATION))
{
- ec = error_code(); // these are not considered errors;
+ ec = ok; // these are not considered errors;
// the file exists but the type is not known
return fs::file_status( fs::type_unknown );
}
return fs::file_status( fs::status_unknown );
}
- ec = error_code();;
+ ec = ok;;
return (attr & FILE_ATTRIBUTE_DIRECTORY)
? fs::file_status( fs::directory_file )
: fs::file_status( fs::regular_file );
@@ -229,7 +231,7 @@
WIN32_FILE_ATTRIBUTE_DATA fad;
if ( get_file_attributes_ex( ph.c_str(), fad ) == 0 )
return std::make_pair( error_code( ::GetLastError(), system_category ), false );
- return std::make_pair( error_code(),
+ return std::make_pair( ok,
( fad.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
? is_empty_directory( ph )
:( !fad.nFileSizeHigh && !fad.nFileSizeLow ) );
@@ -295,7 +297,7 @@
{
if ( p1.handle != INVALID_HANDLE_VALUE
|| p2.handle != INVALID_HANDLE_VALUE )
- { return std::make_pair( error_code(), false ); }
+ { return std::make_pair( ok, false ); }
assert( p1.handle == INVALID_HANDLE_VALUE
&& p2.handle == INVALID_HANDLE_VALUE );
{ return std::make_pair( error_code( error1, system_category), false ); }
@@ -309,7 +311,7 @@
// In theory, volume serial numbers are sufficient to distinguish between
// devices, but in practice VSN's are sometimes duplicated, so last write
// time and file size are also checked.
- return std::make_pair( error_code(),
+ return std::make_pair( ok,
info1.dwVolumeSerialNumber == info2.dwVolumeSerialNumber
&& info1.nFileIndexHigh == info2.nFileIndexHigh
&& info1.nFileIndexLow == info2.nFileIndexLow
@@ -331,7 +333,7 @@
return std::make_pair( error_code( ::GetLastError(), system_category ), 0 );
if ( (fad.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) !=0 )
return std::make_pair( error_code( ERROR_FILE_NOT_FOUND, system_category), 0 );
- return std::make_pair( error_code(),
+ return std::make_pair( ok,
(static_cast<boost::uintmax_t>(fad.nFileSizeHigh)
<< (sizeof(fad.nFileSizeLow)*8))
+ fad.nFileSizeLow );
@@ -349,7 +351,7 @@
boost::filesystem::detail::space_pair result;
if ( get_free_disk_space( ph, &avail, &total, &free ) )
{
- result.first = error_code();
+ result.first = ok;
result.second.capacity
= (static_cast<boost::uintmax_t>(total.HighPart) << 32)
+ total.LowPart;
@@ -385,7 +387,7 @@
if ( get_current_directory( sz, buf.get() ) == 0 )
return error_code( ::GetLastError(), system_category );
ph = buf.get();
- return error_code();
+ return ok;
}
inline bool set_current_directory( const char * buf )
@@ -426,11 +428,11 @@
== 0 ) return error_code( ::GetLastError(), system_category );
big_buf[len] = '\0';
target = big_buf.get();
- return error_code();
+ return ok;
}
buf[len] = '\0';
target = buf;
- return error_code();
+ return ok;
}
template<class String>
@@ -517,9 +519,14 @@
error_code
remove_template( const String & ph )
{
+ // TODO: test this code in the presence of Vista symlinks,
+ // including dangling, self-referal, and cyclic symlinks
error_code ec;
fs::file_status sf( fs::detail::status_api( ph, ec ) );
- if ( ec ) return ec;
+ if ( ec )
+ return ec;
+ if ( sf.type() == fs::file_not_found )
+ return ok;
if ( fs::is_directory( sf ) )
{
if ( !remove_directory( ph ) )
@@ -529,7 +536,7 @@
{
if ( !delete_file( ph ) ) return error_code(::GetLastError(), system_category);
}
- return error_code();
+ return ok;
}
inline bool create_directory( const std::string & dir )
@@ -545,7 +552,7 @@
// an error here may simply mean the postcondition is already met
if ( error.value() == ERROR_ALREADY_EXISTS
&& fs::is_directory( fs::detail::status_api( dir_ph, dummy ) ) )
- return std::make_pair( error_code(), false );
+ return std::make_pair( ok, false );
return std::make_pair( error, false );
}
@@ -566,6 +573,24 @@
}
#endif
+#else // BOOST_POSIX_API
+
+ int posix_remove( const char * p )
+ {
+# if defined(__QNXNTO__) || (defined(__MSL__) && (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)))
+ // Some Metrowerks C library versions fail on directories because of a
+ // known Metrowerks coding error in ::remove. Workaround is to call
+ // rmdir() or unlink() as indicated.
+ // Same bug also reported for QNX, with the same fix.
+ int err = ::unlink( p );
+ if ( err != EPERM )
+ return err;
+ return ::rmdir( p )
+# else
+ return std::remove( p );
+# endif
+ }
+
#endif
} // unnamed namespace
@@ -575,6 +600,7 @@
{
namespace detail
{
+ BOOST_FILESYSTEM_DECL system::error_code throws;
// free functions ----------------------------------------------------------//
@@ -763,7 +789,7 @@
if ( data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
{ sf.type( directory_file ); symlink_sf.type( directory_file ); }
else { sf.type( regular_file ); symlink_sf.type( regular_file ); }
- return error_code();
+ return ok;
}
BOOST_FILESYSTEM_DECL error_code
@@ -781,7 +807,7 @@
if ( data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
{ sf.type( directory_file ); symlink_sf.type( directory_file ); }
else { sf.type( regular_file ); symlink_sf.type( regular_file ); }
- return error_code();
+ return ok;
}
# endif // ifndef BOOST_FILESYSTEM_NARROW_ONLY
@@ -889,7 +915,7 @@
if ( data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
{ sf.type( directory_file ); symlink_sf.type( directory_file ); }
else { sf.type( regular_file ); symlink_sf.type( regular_file ); }
- return error_code();
+ return ok;
}
BOOST_FILESYSTEM_DECL error_code
@@ -901,7 +927,7 @@
handle = 0;
return error_code( ok ? 0 : ::GetLastError(), system_category );
}
- return error_code();
+ return ok;
}
BOOST_FILESYSTEM_DECL error_code
@@ -919,7 +945,7 @@
if ( data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
{ sf.type( directory_file ); symlink_sf.type( directory_file ); }
else { sf.type( regular_file ); symlink_sf.type( regular_file ); }
- return error_code();
+ return ok;
}
# else // BOOST_POSIX_API
@@ -932,13 +958,13 @@
{
if ( errno == ENOENT || errno == ENOTDIR )
{
- ec = error_code();
+ ec = ok;
return fs::file_status( fs::file_not_found );
}
ec = error_code( errno, system_category );
return fs::file_status( fs::status_unknown );
}
- ec = error_code();
+ ec = ok;
if ( S_ISDIR( path_stat.st_mode ) )
return fs::file_status( fs::directory_file );
if ( S_ISREG( path_stat.st_mode ) )
@@ -962,13 +988,13 @@
{
if ( errno == ENOENT || errno == ENOTDIR )
{
- ec = error_code();
+ ec = ok;
return fs::file_status( fs::file_not_found );
}
ec = error_code( errno, system_category );
return fs::file_status( fs::status_unknown );
}
- ec = error_code();
+ ec = ok;
if ( S_ISREG( path_stat.st_mode ) )
return fs::file_status( fs::regular_file );
if ( S_ISDIR( path_stat.st_mode ) )
@@ -1001,7 +1027,7 @@
struct stat path_stat;
if ( (::stat( ph.c_str(), &path_stat )) != 0 )
return std::make_pair( error_code( errno, system_category ), false );
- return std::make_pair( error_code(), S_ISDIR( path_stat.st_mode )
+ return std::make_pair( ok, S_ISDIR( path_stat.st_mode )
? is_empty_directory( ph )
: path_stat.st_size == 0 );
}
@@ -1016,7 +1042,7 @@
if ( e1 != 0 || e2 != 0 )
return std::make_pair( error_code( e1 != 0 && e2 != 0 ? errno : 0, system_category ), false );
// at this point, both stats are known to be valid
- return std::make_pair( error_code(),
+ return std::make_pair( ok,
s1.st_dev == s2.st_dev
&& s1.st_ino == s2.st_ino
// According to the POSIX stat specs, "The st_ino and st_dev fields
@@ -1034,7 +1060,7 @@
return std::make_pair( error_code( errno, system_category ), 0 );
if ( !S_ISREG( path_stat.st_mode ) )
return std::make_pair( error_code( EPERM, system_category ), 0 );
- return std::make_pair( error_code(),
+ return std::make_pair( ok,
static_cast<boost::uintmax_t>(path_stat.st_size) );
}
@@ -1051,7 +1077,7 @@
}
else
{
- result.first = error_code();
+ result.first = ok;
result.second.capacity
= static_cast<boost::uintmax_t>(vfs.f_blocks) * BOOST_STATVFS_F_FRSIZE;
result.second.free
@@ -1068,7 +1094,7 @@
struct stat path_stat;
if ( ::stat( ph.c_str(), &path_stat ) != 0 )
return std::make_pair( error_code( errno, system_category ), 0 );
- return std::make_pair( error_code(), path_stat.st_mtime );
+ return std::make_pair( ok, path_stat.st_mtime );
}
BOOST_FILESYSTEM_DECL error_code
@@ -1105,7 +1131,7 @@
break;
}
}
- return error_code();
+ return ok;
}
BOOST_FILESYSTEM_DECL error_code
@@ -1119,13 +1145,13 @@
create_directory_api( const std::string & ph )
{
if ( ::mkdir( ph.c_str(), S_IRWXU|S_IRWXG|S_IRWXO ) == 0 )
- { return std::make_pair( error_code(), true ); }
+ { return std::make_pair( ok, true ); }
int ec=errno;
error_code dummy;
if ( ec != EEXIST
|| !fs::is_directory( status_api( ph, dummy ) ) )
{ return std::make_pair( error_code( ec, system_category ), false ); }
- return std::make_pair( error_code(), false );
+ return std::make_pair( ok, false );
}
BOOST_FILESYSTEM_DECL error_code
@@ -1147,28 +1173,19 @@
BOOST_FILESYSTEM_DECL error_code
remove_api( const std::string & ph )
{
-# if defined(__QNXNTO__) || (defined(__MSL__) && (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)))
- // Some Metrowerks C library versions fail on directories because of a
- // known Metrowerks coding error in ::remove. Workaround is to call
- // rmdir() or unlink() as indicated.
- // Same bug also reported for QNX, with the same fix.
- if ( (is_directory( ph )
- ? ::rmdir( ph.c_str() )
- : ::unlink( ph.c_str() )) != 0 )
-# else
- // note that the POSIX behavior for symbolic links is what we want;
- // the link rather than what it points to is deleted
- if ( std::remove( ph.c_str() ) != 0 )
-# endif
- {
- int error = errno;
- // POSIX says "If the directory is not an empty directory, rmdir()
- // shall fail and set errno to EEXIST or ENOTEMPTY."
- // Linux uses ENOTEMPTY, Solaris uses EEXIST.
- if ( error == EEXIST ) error = ENOTEMPTY;
- return error_code( error, system_category );
- }
- return error_code();
+ if ( posix_remove( ph.c_str() ) == 0 )
+ return ok;
+ int error = errno;
+ // POSIX says "If the directory is not an empty directory, rmdir()
+ // shall fail and set errno to EEXIST or ENOTEMPTY."
+ // Linux uses ENOTEMPTY, Solaris uses EEXIST.
+ if ( error == EEXIST ) error = ENOTEMPTY;
+
+ error_code ec;
+
+ // ignore errors if post-condition satisfied
+ return status_api(ph, ec).type() == file_not_found
+ ? ok : error_code( error, system_category ) ;
}
BOOST_FILESYSTEM_DECL error_code
@@ -1249,7 +1266,7 @@
else max = static_cast<std::size_t>( tmp + 1 ); // relative root
}
result = max;
- return error_code();
+ return ok;
}
BOOST_FILESYSTEM_DECL error_code
@@ -1268,7 +1285,7 @@
dirent de;
buffer = std::malloc( (sizeof(dirent) - sizeof(de.d_name))
+ path_size + 1 ); // + 1 for "/0"
- return error_code();
+ return ok;
}
BOOST_FILESYSTEM_DECL error_code
@@ -1276,7 +1293,7 @@
{
std::free( buffer );
buffer = 0;
- if ( handle == 0 ) return error_code();
+ if ( handle == 0 ) return ok;
DIR * h( static_cast<DIR*>(handle) );
handle = 0;
return error_code( ::closedir( h ) == 0 ? 0 : errno, system_category );
@@ -1339,7 +1356,7 @@
# else
sf = symlink_sf = fs::file_status( fs::status_unknown );
# endif
- return error_code();
+ return ok;
}
# endif
Modified: branches/CMake/release/libs/filesystem/src/path.cpp
==============================================================================
--- branches/CMake/release/libs/filesystem/src/path.cpp (original)
+++ branches/CMake/release/libs/filesystem/src/path.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -24,6 +24,8 @@
#include <boost/cerrno.hpp>
#include <boost/system/error_code.hpp>
+#include <cwchar> // for std::mbstate_t
+
namespace
{
// std::locale construction can throw (if LC_MESSAGES is wrong, for example),
Modified: branches/CMake/release/libs/filesystem/src/utf8_codecvt_facet.hpp
==============================================================================
--- branches/CMake/release/libs/filesystem/src/utf8_codecvt_facet.hpp (original)
+++ branches/CMake/release/libs/filesystem/src/utf8_codecvt_facet.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,4 +1,4 @@
-// Copyright © 2001 Ronald Garcia, Indiana University (garcia_at_[hidden])
+// Copyright (c) 2001 Ronald Garcia, Indiana University (garcia_at_[hidden])
// Andrew Lumsdaine, Indiana University (lums_at_[hidden]).
// Distributed under the Boost Software License, Version 1.0.
Modified: branches/CMake/release/libs/filesystem/test/convenience_test.cpp
==============================================================================
--- branches/CMake/release/libs/filesystem/test/convenience_test.cpp (original)
+++ branches/CMake/release/libs/filesystem/test/convenience_test.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -8,12 +8,7 @@
// See library home page at http://www.boost.org/libs/filesystem
-// VC++ 8.0 warns on various less-than-safe practices.
-// See http://msdn.microsoft.com/msdnmag/issues/05/05/SafeCandC/default.aspx
-// But at least in VC++ 8.0 betas, their own libraries use the problem
-// practices. So turn off the warnings.
-#define _CRT_SECURE_NO_DEPRECATE
-#define _SCL_SECURE_NO_DEPRECATE
+#include <boost/config/warning_disable.hpp>
#include <boost/filesystem/convenience.hpp>
namespace fs = boost::filesystem;
Modified: branches/CMake/release/libs/filesystem/test/equivalent.cpp
==============================================================================
--- branches/CMake/release/libs/filesystem/test/equivalent.cpp (original)
+++ branches/CMake/release/libs/filesystem/test/equivalent.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,6 +1,6 @@
// equivalent program -------------------------------------------------------//
-// Copyright © 2004 Beman Dawes
+// Copyright (c) 2004 Beman Dawes
// Use, modification, and distribution is subject to the Boost Software
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
Modified: branches/CMake/release/libs/filesystem/test/fstream_test.cpp
==============================================================================
--- branches/CMake/release/libs/filesystem/test/fstream_test.cpp (original)
+++ branches/CMake/release/libs/filesystem/test/fstream_test.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -7,12 +7,7 @@
// See library home page at http://www.boost.org/libs/filesystem
-// VC++ 8.0 warns on various less-than-safe practices.
-// See http://msdn.microsoft.com/msdnmag/issues/05/05/SafeCandC/default.aspx
-// But at least in VC++ 8.0 betas, their own libraries use the problem
-// practices. So turn off the warnings.
-#define _CRT_SECURE_NO_DEPRECATE
-#define _SCL_SECURE_NO_DEPRECATE
+#include <boost/config/warning_disable.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/operations.hpp>
@@ -73,7 +68,7 @@
}
{
std::cout << " in test 4.1\n";
- fs::ifstream tfs( p / p.leaf() ); // should fail
+ fs::ifstream tfs( p / p.filename() ); // should fail
BOOST_CHECK( !tfs.is_open() );
}
{
Modified: branches/CMake/release/libs/filesystem/test/lpath.hpp
==============================================================================
--- branches/CMake/release/libs/filesystem/test/lpath.hpp (original)
+++ branches/CMake/release/libs/filesystem/test/lpath.hpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -10,6 +10,7 @@
#include <boost/filesystem/path.hpp>
#include <string>
+#include <ios> // for std::streamoff
namespace std
{
Modified: branches/CMake/release/libs/filesystem/test/operations_test.cpp
==============================================================================
--- branches/CMake/release/libs/filesystem/test/operations_test.cpp (original)
+++ branches/CMake/release/libs/filesystem/test/operations_test.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -7,12 +7,7 @@
// See library home page at http://www.boost.org/libs/filesystem
-// VC++ 8.0 warns on various less-than-safe practices.
-// See http://msdn.microsoft.com/msdnmag/issues/05/05/SafeCandC/default.aspx
-// But at least in VC++ 8.0 betas, their own libraries use the problem
-// practices. So turn off the warnings.
-#define _CRT_SECURE_NO_DEPRECATE
-#define _SCL_SECURE_NO_DEPRECATE
+#include <boost/config/warning_disable.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/convenience.hpp>
@@ -305,20 +300,21 @@
fs::path ng( " no-way, Jose" );
BOOST_CHECK( !fs::exists( ng ) );
BOOST_CHECK( !fs::is_directory( ng ) );
- BOOST_CHECK( !fs::is_regular( ng ) );
+ BOOST_CHECK( !fs::is_regular_file( ng ) );
+ BOOST_CHECK( !fs::is_regular( ng ) ); // verify deprecated name still works
BOOST_CHECK( !fs::is_symlink( ng ) );
fs::file_status stat( fs::status( ng ) );
BOOST_CHECK( fs::status_known( stat ) );
BOOST_CHECK( !fs::exists( stat ) );
BOOST_CHECK( !fs::is_directory( stat ) );
- BOOST_CHECK( !fs::is_regular( stat ) );
+ BOOST_CHECK( !fs::is_regular_file( stat ) );
BOOST_CHECK( !fs::is_other( stat ) );
BOOST_CHECK( !fs::is_symlink( stat ) );
stat = fs::status( "" );
BOOST_CHECK( fs::status_known( stat ) );
BOOST_CHECK( !fs::exists( stat ) );
BOOST_CHECK( !fs::is_directory( stat ) );
- BOOST_CHECK( !fs::is_regular( stat ) );
+ BOOST_CHECK( !fs::is_regular_file( stat ) );
BOOST_CHECK( !fs::is_other( stat ) );
BOOST_CHECK( !fs::is_symlink( stat ) );
@@ -392,13 +388,13 @@
BOOST_CHECK( fs::exists( dir ) );
BOOST_CHECK( BOOST_FS_IS_EMPTY( dir ) );
BOOST_CHECK( fs::is_directory( dir ) );
- BOOST_CHECK( !fs::is_regular( dir ) );
+ BOOST_CHECK( !fs::is_regular_file( dir ) );
BOOST_CHECK( !fs::is_other( dir ) );
BOOST_CHECK( !fs::is_symlink( dir ) );
stat = fs::status( dir );
BOOST_CHECK( fs::exists( stat ) );
BOOST_CHECK( fs::is_directory( stat ) );
- BOOST_CHECK( !fs::is_regular( stat ) );
+ BOOST_CHECK( !fs::is_regular_file( stat ) );
BOOST_CHECK( !fs::is_other( stat ) );
BOOST_CHECK( !fs::is_symlink( stat ) );
@@ -481,7 +477,7 @@
BOOST_CHECK( fs::is_directory( dir_itr->status() ) );
BOOST_CHECK( fs::is_directory( fs::symlink_status(*dir_itr) ) );
BOOST_CHECK( fs::is_directory( dir_itr->symlink_status() ) );
- BOOST_CHECK( dir_itr->leaf() == "d1" );
+ BOOST_CHECK( dir_itr->filename() == "d1" );
}
// create a second directory named d2
@@ -496,26 +492,26 @@
fs::directory_iterator dir_itr( dir );
BOOST_CHECK( fs::exists(dir_itr->status()) );
BOOST_CHECK( fs::is_directory(dir_itr->status()) );
- BOOST_CHECK( !fs::is_regular(dir_itr->status()) );
+ BOOST_CHECK( !fs::is_regular_file(dir_itr->status()) );
BOOST_CHECK( !fs::is_other(dir_itr->status()) );
BOOST_CHECK( !fs::is_symlink(dir_itr->status()) );
fs::directory_iterator dir_itr2( dir );
- BOOST_CHECK( dir_itr->leaf() == "d1"
- || dir_itr->leaf() == "d2" );
- BOOST_CHECK( dir_itr2->leaf() == "d1" || dir_itr2->leaf() == "d2" );
- if ( dir_itr->leaf() == "d1" )
- {
- BOOST_CHECK( (++dir_itr)->leaf() == "d2" );
- BOOST_CHECK( dir_itr2->leaf() == "d1" );
- BOOST_CHECK( (++dir_itr2)->leaf() == "d2" );
+ BOOST_CHECK( dir_itr->filename() == "d1"
+ || dir_itr->filename() == "d2" );
+ BOOST_CHECK( dir_itr2->filename() == "d1" || dir_itr2->filename() == "d2" );
+ if ( dir_itr->filename() == "d1" )
+ {
+ BOOST_CHECK( (++dir_itr)->filename() == "d2" );
+ BOOST_CHECK( dir_itr2->filename() == "d1" );
+ BOOST_CHECK( (++dir_itr2)->filename() == "d2" );
}
else
{
- BOOST_CHECK( dir_itr->leaf() == "d2" );
- BOOST_CHECK( (++dir_itr)->leaf() == "d1" );
- BOOST_CHECK( (dir_itr2)->leaf() == "d2" );
- BOOST_CHECK( (++dir_itr2)->leaf() == "d1" );
+ BOOST_CHECK( dir_itr->filename() == "d2" );
+ BOOST_CHECK( (++dir_itr)->filename() == "d1" );
+ BOOST_CHECK( (dir_itr2)->filename() == "d2" );
+ BOOST_CHECK( (++dir_itr2)->filename() == "d1" );
}
BOOST_CHECK( ++dir_itr == fs::directory_iterator() );
BOOST_CHECK( dir_itr2 != fs::directory_iterator() );
@@ -524,21 +520,21 @@
{ // *i++ must work to meet the standard's InputIterator requirements
fs::directory_iterator dir_itr( dir );
- BOOST_CHECK( dir_itr->leaf() == "d1"
- || dir_itr->leaf() == "d2" );
- if ( dir_itr->leaf() == "d1" )
+ BOOST_CHECK( dir_itr->filename() == "d1"
+ || dir_itr->filename() == "d2" );
+ if ( dir_itr->filename() == "d1" )
{
- BOOST_CHECK( (*dir_itr++).leaf() == "d1" );
- BOOST_CHECK( dir_itr->leaf() == "d2" );
+ BOOST_CHECK( (*dir_itr++).filename() == "d1" );
+ BOOST_CHECK( dir_itr->filename() == "d2" );
}
else
{
// Check C++98 input iterator requirements
- BOOST_CHECK( (*dir_itr++).leaf() == "d2" );
+ BOOST_CHECK( (*dir_itr++).filename() == "d2" );
// input iterator requirements in the current WP would require this check:
- // BOOST_CHECK( implicit_cast<std::string const&>(*dir_itr++).leaf() == "d1" );
+ // BOOST_CHECK( implicit_cast<std::string const&>(*dir_itr++).filename() == "d1" );
- BOOST_CHECK( dir_itr->leaf() == "d1" );
+ BOOST_CHECK( dir_itr->filename() == "d1" );
}
// test case reported in comment to SourceForge bug tracker [937606]
@@ -559,11 +555,11 @@
fs::directory_iterator it( root_name_path );
BOOST_CHECK( it != fs::directory_iterator() );
BOOST_CHECK( fs::exists( *it ) );
- BOOST_CHECK( it->path().branch_path() == root_name_path );
+ BOOST_CHECK( it->path().parent_path() == root_name_path );
bool found(false);
do
{
- if ( it->leaf() == temp_dir_name ) found = true;
+ if ( it->filename() == temp_dir_name ) found = true;
} while ( ++it != fs::directory_iterator() );
BOOST_CHECK( found );
}
@@ -573,7 +569,7 @@
create_file( file_ph, "" );
BOOST_CHECK( fs::exists( file_ph ) );
BOOST_CHECK( !fs::is_directory( file_ph ) );
- BOOST_CHECK( fs::is_regular( file_ph ) );
+ BOOST_CHECK( fs::is_regular_file( file_ph ) );
BOOST_CHECK( BOOST_FS_IS_EMPTY( file_ph ) );
BOOST_CHECK( fs::file_size( file_ph ) == 0 );
bad_create_directory_path = file_ph;
@@ -582,7 +578,7 @@
BOOST_CHECK( fs::status_known( stat ) );
BOOST_CHECK( fs::exists( stat ) );
BOOST_CHECK( !fs::is_directory( stat ) );
- BOOST_CHECK( fs::is_regular( stat ) );
+ BOOST_CHECK( fs::is_regular_file( stat ) );
BOOST_CHECK( !fs::is_other( stat ) );
BOOST_CHECK( !fs::is_symlink( stat ) );
@@ -592,7 +588,7 @@
BOOST_CHECK( fs::exists( file_ph ) );
BOOST_CHECK( !fs::is_directory( file_ph ) );
- BOOST_CHECK( fs::is_regular( file_ph ) );
+ BOOST_CHECK( fs::is_regular_file( file_ph ) );
BOOST_CHECK( fs::file_size( file_ph ) == 7 );
verify_file( file_ph, "foobar1" );
@@ -661,7 +657,7 @@
stat = fs::symlink_status( from_ph );
BOOST_CHECK( fs::exists( stat ) );
BOOST_CHECK( !fs::is_directory( stat ) );
- BOOST_CHECK( !fs::is_regular( stat ) );
+ BOOST_CHECK( !fs::is_regular_file( stat ) );
BOOST_CHECK( !fs::is_other( stat ) );
BOOST_CHECK( fs::is_symlink( stat ) );
}
@@ -774,18 +770,18 @@
BOOST_CHECK( !fs::exists( d2 / "d20" ) );
BOOST_CHECK( fs::exists( d1 / "f2" ) );
- // remove() tests on file
+ // remove() file
file_ph = dir / "shortlife";
BOOST_CHECK( !fs::exists( file_ph ) );
create_file( file_ph, "" );
BOOST_CHECK( fs::exists( file_ph ) );
BOOST_CHECK( !fs::is_directory( file_ph ) );
- BOOST_CHECK( fs::remove( file_ph ) );
+ fs::remove( file_ph );
BOOST_CHECK( !fs::exists( file_ph ) );
- BOOST_CHECK( !fs::remove( "no-such-file" ) );
- BOOST_CHECK( !fs::remove( "no-such-directory/no-such-file" ) );
+ fs::remove( "no-such-file" );
+ fs::remove( "no-such-directory/no-such-file" );
- // remove() test on directory
+ // remove() directory
d1 = dir / "shortlife_dir";
BOOST_CHECK( !fs::exists( d1 ) );
fs::create_directory( d1 );
@@ -794,44 +790,68 @@
BOOST_CHECK( BOOST_FS_IS_EMPTY( d1 ) );
bad_remove_dir = dir;
BOOST_CHECK( CHECK_EXCEPTION( bad_remove, ENOTEMPTY ) );
- BOOST_CHECK( fs::remove( d1 ) );
+ fs::remove( d1 );
BOOST_CHECK( !fs::exists( d1 ) );
-// STLport is allergic to std::system, so don't use runtime platform test
-# ifdef BOOST_POSIX
-
- // remove() test on dangling symbolic link
- fs::path link( "dangling_link" );
- fs::remove( link );
- BOOST_CHECK( !fs::is_symlink( link ) );
- BOOST_CHECK( !fs::exists( link ) );
- std::system("ln -s nowhere dangling_link");
- BOOST_CHECK( !fs::exists( link ) );
- BOOST_CHECK( fs::is_symlink( link ) );
- BOOST_CHECK( fs::remove( link ) );
- BOOST_CHECK( !fs::is_symlink( link ) );
-
- // remove() test on symbolic link to a file
- file_ph = "link_target";
- fs::remove( file_ph );
- BOOST_CHECK( !fs::exists( file_ph ) );
- create_file( file_ph, "" );
- BOOST_CHECK( fs::exists( file_ph ) );
- BOOST_CHECK( !fs::is_directory( file_ph ) );
- BOOST_CHECK( fs::is_regular( file_ph ) );
- std::system("ln -s link_target non_dangling_link");
- link = "non_dangling_link";
- BOOST_CHECK( fs::exists( link ) );
- BOOST_CHECK( !fs::is_directory( link ) );
- BOOST_CHECK( fs::is_regular( link ) );
- BOOST_CHECK( fs::is_symlink( link ) );
- BOOST_CHECK( fs::remove( link ) );
- BOOST_CHECK( fs::exists( file_ph ) );
- BOOST_CHECK( !fs::exists( link ) );
- BOOST_CHECK( !fs::is_symlink( link ) );
- BOOST_CHECK( fs::remove( file_ph ) );
- BOOST_CHECK( !fs::exists( file_ph ) );
-# endif
+ if ( create_symlink_ok ) // only if symlinks supported
+ {
+ // remove() dangling symbolic link
+ fs::path link( "dangling_link" );
+ fs::remove( link );
+ BOOST_CHECK( !fs::is_symlink( link ) );
+ BOOST_CHECK( !fs::exists( link ) );
+ fs::create_symlink( "nowhere", link );
+ BOOST_CHECK( !fs::exists( link ) );
+ BOOST_CHECK( fs::is_symlink( link ) );
+ fs::remove( link );
+ BOOST_CHECK( !fs::is_symlink( link ) );
+
+ // remove() self-refering symbolic link
+ link = "link_to_self";
+ fs::remove( link );
+ BOOST_CHECK( !fs::is_symlink( link ) );
+ BOOST_CHECK( !fs::exists( link ) );
+ fs::create_symlink( link, link );
+ fs::remove( link );
+ BOOST_CHECK( !fs::exists( link ) );
+ BOOST_CHECK( !fs::is_symlink( link ) );
+
+ // remove() cyclic symbolic link
+ link = "link_to_a";
+ fs::path link2( "link_to_b" );
+ fs::remove( link );
+ fs::remove( link2 );
+ BOOST_CHECK( !fs::is_symlink( link ) );
+ BOOST_CHECK( !fs::exists( link ) );
+ fs::create_symlink( link, link2 );
+ fs::create_symlink( link2, link );
+ fs::remove( link );
+ fs::remove( link2 );
+ BOOST_CHECK( !fs::exists( link ) );
+ BOOST_CHECK( !fs::exists( link2 ) );
+ BOOST_CHECK( !fs::is_symlink( link ) );
+
+ // remove() symbolic link to file
+ file_ph = "link_target";
+ fs::remove( file_ph );
+ BOOST_CHECK( !fs::exists( file_ph ) );
+ create_file( file_ph, "" );
+ BOOST_CHECK( fs::exists( file_ph ) );
+ BOOST_CHECK( !fs::is_directory( file_ph ) );
+ BOOST_CHECK( fs::is_regular_file( file_ph ) );
+ link = "non_dangling_link";
+ fs::create_symlink( file_ph, link );
+ BOOST_CHECK( fs::exists( link ) );
+ BOOST_CHECK( !fs::is_directory( link ) );
+ BOOST_CHECK( fs::is_regular_file( link ) );
+ BOOST_CHECK( fs::is_symlink( link ) );
+ fs::remove( link );
+ BOOST_CHECK( fs::exists( file_ph ) );
+ BOOST_CHECK( !fs::exists( link ) );
+ BOOST_CHECK( !fs::is_symlink( link ) );
+ fs::remove( file_ph );
+ BOOST_CHECK( !fs::exists( file_ph ) );
+ }
// write time tests
@@ -839,7 +859,7 @@
create_file( file_ph, "foobar2" );
BOOST_CHECK( fs::exists( file_ph ) );
BOOST_CHECK( !fs::is_directory( file_ph ) );
- BOOST_CHECK( fs::is_regular( file_ph ) );
+ BOOST_CHECK( fs::is_regular_file( file_ph ) );
BOOST_CHECK( fs::file_size( file_ph ) == 7 );
verify_file( file_ph, "foobar2" );
Modified: branches/CMake/release/libs/filesystem/test/path_test.cpp
==============================================================================
--- branches/CMake/release/libs/filesystem/test/path_test.cpp (original)
+++ branches/CMake/release/libs/filesystem/test/path_test.cpp 2008-07-17 16:23:46 EDT (Thu, 17 Jul 2008)
@@ -1,12 +1,18 @@
// path_test program -------------------------------------------------------//
-// Copyright Beman Dawes 2002.
+// Copyright Beman Dawes 2002
+// Copyright Vladimir Prus 2002
+
// Use, modification, and distribution is subject to the Boost Software
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
// See library home page at http://www.boost.org/libs/filesystem
+// basic_path's stem(), extension(), and replace_extension() tests are based
+// on basename(), extension(), and change_extension() tests from the original
+// convenience_test.cpp by Vladimir Prus.
+
#include <boost/filesystem/operations.hpp>
#include <boost/utility.hpp>
#include <iostream>
@@ -248,6 +254,18 @@
path p5;
std::string s1( "//:somestring" );
+ // verify deprecated names still available
+
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
+
+ p1.branch_path();
+ p1.leaf();
+ path p_remove_leaf;
+ p_remove_leaf.remove_leaf();
+
+# endif
+
+
# ifndef BOOST_NO_MEMBER_TEMPLATES
// check the path member templates
@@ -290,10 +308,10 @@
BOOST_CHECK( p1 != p4 );
BOOST_CHECK( p1.string() == p2.string() );
BOOST_CHECK( p1.string() == p3.string() );
- BOOST_CHECK( path( "foo" ).leaf() == "foo" );
- BOOST_CHECK( path( "foo" ).branch_path().string() == "" );
- BOOST_CHECK( p1.leaf() == "fum" );
- BOOST_CHECK( p1.branch_path().string() == "fe/fi/fo" );
+ BOOST_CHECK( path( "foo" ).filename() == "foo" );
+ BOOST_CHECK( path( "foo" ).parent_path().string() == "" );
+ BOOST_CHECK( p1.filename() == "fum" );
+ BOOST_CHECK( p1.parent_path().string() == "fe/fi/fo" );
BOOST_CHECK( path( "" ).empty() == true );
BOOST_CHECK( path( "foo" ).empty() == false );
@@ -336,7 +354,7 @@
PATH_CHECK( "foo/bar", "foo/bar" );
PATH_CHECK( path("foo") / path("bar"), "foo/bar" ); // path arg
PATH_CHECK( path("foo") / "bar", "foo/bar" ); // const char * arg
- PATH_CHECK( path("foo") / path("woo/bar").leaf(), "foo/bar" ); // const std::string & arg
+ PATH_CHECK( path("foo") / path("woo/bar").filename(), "foo/bar" ); // const std::string & arg
PATH_CHECK( "foo" / path("bar"), "foo/bar" );
PATH_CHECK( "a/b", "a/b" ); // probe for length effects
@@ -616,8 +634,8 @@
p = "";
BOOST_CHECK( p.relative_path().string() == "" );
- BOOST_CHECK( p.branch_path().string() == "" );
- BOOST_CHECK( p.leaf() == "" );
+ BOOST_CHECK( p.parent_path().string() == "" );
+ BOOST_CHECK( p.filename() == "" );
BOOST_CHECK( p.root_name() == "" );
BOOST_CHECK( p.root_directory() == "" );
BOOST_CHECK( p.root_path().string() == "" );
@@ -625,14 +643,14 @@
BOOST_CHECK( !p.has_root_name() );
BOOST_CHECK( !p.has_root_directory() );
BOOST_CHECK( !p.has_relative_path() );
- BOOST_CHECK( !p.has_leaf() );
- BOOST_CHECK( !p.has_branch_path() );
+ BOOST_CHECK( !p.has_filename() );
+ BOOST_CHECK( !p.has_parent_path() );
BOOST_CHECK( !p.is_complete() );
p = "/";
BOOST_CHECK( p.relative_path().string() == "" );
- BOOST_CHECK( p.branch_path().string() == "" );
- BOOST_CHECK( p.leaf() == "/" );
+ BOOST_CHECK( p.parent_path().string() == "" );
+ BOOST_CHECK( p.filename() == "/" );
BOOST_CHECK( p.root_name() == "" );
BOOST_CHECK( p.root_directory() == "/" );
BOOST_CHECK( p.root_path().string() == "/" );
@@ -640,8 +658,8 @@
BOOST_CHECK( !p.has_root_name() );
BOOST_CHECK( p.has_root_directory() );
BOOST_CHECK( !p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( !p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( !p.has_parent_path() );
if ( platform == "POSIX" )
BOOST_CHECK( p.is_complete() );
else
@@ -649,8 +667,8 @@
p = "//";
CHECK_EQUAL( p.relative_path().string(), "" );
- CHECK_EQUAL( p.branch_path().string(), "" );
- CHECK_EQUAL( p.leaf(), "//" );
+ CHECK_EQUAL( p.parent_path().string(), "" );
+ CHECK_EQUAL( p.filename(), "//" );
CHECK_EQUAL( p.root_name(), "//" );
CHECK_EQUAL( p.root_directory(), "" );
CHECK_EQUAL( p.root_path().string(), "//" );
@@ -658,15 +676,15 @@
BOOST_CHECK( p.has_root_name() );
BOOST_CHECK( !p.has_root_directory() );
BOOST_CHECK( !p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( !p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( !p.has_parent_path() );
BOOST_CHECK( !p.is_complete() );
p = "///";
CHECK_EQUAL( p.relative_path().string(), "" );
- CHECK_EQUAL( p.branch_path().string(), "" );
- CHECK_EQUAL( p.leaf(), "/" );
+ CHECK_EQUAL( p.parent_path().string(), "" );
+ CHECK_EQUAL( p.filename(), "/" );
CHECK_EQUAL( p.root_name(), "" );
CHECK_EQUAL( p.root_directory(), "/" );
CHECK_EQUAL( p.root_path().string(), "/" );
@@ -674,8 +692,8 @@
BOOST_CHECK( !p.has_root_name() );
BOOST_CHECK( p.has_root_directory() );
BOOST_CHECK( !p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( !p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( !p.has_parent_path() );
if ( platform == "POSIX" )
BOOST_CHECK( p.is_complete() );
else
@@ -683,8 +701,8 @@
p = ".";
BOOST_CHECK( p.relative_path().string() == "." );
- BOOST_CHECK( p.branch_path().string() == "" );
- BOOST_CHECK( p.leaf() == "." );
+ BOOST_CHECK( p.parent_path().string() == "" );
+ BOOST_CHECK( p.filename() == "." );
BOOST_CHECK( p.root_name() == "" );
BOOST_CHECK( p.root_directory() == "" );
BOOST_CHECK( p.root_path().string() == "" );
@@ -692,14 +710,14 @@
BOOST_CHECK( !p.has_root_name() );
BOOST_CHECK( !p.has_root_directory() );
BOOST_CHECK( p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( !p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( !p.has_parent_path() );
BOOST_CHECK( !p.is_complete() );
p = "..";
BOOST_CHECK( p.relative_path().string() == ".." );
- BOOST_CHECK( p.branch_path().string() == "" );
- BOOST_CHECK( p.leaf() == ".." );
+ BOOST_CHECK( p.parent_path().string() == "" );
+ BOOST_CHECK( p.filename() == ".." );
BOOST_CHECK( p.root_name() == "" );
BOOST_CHECK( p.root_directory() == "" );
BOOST_CHECK( p.root_path().string() == "" );
@@ -707,14 +725,14 @@
BOOST_CHECK( !p.has_root_name() );
BOOST_CHECK( !p.has_root_directory() );
BOOST_CHECK( p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( !p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( !p.has_parent_path() );
BOOST_CHECK( !p.is_complete() );
p = "foo";
BOOST_CHECK( p.relative_path().string() == "foo" );
- BOOST_CHECK( p.branch_path().string() == "" );
- BOOST_CHECK( p.leaf() == "foo" );
+ BOOST_CHECK( p.parent_path().string() == "" );
+ BOOST_CHECK( p.filename() == "foo" );
BOOST_CHECK( p.root_name() == "" );
BOOST_CHECK( p.root_directory() == "" );
BOOST_CHECK( p.root_path().string() == "" );
@@ -722,14 +740,14 @@
BOOST_CHECK( !p.has_root_name() );
BOOST_CHECK( !p.has_root_directory() );
BOOST_CHECK( p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( !p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( !p.has_parent_path() );
BOOST_CHECK( !p.is_complete() );
p = "/foo";
CHECK_EQUAL( p.relative_path().string(), "foo" );
- CHECK_EQUAL( p.branch_path().string(), "/" );
- CHECK_EQUAL( p.leaf(), "foo" );
+ CHECK_EQUAL( p.parent_path().string(), "/" );
+ CHECK_EQUAL( p.filename(), "foo" );
CHECK_EQUAL( p.root_name(), "" );
CHECK_EQUAL( p.root_directory(), "/" );
CHECK_EQUAL( p.root_path().string(), "/" );
@@ -737,8 +755,8 @@
BOOST_CHECK( !p.has_root_name() );
BOOST_CHECK( p.has_root_directory() );
BOOST_CHECK( p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( p.has_parent_path() );
if ( platform == "POSIX" )
BOOST_CHECK( p.is_complete() );
else
@@ -746,8 +764,8 @@
p = "/foo/";
CHECK_EQUAL( p.relative_path().string(), "foo/" );
- CHECK_EQUAL( p.branch_path().string(), "/foo" );
- CHECK_EQUAL( p.leaf(), "." );
+ CHECK_EQUAL( p.parent_path().string(), "/foo" );
+ CHECK_EQUAL( p.filename(), "." );
CHECK_EQUAL( p.root_name(), "" );
CHECK_EQUAL( p.root_directory(), "/" );
CHECK_EQUAL( p.root_path().string(), "/" );
@@ -755,8 +773,8 @@
BOOST_CHECK( !p.has_root_name() );
BOOST_CHECK( p.has_root_directory() );
BOOST_CHECK( p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( p.has_parent_path() );
if ( platform == "POSIX" )
BOOST_CHECK( p.is_complete() );
else
@@ -764,8 +782,8 @@
p = "///foo";
CHECK_EQUAL( p.relative_path().string(), "foo" );
- CHECK_EQUAL( p.branch_path().string(), "/" );
- CHECK_EQUAL( p.leaf(), "foo" );
+ CHECK_EQUAL( p.parent_path().string(), "/" );
+ CHECK_EQUAL( p.filename(), "foo" );
CHECK_EQUAL( p.root_name(), "" );
CHECK_EQUAL( p.root_directory(), "/" );
CHECK_EQUAL( p.root_path().string(), "/" );
@@ -773,8 +791,8 @@
BOOST_CHECK( !p.has_root_name() );
BOOST_CHECK( p.has_root_directory() );
BOOST_CHECK( p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( p.has_parent_path() );
if ( platform == "POSIX" )
BOOST_CHECK( p.is_complete() );
else
@@ -782,8 +800,8 @@
p = "foo/bar";
BOOST_CHECK( p.relative_path().string() == "foo/bar" );
- BOOST_CHECK( p.branch_path().string() == "foo" );
- BOOST_CHECK( p.leaf() == "bar" );
+ BOOST_CHECK( p.parent_path().string() == "foo" );
+ BOOST_CHECK( p.filename() == "bar" );
BOOST_CHECK( p.root_name() == "" );
BOOST_CHECK( p.root_directory() == "" );
BOOST_CHECK( p.root_path().string() == "" );
@@ -791,14 +809,14 @@
BOOST_CHECK( !p.has_root_name() );
BOOST_CHECK( !p.has_root_directory() );
BOOST_CHECK( p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( p.has_parent_path() );
BOOST_CHECK( !p.is_complete() );
p = "../foo";
BOOST_CHECK( p.relative_path().string() == "../foo" );
- BOOST_CHECK( p.branch_path().string() == ".." );
- BOOST_CHECK( p.leaf() == "foo" );
+ BOOST_CHECK( p.parent_path().string() == ".." );
+ BOOST_CHECK( p.filename() == "foo" );
BOOST_CHECK( p.root_name() == "" );
BOOST_CHECK( p.root_directory() == "" );
BOOST_CHECK( p.root_path().string() == "" );
@@ -806,14 +824,14 @@
BOOST_CHECK( !p.has_root_name() );
BOOST_CHECK( !p.has_root_directory() );
BOOST_CHECK( p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( p.has_parent_path() );
BOOST_CHECK( !p.is_complete() );
p = "..///foo";
CHECK_EQUAL( p.relative_path().string(), "..///foo" );
- CHECK_EQUAL( p.branch_path().string(), ".." );
- CHECK_EQUAL( p.leaf(), "foo" );
+ CHECK_EQUAL( p.parent_path().string(), ".." );
+ CHECK_EQUAL( p.filename(), "foo" );
CHECK_EQUAL( p.root_name(), "" );
CHECK_EQUAL( p.root_directory(), "" );
CHECK_EQUAL( p.root_path().string(), "" );
@@ -821,14 +839,14 @@
BOOST_CHECK( !p.has_root_name() );
BOOST_CHECK( !p.has_root_directory() );
BOOST_CHECK( p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( p.has_parent_path() );
BOOST_CHECK( !p.is_complete() );
p = "/foo/bar";
BOOST_CHECK( p.relative_path().string() == "foo/bar" );
- BOOST_CHECK( p.branch_path().string() == "/foo" );
- BOOST_CHECK( p.leaf() == "bar" );
+ BOOST_CHECK( p.parent_path().string() == "/foo" );
+ BOOST_CHECK( p.filename() == "bar" );
BOOST_CHECK( p.root_name() == "" );
BOOST_CHECK( p.root_directory() == "/" );
BOOST_CHECK( p.root_path().string() == "/" );
@@ -836,8 +854,8 @@
BOOST_CHECK( !p.has_root_name() );
BOOST_CHECK( p.has_root_directory() );
BOOST_CHECK( p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( p.has_parent_path() );
if ( platform == "POSIX" )
BOOST_CHECK( p.is_complete() );
else
@@ -852,8 +870,8 @@
p = path( "//net" );
CHECK_EQUAL( p.string(), "//net" );
CHECK_EQUAL( p.relative_path().string(), "" );
- CHECK_EQUAL( p.branch_path().string(), "" );
- CHECK_EQUAL( p.leaf(), "//net" );
+ CHECK_EQUAL( p.parent_path().string(), "" );
+ CHECK_EQUAL( p.filename(), "//net" );
CHECK_EQUAL( p.root_name(), "//net" );
CHECK_EQUAL( p.root_directory(), "" );
CHECK_EQUAL( p.root_path().string(), "//net" );
@@ -861,14 +879,14 @@
BOOST_CHECK( p.has_root_name() );
BOOST_CHECK( !p.has_root_directory() );
BOOST_CHECK( !p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( !p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( !p.has_parent_path() );
BOOST_CHECK( !p.is_complete() );
p = path( "//net/" );
BOOST_CHECK( p.relative_path().string() == "" );
- BOOST_CHECK( p.branch_path().string() == "//net" );
- BOOST_CHECK( p.leaf() == "/" );
+ BOOST_CHECK( p.parent_path().string() == "//net" );
+ BOOST_CHECK( p.filename() == "/" );
BOOST_CHECK( p.root_name() == "//net" );
BOOST_CHECK( p.root_directory() == "/" );
BOOST_CHECK( p.root_path().string() == "//net/" );
@@ -876,14 +894,14 @@
BOOST_CHECK( p.has_root_name() );
BOOST_CHECK( p.has_root_directory() );
BOOST_CHECK( !p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( p.has_parent_path() );
BOOST_CHECK( p.is_complete() );
p = path( "//net/foo" );
BOOST_CHECK( p.relative_path().string() == "foo" );
- BOOST_CHECK( p.branch_path().string() == "//net/" );
- BOOST_CHECK( p.leaf() == "foo" );
+ BOOST_CHECK( p.parent_path().string() == "//net/" );
+ BOOST_CHECK( p.filename() == "foo" );
BOOST_CHECK( p.root_name() == "//net" );
BOOST_CHECK( p.root_directory() == "/" );
BOOST_CHECK( p.root_path().string() == "//net/" );
@@ -891,14 +909,14 @@
BOOST_CHECK( p.has_root_name() );
BOOST_CHECK( p.has_root_directory() );
BOOST_CHECK( p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( p.has_parent_path() );
BOOST_CHECK( p.is_complete() );
p = path( "//net///foo" );
CHECK_EQUAL( p.relative_path().string(), "foo" );
- CHECK_EQUAL( p.branch_path().string(), "//net/" );
- CHECK_EQUAL( p.leaf(), "foo" );
+ CHECK_EQUAL( p.parent_path().string(), "//net/" );
+ CHECK_EQUAL( p.filename(), "foo" );
CHECK_EQUAL( p.root_name(), "//net" );
CHECK_EQUAL( p.root_directory(), "/" );
CHECK_EQUAL( p.root_path().string(), "//net/" );
@@ -906,8 +924,8 @@
BOOST_CHECK( p.has_root_name() );
BOOST_CHECK( p.has_root_directory() );
BOOST_CHECK( p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( p.has_parent_path() );
BOOST_CHECK( p.is_complete() );
if ( platform == "Windows" )
@@ -959,8 +977,8 @@
p = path( "c:" );
BOOST_CHECK( p.relative_path().string() == "" );
- BOOST_CHECK( p.branch_path().string() == "" );
- BOOST_CHECK( p.leaf() == "c:" );
+ BOOST_CHECK( p.parent_path().string() == "" );
+ BOOST_CHECK( p.filename() == "c:" );
BOOST_CHECK( p.root_name() == "c:" );
BOOST_CHECK( p.root_directory() == "" );
BOOST_CHECK( p.root_path().string() == "c:" );
@@ -968,14 +986,14 @@
BOOST_CHECK( p.has_root_name() );
BOOST_CHECK( !p.has_root_directory() );
BOOST_CHECK( !p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( !p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( !p.has_parent_path() );
BOOST_CHECK( !p.is_complete() );
p = path( "c:foo" );
BOOST_CHECK( p.relative_path().string() == "foo" );
- BOOST_CHECK( p.branch_path().string() == "c:" );
- BOOST_CHECK( p.leaf() == "foo" );
+ BOOST_CHECK( p.parent_path().string() == "c:" );
+ BOOST_CHECK( p.filename() == "foo" );
BOOST_CHECK( p.root_name() == "c:" );
BOOST_CHECK( p.root_directory() == "" );
BOOST_CHECK( p.root_path().string() == "c:" );
@@ -983,14 +1001,14 @@
BOOST_CHECK( p.has_root_name() );
BOOST_CHECK( !p.has_root_directory() );
BOOST_CHECK( p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( p.has_parent_path() );
BOOST_CHECK( !p.is_complete() );
p = path( "c:/" );
BOOST_CHECK( p.relative_path().string() == "" );
- BOOST_CHECK( p.branch_path().string() == "c:" );
- BOOST_CHECK( p.leaf() == "/" );
+ BOOST_CHECK( p.parent_path().string() == "c:" );
+ BOOST_CHECK( p.filename() == "/" );
BOOST_CHECK( p.root_name() == "c:" );
BOOST_CHECK( p.root_directory() == "/" );
BOOST_CHECK( p.root_path().string() == "c:/" );
@@ -998,14 +1016,14 @@
BOOST_CHECK( p.has_root_name() );
BOOST_CHECK( p.has_root_directory() );
BOOST_CHECK( !p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( p.has_parent_path() );
BOOST_CHECK( p.is_complete() );
p = path( "c:.." );
BOOST_CHECK( p.relative_path().string() == ".." );
- BOOST_CHECK( p.branch_path().string() == "c:" );
- BOOST_CHECK( p.leaf() == ".." );
+ BOOST_CHECK( p.parent_path().string() == "c:" );
+ BOOST_CHECK( p.filename() == ".." );
BOOST_CHECK( p.root_name() == "c:" );
BOOST_CHECK( p.root_directory() == "" );
BOOST_CHECK( p.root_path().string() == "c:" );
@@ -1013,14 +1031,14 @@
BOOST_CHECK( p.has_root_name() );
BOOST_CHECK( !p.has_root_directory() );
BOOST_CHECK( p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( p.has_parent_path() );
BOOST_CHECK( !p.is_complete() );
p = path( "c:/foo" );
CHECK_EQUAL( p.relative_path().string(), "foo" );
- CHECK_EQUAL( p.branch_path().string(), "c:/" );
- CHECK_EQUAL( p.leaf(), "foo" );
+ CHECK_EQUAL( p.parent_path().string(), "c:/" );
+ CHECK_EQUAL( p.filename(), "foo" );
CHECK_EQUAL( p.root_name(), "c:" );
CHECK_EQUAL( p.root_directory(), "/" );
CHECK_EQUAL( p.root_path().string(), "c:/" );
@@ -1028,14 +1046,14 @@
BOOST_CHECK( p.has_root_name() );
BOOST_CHECK( p.has_root_directory() );
BOOST_CHECK( p.has_relative_path() );
- BOOST_CHECK( p.has_leaf() );
- BOOST_CHECK( p.has_branch_path() );
+ BOOST_CHECK( p.has_filename() );
+ BOOST_CHECK( p.has_parent_path() );
BOOST_CHECK( p.is_complete() );
p = path( "c://foo" );
CHECK_EQUAL( p.relative_path().string(), "foo" );
- CHECK_EQUAL( p.branch_path().string(), "c:/" );
- CHECK_EQUAL( p.leaf(), "foo" );
+ CHEC