Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r49607 - in branches/proto/v4: . boost boost/asio boost/asio/detail boost/asio/impl boost/config boost/config/compiler boost/date_time boost/date_time/gregorian boost/date_time/local_time boost/date_time/posix_time boost/dynamic_bitset boost/filesystem boost/function boost/functional/hash boost/graph boost/numeric/ublas boost/pool/detail boost/ptr_container boost/spirit/home/support boost/spirit/home/support/char_class boost/tr1/tr1 doc doc/src libs libs/accumulators libs/accumulators/doc libs/accumulators/example libs/accumulators/test libs/algorithm libs/algorithm/minmax/test libs/algorithm/string/test libs/any libs/any/test libs/array libs/array/test libs/asio libs/asio/doc libs/asio/doc/overview libs/asio/example/chat libs/asio/test libs/assign libs/assign/test libs/bimap libs/bimap/test libs/bind libs/bind/test libs/circular_buffer libs/circular_buffer/doc libs/circular_buffer/test libs/compatibility libs/concept libs/concept_check libs/concept_check/test libs/config libs/config/doc libs/config/doc/html libs/config/doc/html/boost_config libs/config/test libs/config/test/link libs/config/tools libs/conversion libs/conversion/test libs/crc libs/crc/test libs/date_time libs/date_time/data libs/date_time/src libs/date_time/test libs/date_time/test/local_time libs/date_time/test/posix_time libs/date_time/xmldoc libs/detail libs/disjoint_sets libs/disjoint_sets/test libs/dynamic_bitset libs/dynamic_bitset/test libs/exception libs/exception/doc/source libs/exception/test libs/filesystem libs/filesystem/doc libs/filesystem/src libs/filesystem/test libs/foreach libs/foreach/test libs/format libs/format/test libs/function libs/function/doc libs/function/test libs/function_types libs/function_types/test libs/functional libs/functional/hash/doc libs/functional/hash/examples libs/functional/hash/test libs/functional/test libs/fusion libs/fusion/test/compile_time libs/gil libs/gil/doc libs/gil/test libs/graph libs/graph/doc libs/graph/src libs/graph/test libs/integer libs/integer/test libs/interprocess libs/interprocess/proj/vc7ide libs/interprocess/test libs/intrusive libs/intrusive/proj/vc7ide libs/intrusive/proj/vc7ide/_intrusivelib libs/intrusive/proj/vc7ide/custom_bucket_traits libs/intrusive/proj/vc7ide/default_hook libs/intrusive/proj/vc7ide/external_value_traits libs/intrusive/proj/vc7ide/list libs/intrusive/proj/vc7ide/make_functions libs/intrusive/proj/vc7ide/multiset libs/intrusive/proj/vc7ide/perf_test libs/intrusive/proj/vc7ide/set libs/intrusive/proj/vc7ide/slist libs/intrusive/proj/vc7ide/stateful_value_traits libs/intrusive/proj/vc7ide/unordered_multiset libs/intrusive/proj/vc7ide/unordered_set libs/intrusive/proj/vc7ide/virtual_base libs/io libs/io/test libs/iostreams libs/iostreams/doc/classes libs/iostreams/src libs/iostreams/test libs/iterator libs/iterator/test libs/lambda libs/lambda/test libs/logic libs/logic/test libs/math libs/math/doc/sf_and_dist/equations libs/math/doc/sf_and_dist/graphs libs/math/test libs/math/test/compile_test libs/mpi libs/mpi/doc libs/mpi/src libs/mpi/test libs/mpi/test/python libs/mpl libs/mpl/preprocessed libs/mpl/test libs/multi_array libs/multi_array/test libs/multi_index libs/multi_index/test libs/numeric libs/numeric/conversion/test libs/numeric/interval/test libs/numeric/ublas/test libs/optional libs/optional/test libs/parameter libs/parameter/test libs/pool libs/pool/test libs/preprocessor libs/preprocessor/test libs/program_options libs/program_options/src libs/program_options/test libs/property_map libs/property_map/test libs/property_tree libs/property_tree/test/custom-build libs/proto libs/proto/doc libs/proto/doc/concepts libs/proto/doc/reference libs/proto/doc/reference/concepts libs/proto/doc/reference/context libs/proto/doc/reference/transform libs/ptr_container libs/ptr_container/doc libs/ptr_container/test libs/python libs/python/src libs/python/test libs/random libs/random/test libs/range libs/range/doc libs/range/test libs/rational libs/rational/test libs/regex libs/regex/build libs/regex/doc libs/regex/doc/html libs/regex/doc/html/boost_regex libs/regex/doc/html/boost_regex/background_information libs/regex/doc/html/boost_regex/format libs/regex/doc/html/boost_regex/ref libs/regex/doc/html/boost_regex/ref/concepts libs/regex/doc/html/boost_regex/ref/deprecated_interfaces libs/regex/doc/html/boost_regex/ref/non_std_strings/icu libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings libs/regex/doc/html/boost_regex/syntax libs/regex/src libs/regex/test libs/serialization libs/serialization/performance libs/serialization/src libs/serialization/test libs/signals libs/signals/src libs/signals/test libs/smart_ptr libs/smart_ptr/test libs/spirit libs/spirit/classic/phoenix/test libs/spirit/test libs/spirit/test/qi libs/statechart libs/statechart/example libs/statechart/example/BitMachine libs/statechart/example/Camera libs/statechart/example/Handcrafted libs/statechart/example/Keyboard libs/statechart/example/Performance libs/statechart/example/PingPong libs/statechart/example/StopWatch libs/statechart/test libs/static_assert libs/static_assert/test libs/system libs/system/src libs/test libs/test/doc/img libs/test/doc/js libs/test/doc/src/examples libs/test/docbook/img libs/test/src libs/test/test libs/thread libs/thread/src libs/thread/test libs/timer libs/timer/test libs/tokenizer libs/tokenizer/test libs/tr1 libs/tr1/test libs/tuple libs/tuple/test libs/type_traits libs/type_traits/test libs/typeof libs/typeof/test libs/units libs/units/doc libs/units/images libs/units/test libs/unordered libs/utility libs/utility/test libs/variant libs/variant/test libs/wave libs/wave/src libs/wave/test libs/xpressive libs/xpressive/proto/doc libs/xpressive/test more/getting_started more/getting_started/detail status tools tools/bcp tools/boostbook/xsl tools/build/CMake tools/build/CMake/LinkTest tools/build/CMake/sanity tools/build/CMake/sanity/one_clean_one_warn tools/build/CMake/sanity/one_clean_one_warn/src tools/build/CMake/sanity/one_clean_one_warn/test tools/build/CMake/sanity/wont_link tools/build/CMake/sanity/wont_link/src tools/build/CMake/sanity/wont_link/test tools/build/v2 tools/build/v2/build tools/build/v2/doc tools/build/v2/doc/src tools/build/v2/example/make tools/build/v2/example/python_modules tools/build/v2/test tools/build/v2/test/qt4 tools/build/v2/tools tools/inspect tools/jam tools/jam/src tools/jam/src/boehm_gc tools/jam/src/boehm_gc/doc tools/jam/test tools/quickbook tools/quickbook/extra/katepart tools/regression/src tools/regression/xsl_reports tools/release tools/wave
From: eric_at_[hidden]
Date: 2008-11-05 19:16:07


Author: eric_niebler
Date: 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
New Revision: 49607
URL: http://svn.boost.org/trac/boost/changeset/49607

Log:
merged from trunk
Added:
   branches/proto/v4/CMakeLists.txt
      - copied unchanged from r49606, /trunk/CMakeLists.txt
   branches/proto/v4/README.txt
      - copied unchanged from r49606, /trunk/README.txt
   branches/proto/v4/Welcome.txt
      - copied unchanged from r49606, /trunk/Welcome.txt
   branches/proto/v4/boost/graph/metric_tsp_approx.hpp
      - copied unchanged from r49606, /trunk/boost/graph/metric_tsp_approx.hpp
   branches/proto/v4/doc/CMakeLists.txt
      - copied unchanged from r49606, /trunk/doc/CMakeLists.txt
   branches/proto/v4/doc/src/CMakeLists.txt
      - copied unchanged from r49606, /trunk/doc/src/CMakeLists.txt
   branches/proto/v4/libs/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/CMakeLists.txt
   branches/proto/v4/libs/accumulators/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/accumulators/CMakeLists.txt
   branches/proto/v4/libs/accumulators/doc/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/accumulators/doc/CMakeLists.txt
   branches/proto/v4/libs/accumulators/example/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/accumulators/example/CMakeLists.txt
   branches/proto/v4/libs/accumulators/module.cmake
      - copied unchanged from r49606, /trunk/libs/accumulators/module.cmake
   branches/proto/v4/libs/accumulators/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/accumulators/test/CMakeLists.txt
   branches/proto/v4/libs/algorithm/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/algorithm/CMakeLists.txt
   branches/proto/v4/libs/algorithm/minmax/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/algorithm/minmax/test/CMakeLists.txt
   branches/proto/v4/libs/algorithm/module.cmake
      - copied unchanged from r49606, /trunk/libs/algorithm/module.cmake
   branches/proto/v4/libs/algorithm/string/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/algorithm/string/test/CMakeLists.txt
   branches/proto/v4/libs/any/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/any/CMakeLists.txt
   branches/proto/v4/libs/any/module.cmake
      - copied unchanged from r49606, /trunk/libs/any/module.cmake
   branches/proto/v4/libs/any/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/any/test/CMakeLists.txt
   branches/proto/v4/libs/array/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/array/CMakeLists.txt
   branches/proto/v4/libs/array/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/array/test/CMakeLists.txt
   branches/proto/v4/libs/asio/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/asio/CMakeLists.txt
   branches/proto/v4/libs/asio/example/chat/posix_chat_client.cpp
      - copied unchanged from r49606, /trunk/libs/asio/example/chat/posix_chat_client.cpp
   branches/proto/v4/libs/assign/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/assign/CMakeLists.txt
   branches/proto/v4/libs/assign/module.cmake
      - copied unchanged from r49606, /trunk/libs/assign/module.cmake
   branches/proto/v4/libs/assign/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/assign/test/CMakeLists.txt
   branches/proto/v4/libs/bimap/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/bimap/CMakeLists.txt
   branches/proto/v4/libs/bimap/module.cmake
      - copied unchanged from r49606, /trunk/libs/bimap/module.cmake
   branches/proto/v4/libs/bimap/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/bimap/test/CMakeLists.txt
   branches/proto/v4/libs/bind/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/bind/CMakeLists.txt
   branches/proto/v4/libs/bind/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/bind/test/CMakeLists.txt
   branches/proto/v4/libs/circular_buffer/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/circular_buffer/CMakeLists.txt
   branches/proto/v4/libs/circular_buffer/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/circular_buffer/test/CMakeLists.txt
   branches/proto/v4/libs/compatibility/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/compatibility/CMakeLists.txt
   branches/proto/v4/libs/concept/
      - copied from r49606, /trunk/libs/concept/
   branches/proto/v4/libs/concept/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/concept/CMakeLists.txt
   branches/proto/v4/libs/concept/module.cmake
      - copied unchanged from r49606, /trunk/libs/concept/module.cmake
   branches/proto/v4/libs/concept_check/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/concept_check/CMakeLists.txt
   branches/proto/v4/libs/concept_check/module.cmake
      - copied unchanged from r49606, /trunk/libs/concept_check/module.cmake
   branches/proto/v4/libs/concept_check/test/
      - copied from r49606, /trunk/libs/concept_check/test/
   branches/proto/v4/libs/concept_check/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/concept_check/test/CMakeLists.txt
   branches/proto/v4/libs/config/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/config/CMakeLists.txt
   branches/proto/v4/libs/config/module.cmake
      - copied unchanged from r49606, /trunk/libs/config/module.cmake
   branches/proto/v4/libs/config/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/config/test/CMakeLists.txt
   branches/proto/v4/libs/conversion/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/conversion/CMakeLists.txt
   branches/proto/v4/libs/conversion/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/conversion/test/CMakeLists.txt
   branches/proto/v4/libs/crc/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/crc/CMakeLists.txt
   branches/proto/v4/libs/crc/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/crc/test/CMakeLists.txt
   branches/proto/v4/libs/date_time/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/date_time/CMakeLists.txt
   branches/proto/v4/libs/date_time/module.cmake
      - copied unchanged from r49606, /trunk/libs/date_time/module.cmake
   branches/proto/v4/libs/date_time/src/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/date_time/src/CMakeLists.txt
   branches/proto/v4/libs/date_time/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/date_time/test/CMakeLists.txt
   branches/proto/v4/libs/detail/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/detail/CMakeLists.txt
   branches/proto/v4/libs/detail/module.cmake
      - copied unchanged from r49606, /trunk/libs/detail/module.cmake
   branches/proto/v4/libs/disjoint_sets/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/disjoint_sets/CMakeLists.txt
   branches/proto/v4/libs/disjoint_sets/test/
      - copied from r49606, /trunk/libs/disjoint_sets/test/
   branches/proto/v4/libs/disjoint_sets/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/disjoint_sets/test/CMakeLists.txt
   branches/proto/v4/libs/dynamic_bitset/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/dynamic_bitset/CMakeLists.txt
   branches/proto/v4/libs/dynamic_bitset/test/
      - copied from r49606, /trunk/libs/dynamic_bitset/test/
   branches/proto/v4/libs/dynamic_bitset/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/dynamic_bitset/test/CMakeLists.txt
   branches/proto/v4/libs/exception/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/exception/CMakeLists.txt
   branches/proto/v4/libs/exception/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/exception/test/CMakeLists.txt
   branches/proto/v4/libs/filesystem/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/filesystem/CMakeLists.txt
   branches/proto/v4/libs/filesystem/module.cmake
      - copied unchanged from r49606, /trunk/libs/filesystem/module.cmake
   branches/proto/v4/libs/filesystem/src/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/filesystem/src/CMakeLists.txt
   branches/proto/v4/libs/filesystem/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/filesystem/test/CMakeLists.txt
   branches/proto/v4/libs/foreach/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/foreach/CMakeLists.txt
   branches/proto/v4/libs/foreach/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/foreach/test/CMakeLists.txt
   branches/proto/v4/libs/format/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/format/CMakeLists.txt
   branches/proto/v4/libs/format/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/format/test/CMakeLists.txt
   branches/proto/v4/libs/function/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/function/CMakeLists.txt
   branches/proto/v4/libs/function/doc/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/function/doc/CMakeLists.txt
   branches/proto/v4/libs/function/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/function/test/CMakeLists.txt
   branches/proto/v4/libs/function_types/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/function_types/CMakeLists.txt
   branches/proto/v4/libs/function_types/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/function_types/test/CMakeLists.txt
   branches/proto/v4/libs/functional/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/functional/CMakeLists.txt
   branches/proto/v4/libs/functional/hash/doc/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/functional/hash/doc/CMakeLists.txt
   branches/proto/v4/libs/functional/hash/examples/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/functional/hash/examples/CMakeLists.txt
   branches/proto/v4/libs/functional/hash/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/functional/hash/test/CMakeLists.txt
   branches/proto/v4/libs/functional/module.cmake
      - copied unchanged from r49606, /trunk/libs/functional/module.cmake
   branches/proto/v4/libs/functional/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/functional/test/CMakeLists.txt
   branches/proto/v4/libs/fusion/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/fusion/CMakeLists.txt
   branches/proto/v4/libs/fusion/test/compile_time/fold.cpp
      - copied unchanged from r49606, /trunk/libs/fusion/test/compile_time/fold.cpp
   branches/proto/v4/libs/fusion/test/compile_time/transform.cpp
      - copied unchanged from r49606, /trunk/libs/fusion/test/compile_time/transform.cpp
   branches/proto/v4/libs/gil/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/gil/CMakeLists.txt
   branches/proto/v4/libs/gil/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/gil/test/CMakeLists.txt
   branches/proto/v4/libs/graph/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/graph/CMakeLists.txt
   branches/proto/v4/libs/graph/doc/TSPTourVisitor.html
      - copied unchanged from r49606, /trunk/libs/graph/doc/TSPTourVisitor.html
   branches/proto/v4/libs/graph/doc/metric_tsp_approx.html
      - copied unchanged from r49606, /trunk/libs/graph/doc/metric_tsp_approx.html
   branches/proto/v4/libs/graph/doc/tsp_tour_len_visitor.html
      - copied unchanged from r49606, /trunk/libs/graph/doc/tsp_tour_len_visitor.html
   branches/proto/v4/libs/graph/doc/tsp_tour_visitor.html
      - copied unchanged from r49606, /trunk/libs/graph/doc/tsp_tour_visitor.html
   branches/proto/v4/libs/graph/module.cmake
      - copied unchanged from r49606, /trunk/libs/graph/module.cmake
   branches/proto/v4/libs/graph/src/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/graph/src/CMakeLists.txt
   branches/proto/v4/libs/graph/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/graph/test/CMakeLists.txt
   branches/proto/v4/libs/graph/test/dimacs.cpp
      - copied unchanged from r49606, /trunk/libs/graph/test/dimacs.cpp
   branches/proto/v4/libs/graph/test/metric_tsp_approx.cpp
      - copied unchanged from r49606, /trunk/libs/graph/test/metric_tsp_approx.cpp
   branches/proto/v4/libs/graph/test/metric_tsp_approx.txt
      - copied unchanged from r49606, /trunk/libs/graph/test/metric_tsp_approx.txt
   branches/proto/v4/libs/integer/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/integer/CMakeLists.txt
   branches/proto/v4/libs/integer/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/integer/test/CMakeLists.txt
   branches/proto/v4/libs/interprocess/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/interprocess/CMakeLists.txt
   branches/proto/v4/libs/interprocess/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/interprocess/test/CMakeLists.txt
   branches/proto/v4/libs/intrusive/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/intrusive/CMakeLists.txt
   branches/proto/v4/libs/io/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/io/CMakeLists.txt
   branches/proto/v4/libs/io/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/io/test/CMakeLists.txt
   branches/proto/v4/libs/iostreams/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/iostreams/CMakeLists.txt
   branches/proto/v4/libs/iostreams/module.cmake
      - copied unchanged from r49606, /trunk/libs/iostreams/module.cmake
   branches/proto/v4/libs/iostreams/src/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/iostreams/src/CMakeLists.txt
   branches/proto/v4/libs/iostreams/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/iostreams/test/CMakeLists.txt
   branches/proto/v4/libs/iterator/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/iterator/CMakeLists.txt
   branches/proto/v4/libs/iterator/module.cmake
      - copied unchanged from r49606, /trunk/libs/iterator/module.cmake
   branches/proto/v4/libs/iterator/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/iterator/test/CMakeLists.txt
   branches/proto/v4/libs/lambda/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/lambda/CMakeLists.txt
   branches/proto/v4/libs/lambda/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/lambda/test/CMakeLists.txt
   branches/proto/v4/libs/logic/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/logic/CMakeLists.txt
   branches/proto/v4/libs/logic/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/logic/test/CMakeLists.txt
   branches/proto/v4/libs/math/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/math/CMakeLists.txt
   branches/proto/v4/libs/math/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/math/test/CMakeLists.txt
   branches/proto/v4/libs/mpi/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/mpi/CMakeLists.txt
   branches/proto/v4/libs/mpi/doc/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/mpi/doc/CMakeLists.txt
   branches/proto/v4/libs/mpi/module.cmake
      - copied unchanged from r49606, /trunk/libs/mpi/module.cmake
   branches/proto/v4/libs/mpi/src/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/mpi/src/CMakeLists.txt
   branches/proto/v4/libs/mpi/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/mpi/test/CMakeLists.txt
   branches/proto/v4/libs/mpl/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/mpl/CMakeLists.txt
   branches/proto/v4/libs/mpl/module.cmake
      - copied unchanged from r49606, /trunk/libs/mpl/module.cmake
   branches/proto/v4/libs/mpl/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/mpl/test/CMakeLists.txt
   branches/proto/v4/libs/multi_array/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/multi_array/CMakeLists.txt
   branches/proto/v4/libs/multi_array/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/multi_array/test/CMakeLists.txt
   branches/proto/v4/libs/multi_index/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/multi_index/CMakeLists.txt
   branches/proto/v4/libs/multi_index/module.cmake
      - copied unchanged from r49606, /trunk/libs/multi_index/module.cmake
   branches/proto/v4/libs/multi_index/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/multi_index/test/CMakeLists.txt
   branches/proto/v4/libs/numeric/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/numeric/CMakeLists.txt
   branches/proto/v4/libs/numeric/conversion/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/numeric/conversion/test/CMakeLists.txt
   branches/proto/v4/libs/numeric/interval/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/numeric/interval/test/CMakeLists.txt
   branches/proto/v4/libs/numeric/ublas/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/numeric/ublas/test/CMakeLists.txt
   branches/proto/v4/libs/optional/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/optional/CMakeLists.txt
   branches/proto/v4/libs/optional/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/optional/test/CMakeLists.txt
   branches/proto/v4/libs/parameter/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/parameter/CMakeLists.txt
   branches/proto/v4/libs/parameter/module.cmake
      - copied unchanged from r49606, /trunk/libs/parameter/module.cmake
   branches/proto/v4/libs/parameter/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/parameter/test/CMakeLists.txt
   branches/proto/v4/libs/pool/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/pool/CMakeLists.txt
   branches/proto/v4/libs/pool/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/pool/test/CMakeLists.txt
   branches/proto/v4/libs/preprocessor/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/preprocessor/CMakeLists.txt
   branches/proto/v4/libs/preprocessor/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/preprocessor/test/CMakeLists.txt
   branches/proto/v4/libs/program_options/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/program_options/CMakeLists.txt
   branches/proto/v4/libs/program_options/module.cmake
      - copied unchanged from r49606, /trunk/libs/program_options/module.cmake
   branches/proto/v4/libs/program_options/src/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/program_options/src/CMakeLists.txt
   branches/proto/v4/libs/program_options/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/program_options/test/CMakeLists.txt
   branches/proto/v4/libs/property_map/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/property_map/CMakeLists.txt
   branches/proto/v4/libs/property_map/module.cmake
      - copied unchanged from r49606, /trunk/libs/property_map/module.cmake
   branches/proto/v4/libs/property_map/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/property_map/test/CMakeLists.txt
   branches/proto/v4/libs/property_tree/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/property_tree/CMakeLists.txt
   branches/proto/v4/libs/proto/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/proto/CMakeLists.txt
   branches/proto/v4/libs/proto/doc/reference/
      - copied from r49606, /trunk/libs/proto/doc/reference/
   branches/proto/v4/libs/proto/doc/reference.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference.xml
   branches/proto/v4/libs/proto/doc/reference/args.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/args.xml
   branches/proto/v4/libs/proto/doc/reference/concepts/
      - copied from r49606, /trunk/libs/proto/doc/reference/concepts/
   branches/proto/v4/libs/proto/doc/reference/concepts/CallableTransform.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/concepts/CallableTransform.xml
   branches/proto/v4/libs/proto/doc/reference/concepts/ObjectTransform.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/concepts/ObjectTransform.xml
   branches/proto/v4/libs/proto/doc/reference/concepts/PolymorphicFunctionObject.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/concepts/PolymorphicFunctionObject.xml
   branches/proto/v4/libs/proto/doc/reference/concepts/PrimitiveTransform.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/concepts/PrimitiveTransform.xml
   branches/proto/v4/libs/proto/doc/reference/concepts/Transform.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/concepts/Transform.xml
   branches/proto/v4/libs/proto/doc/reference/context/
      - copied from r49606, /trunk/libs/proto/doc/reference/context/
   branches/proto/v4/libs/proto/doc/reference/context/callable.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/context/callable.xml
   branches/proto/v4/libs/proto/doc/reference/context/default.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/context/default.xml
   branches/proto/v4/libs/proto/doc/reference/context/null.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/context/null.xml
   branches/proto/v4/libs/proto/doc/reference/core.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/core.xml
   branches/proto/v4/libs/proto/doc/reference/debug.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/debug.xml
   branches/proto/v4/libs/proto/doc/reference/deep_copy.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/deep_copy.xml
   branches/proto/v4/libs/proto/doc/reference/domain.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/domain.xml
   branches/proto/v4/libs/proto/doc/reference/eval.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/eval.xml
   branches/proto/v4/libs/proto/doc/reference/expr.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/expr.xml
   branches/proto/v4/libs/proto/doc/reference/extends.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/extends.xml
   branches/proto/v4/libs/proto/doc/reference/fusion.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/fusion.xml
   branches/proto/v4/libs/proto/doc/reference/generate.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/generate.xml
   branches/proto/v4/libs/proto/doc/reference/literal.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/literal.xml
   branches/proto/v4/libs/proto/doc/reference/make_expr.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/make_expr.xml
   branches/proto/v4/libs/proto/doc/reference/matches.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/matches.xml
   branches/proto/v4/libs/proto/doc/reference/operators.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/operators.xml
   branches/proto/v4/libs/proto/doc/reference/proto.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/proto.xml
   branches/proto/v4/libs/proto/doc/reference/proto_fwd.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/proto_fwd.xml
   branches/proto/v4/libs/proto/doc/reference/tags.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/tags.xml
   branches/proto/v4/libs/proto/doc/reference/traits.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/traits.xml
   branches/proto/v4/libs/proto/doc/reference/transform/
      - copied from r49606, /trunk/libs/proto/doc/reference/transform/
   branches/proto/v4/libs/proto/doc/reference/transform/arg.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/transform/arg.xml
   branches/proto/v4/libs/proto/doc/reference/transform/call.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/transform/call.xml
   branches/proto/v4/libs/proto/doc/reference/transform/default.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/transform/default.xml
   branches/proto/v4/libs/proto/doc/reference/transform/fold.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/transform/fold.xml
   branches/proto/v4/libs/proto/doc/reference/transform/fold_tree.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/transform/fold_tree.xml
   branches/proto/v4/libs/proto/doc/reference/transform/impl.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/transform/impl.xml
   branches/proto/v4/libs/proto/doc/reference/transform/lazy.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/transform/lazy.xml
   branches/proto/v4/libs/proto/doc/reference/transform/make.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/transform/make.xml
   branches/proto/v4/libs/proto/doc/reference/transform/pass_through.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/transform/pass_through.xml
   branches/proto/v4/libs/proto/doc/reference/transform/when.xml
      - copied unchanged from r49606, /trunk/libs/proto/doc/reference/transform/when.xml
   branches/proto/v4/libs/ptr_container/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/ptr_container/CMakeLists.txt
   branches/proto/v4/libs/ptr_container/module.cmake
      - copied unchanged from r49606, /trunk/libs/ptr_container/module.cmake
   branches/proto/v4/libs/ptr_container/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/ptr_container/test/CMakeLists.txt
   branches/proto/v4/libs/python/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/python/CMakeLists.txt
   branches/proto/v4/libs/python/module.cmake
      - copied unchanged from r49606, /trunk/libs/python/module.cmake
   branches/proto/v4/libs/python/src/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/python/src/CMakeLists.txt
   branches/proto/v4/libs/python/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/python/test/CMakeLists.txt
   branches/proto/v4/libs/random/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/random/CMakeLists.txt
   branches/proto/v4/libs/random/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/random/test/CMakeLists.txt
   branches/proto/v4/libs/range/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/range/CMakeLists.txt
   branches/proto/v4/libs/range/doc/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/range/doc/CMakeLists.txt
   branches/proto/v4/libs/range/module.cmake
      - copied unchanged from r49606, /trunk/libs/range/module.cmake
   branches/proto/v4/libs/range/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/range/test/CMakeLists.txt
   branches/proto/v4/libs/rational/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/rational/CMakeLists.txt
   branches/proto/v4/libs/rational/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/rational/test/CMakeLists.txt
   branches/proto/v4/libs/regex/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/regex/CMakeLists.txt
   branches/proto/v4/libs/regex/module.cmake
      - copied unchanged from r49606, /trunk/libs/regex/module.cmake
   branches/proto/v4/libs/regex/src/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/regex/src/CMakeLists.txt
   branches/proto/v4/libs/regex/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/regex/test/CMakeLists.txt
   branches/proto/v4/libs/serialization/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/serialization/CMakeLists.txt
   branches/proto/v4/libs/serialization/module.cmake
      - copied unchanged from r49606, /trunk/libs/serialization/module.cmake
   branches/proto/v4/libs/serialization/src/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/serialization/src/CMakeLists.txt
   branches/proto/v4/libs/serialization/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/serialization/test/CMakeLists.txt
   branches/proto/v4/libs/signals/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/signals/CMakeLists.txt
   branches/proto/v4/libs/signals/module.cmake
      - copied unchanged from r49606, /trunk/libs/signals/module.cmake
   branches/proto/v4/libs/signals/src/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/signals/src/CMakeLists.txt
   branches/proto/v4/libs/signals/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/signals/test/CMakeLists.txt
   branches/proto/v4/libs/smart_ptr/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/smart_ptr/CMakeLists.txt
   branches/proto/v4/libs/smart_ptr/module.cmake
      - copied unchanged from r49606, /trunk/libs/smart_ptr/module.cmake
   branches/proto/v4/libs/smart_ptr/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/smart_ptr/test/CMakeLists.txt
   branches/proto/v4/libs/spirit/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/spirit/CMakeLists.txt
   branches/proto/v4/libs/spirit/module.cmake
      - copied unchanged from r49606, /trunk/libs/spirit/module.cmake
   branches/proto/v4/libs/spirit/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/spirit/test/CMakeLists.txt
   branches/proto/v4/libs/statechart/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/statechart/CMakeLists.txt
   branches/proto/v4/libs/statechart/example/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/statechart/example/CMakeLists.txt
   branches/proto/v4/libs/statechart/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/statechart/test/CMakeLists.txt
   branches/proto/v4/libs/static_assert/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/static_assert/CMakeLists.txt
   branches/proto/v4/libs/static_assert/test/
      - copied from r49606, /trunk/libs/static_assert/test/
   branches/proto/v4/libs/static_assert/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/static_assert/test/CMakeLists.txt
   branches/proto/v4/libs/system/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/system/CMakeLists.txt
   branches/proto/v4/libs/system/module.cmake
      - copied unchanged from r49606, /trunk/libs/system/module.cmake
   branches/proto/v4/libs/system/src/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/system/src/CMakeLists.txt
   branches/proto/v4/libs/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/test/CMakeLists.txt
   branches/proto/v4/libs/test/module.cmake
      - copied unchanged from r49606, /trunk/libs/test/module.cmake
   branches/proto/v4/libs/test/src/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/test/src/CMakeLists.txt
   branches/proto/v4/libs/test/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/test/test/CMakeLists.txt
   branches/proto/v4/libs/thread/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/thread/CMakeLists.txt
   branches/proto/v4/libs/thread/module.cmake
      - copied unchanged from r49606, /trunk/libs/thread/module.cmake
   branches/proto/v4/libs/thread/src/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/thread/src/CMakeLists.txt
   branches/proto/v4/libs/thread/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/thread/test/CMakeLists.txt
   branches/proto/v4/libs/timer/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/timer/CMakeLists.txt
   branches/proto/v4/libs/timer/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/timer/test/CMakeLists.txt
   branches/proto/v4/libs/tokenizer/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/tokenizer/CMakeLists.txt
   branches/proto/v4/libs/tokenizer/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/tokenizer/test/CMakeLists.txt
   branches/proto/v4/libs/tr1/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/tr1/CMakeLists.txt
   branches/proto/v4/libs/tr1/module.cmake
      - copied unchanged from r49606, /trunk/libs/tr1/module.cmake
   branches/proto/v4/libs/tr1/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/tr1/test/CMakeLists.txt
   branches/proto/v4/libs/tuple/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/tuple/CMakeLists.txt
   branches/proto/v4/libs/tuple/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/tuple/test/CMakeLists.txt
   branches/proto/v4/libs/type_traits/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/type_traits/CMakeLists.txt
   branches/proto/v4/libs/type_traits/module.cmake
      - copied unchanged from r49606, /trunk/libs/type_traits/module.cmake
   branches/proto/v4/libs/type_traits/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/type_traits/test/CMakeLists.txt
   branches/proto/v4/libs/typeof/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/typeof/CMakeLists.txt
   branches/proto/v4/libs/typeof/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/typeof/test/CMakeLists.txt
   branches/proto/v4/libs/units/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/units/CMakeLists.txt
   branches/proto/v4/libs/units/doc/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/units/doc/CMakeLists.txt
   branches/proto/v4/libs/units/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/units/test/CMakeLists.txt
   branches/proto/v4/libs/unordered/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/unordered/CMakeLists.txt
   branches/proto/v4/libs/utility/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/utility/CMakeLists.txt
   branches/proto/v4/libs/utility/module.cmake
      - copied unchanged from r49606, /trunk/libs/utility/module.cmake
   branches/proto/v4/libs/utility/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/utility/test/CMakeLists.txt
   branches/proto/v4/libs/variant/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/variant/CMakeLists.txt
   branches/proto/v4/libs/variant/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/variant/test/CMakeLists.txt
   branches/proto/v4/libs/wave/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/wave/CMakeLists.txt
   branches/proto/v4/libs/wave/module.cmake
      - copied unchanged from r49606, /trunk/libs/wave/module.cmake
   branches/proto/v4/libs/wave/src/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/wave/src/CMakeLists.txt
   branches/proto/v4/libs/wave/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/wave/test/CMakeLists.txt
   branches/proto/v4/libs/xpressive/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/xpressive/CMakeLists.txt
   branches/proto/v4/libs/xpressive/module.cmake
      - copied unchanged from r49606, /trunk/libs/xpressive/module.cmake
   branches/proto/v4/libs/xpressive/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/libs/xpressive/test/CMakeLists.txt
   branches/proto/v4/tools/CMakeLists.txt
      - copied unchanged from r49606, /trunk/tools/CMakeLists.txt
   branches/proto/v4/tools/bcp/CMakeLists.txt
      - copied unchanged from r49606, /trunk/tools/bcp/CMakeLists.txt
   branches/proto/v4/tools/build/CMake/
      - copied from r49606, /trunk/tools/build/CMake/
   branches/proto/v4/tools/build/CMake/BoostBuildSlave.cmake
      - copied unchanged from r49606, /trunk/tools/build/CMake/BoostBuildSlave.cmake
   branches/proto/v4/tools/build/CMake/BoostConfig.cmake
      - copied unchanged from r49606, /trunk/tools/build/CMake/BoostConfig.cmake
   branches/proto/v4/tools/build/CMake/BoostCore.cmake
      - copied unchanged from r49606, /trunk/tools/build/CMake/BoostCore.cmake
   branches/proto/v4/tools/build/CMake/BoostDocs.cmake
      - copied unchanged from r49606, /trunk/tools/build/CMake/BoostDocs.cmake
   branches/proto/v4/tools/build/CMake/BoostTesting.cmake
      - copied unchanged from r49606, /trunk/tools/build/CMake/BoostTesting.cmake
   branches/proto/v4/tools/build/CMake/BoostUtils.cmake
      - copied unchanged from r49606, /trunk/tools/build/CMake/BoostUtils.cmake
   branches/proto/v4/tools/build/CMake/FindICU.cmake
      - copied unchanged from r49606, /trunk/tools/build/CMake/FindICU.cmake
   branches/proto/v4/tools/build/CMake/LinkTest/
      - copied from r49606, /trunk/tools/build/CMake/LinkTest/
   branches/proto/v4/tools/build/CMake/LinkTest/CMakeLists.txt
      - copied unchanged from r49606, /trunk/tools/build/CMake/LinkTest/CMakeLists.txt
   branches/proto/v4/tools/build/CMake/boost_build_slave.py.in
      - copied unchanged from r49606, /trunk/tools/build/CMake/boost_build_slave.py.in
   branches/proto/v4/tools/build/CMake/catalog.xml.in
      - copied unchanged from r49606, /trunk/tools/build/CMake/catalog.xml.in
   branches/proto/v4/tools/build/CMake/classify.py.in
      - copied unchanged from r49606, /trunk/tools/build/CMake/classify.py.in
   branches/proto/v4/tools/build/CMake/finish.py.in
      - copied unchanged from r49606, /trunk/tools/build/CMake/finish.py.in
   branches/proto/v4/tools/build/CMake/info.py.in
      - copied unchanged from r49606, /trunk/tools/build/CMake/info.py.in
   branches/proto/v4/tools/build/CMake/marshal.py.in
      - copied unchanged from r49606, /trunk/tools/build/CMake/marshal.py.in
   branches/proto/v4/tools/build/CMake/passthru.py.in
      - copied unchanged from r49606, /trunk/tools/build/CMake/passthru.py.in
   branches/proto/v4/tools/build/CMake/post.py.in
      - copied unchanged from r49606, /trunk/tools/build/CMake/post.py.in
   branches/proto/v4/tools/build/CMake/run_continuous_slave.py.in
      - copied unchanged from r49606, /trunk/tools/build/CMake/run_continuous_slave.py.in
   branches/proto/v4/tools/build/CMake/sanity/
      - copied from r49606, /trunk/tools/build/CMake/sanity/
   branches/proto/v4/tools/build/CMake/sanity/CMakeLists.txt
      - copied unchanged from r49606, /trunk/tools/build/CMake/sanity/CMakeLists.txt
   branches/proto/v4/tools/build/CMake/sanity/one_clean_one_warn/
      - copied from r49606, /trunk/tools/build/CMake/sanity/one_clean_one_warn/
   branches/proto/v4/tools/build/CMake/sanity/one_clean_one_warn/CMakeLists.txt
      - copied unchanged from r49606, /trunk/tools/build/CMake/sanity/one_clean_one_warn/CMakeLists.txt
   branches/proto/v4/tools/build/CMake/sanity/one_clean_one_warn/src/
      - copied from r49606, /trunk/tools/build/CMake/sanity/one_clean_one_warn/src/
   branches/proto/v4/tools/build/CMake/sanity/one_clean_one_warn/src/CMakeLists.txt
      - copied unchanged from r49606, /trunk/tools/build/CMake/sanity/one_clean_one_warn/src/CMakeLists.txt
   branches/proto/v4/tools/build/CMake/sanity/one_clean_one_warn/src/green.cpp
      - copied unchanged from r49606, /trunk/tools/build/CMake/sanity/one_clean_one_warn/src/green.cpp
   branches/proto/v4/tools/build/CMake/sanity/one_clean_one_warn/src/warn.cpp
      - copied unchanged from r49606, /trunk/tools/build/CMake/sanity/one_clean_one_warn/src/warn.cpp
   branches/proto/v4/tools/build/CMake/sanity/one_clean_one_warn/test/
      - copied from r49606, /trunk/tools/build/CMake/sanity/one_clean_one_warn/test/
   branches/proto/v4/tools/build/CMake/sanity/one_clean_one_warn/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/tools/build/CMake/sanity/one_clean_one_warn/test/CMakeLists.txt
   branches/proto/v4/tools/build/CMake/sanity/one_clean_one_warn/test/times_out.cpp
      - copied unchanged from r49606, /trunk/tools/build/CMake/sanity/one_clean_one_warn/test/times_out.cpp
   branches/proto/v4/tools/build/CMake/sanity/wont_link/
      - copied from r49606, /trunk/tools/build/CMake/sanity/wont_link/
   branches/proto/v4/tools/build/CMake/sanity/wont_link/CMakeLists.txt
      - copied unchanged from r49606, /trunk/tools/build/CMake/sanity/wont_link/CMakeLists.txt
   branches/proto/v4/tools/build/CMake/sanity/wont_link/src/
      - copied from r49606, /trunk/tools/build/CMake/sanity/wont_link/src/
   branches/proto/v4/tools/build/CMake/sanity/wont_link/src/CMakeLists.txt
      - copied unchanged from r49606, /trunk/tools/build/CMake/sanity/wont_link/src/CMakeLists.txt
   branches/proto/v4/tools/build/CMake/sanity/wont_link/src/compiles_nowarn.cpp
      - copied unchanged from r49606, /trunk/tools/build/CMake/sanity/wont_link/src/compiles_nowarn.cpp
   branches/proto/v4/tools/build/CMake/sanity/wont_link/test/
      - copied from r49606, /trunk/tools/build/CMake/sanity/wont_link/test/
   branches/proto/v4/tools/build/CMake/sanity/wont_link/test/CMakeLists.txt
      - copied unchanged from r49606, /trunk/tools/build/CMake/sanity/wont_link/test/CMakeLists.txt
   branches/proto/v4/tools/build/CMake/sanity/wont_link/test/link_error.cpp
      - copied unchanged from r49606, /trunk/tools/build/CMake/sanity/wont_link/test/link_error.cpp
   branches/proto/v4/tools/build/CMake/start.py.in
      - copied unchanged from r49606, /trunk/tools/build/CMake/start.py.in
   branches/proto/v4/tools/build/CMake/unix_kill.py.in
      - copied unchanged from r49606, /trunk/tools/build/CMake/unix_kill.py.in
   branches/proto/v4/tools/build/CMake/windows_kill.py.in
      - copied unchanged from r49606, /trunk/tools/build/CMake/windows_kill.py.in
   branches/proto/v4/tools/build/v2/test/copy_time.py
      - copied unchanged from r49606, /trunk/tools/build/v2/test/copy_time.py
   branches/proto/v4/tools/quickbook/CMakeLists.txt
      - copied unchanged from r49606, /trunk/tools/quickbook/CMakeLists.txt
   branches/proto/v4/tools/wave/CMakeLists.txt
      - copied unchanged from r49606, /trunk/tools/wave/CMakeLists.txt
Removed:
   branches/proto/v4/libs/proto/doc/concepts/
   branches/proto/v4/libs/proto/doc/proto.xml
   branches/proto/v4/libs/proto/doc/protodoc.xml
   branches/proto/v4/libs/proto/doc/transforms_old.qbk
   branches/proto/v4/libs/proto/doc/wave.sh
   branches/proto/v4/tools/build/v2/doc/userman.pdf
Properties modified:
   branches/proto/v4/ (props changed)
   branches/proto/v4/boost/pool/detail/pool_construct.sh (props changed)
   branches/proto/v4/boost/pool/detail/pool_construct_simple.sh (props changed)
   branches/proto/v4/boost/ptr_container/ptr_inserter.hpp (props changed)
   branches/proto/v4/boost/ptr_container/serialize_ptr_circular_buffer.hpp (contents, props changed)
   branches/proto/v4/boost/ptr_container/serialize_ptr_container.hpp (contents, props changed)
   branches/proto/v4/boost/tr1/tr1/algorithm (props changed)
   branches/proto/v4/boost/tr1/tr1/array (contents, props changed)
   branches/proto/v4/configure (props changed)
   branches/proto/v4/libs/circular_buffer/doc/update_srcdoc.sh (props changed)
   branches/proto/v4/libs/config/configure (props changed)
   branches/proto/v4/libs/config/test/link/bc_gen.sh (props changed)
   branches/proto/v4/libs/config/test/link/common.sh (props changed)
   branches/proto/v4/libs/config/test/link/vc_gen.sh (props changed)
   branches/proto/v4/libs/config/tools/configure.in (props changed)
   branches/proto/v4/libs/date_time/data/README.zone_spec_csv_file (props changed)
   branches/proto/v4/libs/date_time/test/local_time/README.poorly_formed_zonespec (props changed)
   branches/proto/v4/libs/exception/doc/source/html_prefix.txt (props changed)
   branches/proto/v4/libs/exception/doc/source/html_suffix.txt (props changed)
   branches/proto/v4/libs/fusion/test/compile_time/ (props changed)
   branches/proto/v4/libs/gil/doc/insert_boost_licence.sh (props changed)
   branches/proto/v4/libs/gil/doc/shorten_file_name.sh (props changed)
   branches/proto/v4/libs/graph/doc/edmonds_karp_max_flow.html (props changed)
   branches/proto/v4/libs/graph/test/r_c_shortest_paths_test.cpp (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/adaptive_node_pool_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/adaptive_pool_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/allocexcept_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/barrier_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/bufferstream_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/cached_adaptive_pool_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/cached_node_allocator_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/condition_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/data_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/deque_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_adaptive_pool.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_allocator.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_anonymous_conditionA.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_anonymous_conditionB.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_anonymous_mutexA.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_anonymous_mutexB.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_anonymous_semaphoreA.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_anonymous_semaphoreB.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_anonymous_upgradable_mutexA.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_anonymous_upgradable_mutexB.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_bufferstream.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_cached_adaptive_pool.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_cached_node_allocator.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_cont.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_contA.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_contB.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_file_mapping.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_file_mapping2.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_intrusive.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_ipc_messageA.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_ipc_messageB.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_managed_aligned_allocation.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_managed_allocation_command.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_managed_construction_info.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_managed_heap_memory.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_managed_mapped_file.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_managed_multiple_allocation.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_managed_raw_allocation.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_map.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_message_queueA.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_message_queueB.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_move_containers.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_named_allocA.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_named_allocB.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_named_conditionA.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_named_conditionB.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_named_mutex.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_node_allocator.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_offset_ptr.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_private_adaptive_pool.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_private_node_allocator.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_scoped_ptr.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_shared_memory.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_shared_memory2.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_shared_ptr.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_shared_ptr_explicit.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_unique_ptr.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_vectorstream.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_where_allocate.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_windows_shared_memory.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/doc_windows_shared_memory2.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/file_mapping_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/flat_map_index_allocation_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/flat_tree_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/interprocesslib.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/intrusive_ptr_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/iset_index_allocation_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/iunordered_set_index_allocation_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/list_ex.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/managed_mapped_file_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/managed_windows_shared_memory.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/map_index_allocation_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/mapped_file_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/memory_algorithm_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/message_queue.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/mutex_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/named_condition_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/named_mutex_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/named_recursive_mutex_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/named_semaphore_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/named_upgradable_mutex.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/node_allocator_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/node_pool_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/null_index_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/private_adaptive_pool_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/private_node_allocator_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/recursive_mutex_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/semaphore_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/shared_memory_mappable_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/shared_memory_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/shared_ptr_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/slist_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/string_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/tree_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/unique_ptr_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/upgradable_mutex.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/user_buffer_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/vector_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/vectorstream_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/windows_shared_memory_mapping_test.vcproj (props changed)
   branches/proto/v4/libs/interprocess/proj/vc7ide/windows_shared_memory_test.vcproj (props changed)
   branches/proto/v4/libs/intrusive/proj/vc7ide/Intrusive.vcproj (props changed)
   branches/proto/v4/libs/intrusive/proj/vc7ide/_intrusivelib/_intrusivelib.vcproj (props changed)
   branches/proto/v4/libs/intrusive/proj/vc7ide/custom_bucket_traits/custom_bucket_traits.vcproj (props changed)
   branches/proto/v4/libs/intrusive/proj/vc7ide/default_hook/default_hook.vcproj (props changed)
   branches/proto/v4/libs/intrusive/proj/vc7ide/external_value_traits/external_value_traits.vcproj (props changed)
   branches/proto/v4/libs/intrusive/proj/vc7ide/list/list.vcproj (props changed)
   branches/proto/v4/libs/intrusive/proj/vc7ide/make_functions/make_functions.vcproj (props changed)
   branches/proto/v4/libs/intrusive/proj/vc7ide/multiset/multiset.vcproj (props changed)
   branches/proto/v4/libs/intrusive/proj/vc7ide/perf_test/perf_test.vcproj (props changed)
   branches/proto/v4/libs/intrusive/proj/vc7ide/set/set.vcproj (props changed)
   branches/proto/v4/libs/intrusive/proj/vc7ide/slist/slist.vcproj (props changed)
   branches/proto/v4/libs/intrusive/proj/vc7ide/stateful_value_traits/stateful_value_traits.vcproj (props changed)
   branches/proto/v4/libs/intrusive/proj/vc7ide/unordered_multiset/unordered_multiset.vcproj (props changed)
   branches/proto/v4/libs/intrusive/proj/vc7ide/unordered_set/unordered_set.vcproj (props changed)
   branches/proto/v4/libs/intrusive/proj/vc7ide/virtual_base/virtual_base.vcproj (props changed)
   branches/proto/v4/libs/iostreams/doc/classes/grep_filter.html (props changed)
   branches/proto/v4/libs/math/doc/sf_and_dist/equations/generate.sh (props changed)
   branches/proto/v4/libs/math/doc/sf_and_dist/graphs/generate.sh (props changed)
   branches/proto/v4/libs/math/test/compile_test/generate.sh (props changed)
   branches/proto/v4/libs/mpi/test/python/nonblocking_test.py (props changed)
   branches/proto/v4/libs/mpl/preprocessed/preprocess.cmd (props changed)
   branches/proto/v4/libs/property_tree/test/custom-build/sandbox.vcproj (props changed)
   branches/proto/v4/libs/property_tree/test/custom-build/test_example_custom_data_type.vcproj (props changed)
   branches/proto/v4/libs/property_tree/test/custom-build/test_example_debug_settings.vcproj (props changed)
   branches/proto/v4/libs/property_tree/test/custom-build/test_example_empty_ptree_trick.vcproj (props changed)
   branches/proto/v4/libs/property_tree/test/custom-build/test_info_grammar_spirit.vcproj (props changed)
   branches/proto/v4/libs/property_tree/test/custom-build/test_info_parser.vcproj (props changed)
   branches/proto/v4/libs/property_tree/test/custom-build/test_ini_parser.vcproj (props changed)
   branches/proto/v4/libs/property_tree/test/custom-build/test_json_parser.vcproj (props changed)
   branches/proto/v4/libs/property_tree/test/custom-build/test_multi_module.vcproj (props changed)
   branches/proto/v4/libs/property_tree/test/custom-build/test_property_tree.vcproj (props changed)
   branches/proto/v4/libs/property_tree/test/custom-build/test_xml_parser.vcproj (props changed)
   branches/proto/v4/libs/property_tree/test/custom-build/tests.sln (props changed)
   branches/proto/v4/libs/proto/doc/propdocs.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_all.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_assoc_ptr_container.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_conventions.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_examples.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_faq.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_guidelines.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_headers.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_indirect_fun.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_ptr_array.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_ptr_container.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_ptr_deque.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_ptr_inserter.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_ptr_list.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_ptr_map.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_ptr_map_adapter.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_ptr_multimap.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_ptr_multimap_adapter.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_ptr_multiset.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_ptr_multiset_adapter.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_ptr_sequence_adapter.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_ptr_set.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_ptr_set_adapter.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_ptr_vector.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_reference.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_rever_ptr_container.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/comp_tutorial.sh (props changed)
   branches/proto/v4/libs/ptr_container/doc/tutorial_example.html (props changed)
   branches/proto/v4/libs/ptr_container/test/ptr_circular_buffer.cpp (props changed)
   branches/proto/v4/libs/ptr_container/test/ptr_inserter.cpp (props changed)
   branches/proto/v4/libs/range/doc/Jamfile.v2 (props changed)
   branches/proto/v4/libs/range/doc/boost_range.qbk (props changed)
   branches/proto/v4/libs/range/doc/mfc_atl.html (props changed)
   branches/proto/v4/libs/regex/build/bc_gen.sh (props changed)
   branches/proto/v4/libs/regex/build/common.sh (props changed)
   branches/proto/v4/libs/regex/build/gcc_gen.sh (props changed)
   branches/proto/v4/libs/regex/build/generic_gen.sh (props changed)
   branches/proto/v4/libs/regex/build/sun_gen.sh (props changed)
   branches/proto/v4/libs/regex/build/vc_gen.sh (props changed)
   branches/proto/v4/libs/serialization/performance/profile.sh (props changed)
   branches/proto/v4/libs/spirit/classic/phoenix/test/runtest.sh (props changed)
   branches/proto/v4/libs/statechart/Statechart.sln (contents, props changed)
   branches/proto/v4/libs/statechart/example/BitMachine/BitMachine.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/example/Camera/Camera.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/example/Handcrafted/Handcrafted.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/example/Keyboard/Keyboard.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/example/Performance/Performance.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/example/PingPong/PingPong.vcproj (props changed)
   branches/proto/v4/libs/statechart/example/PingPong/Player.cpp (props changed)
   branches/proto/v4/libs/statechart/example/PingPong/Player.hpp (props changed)
   branches/proto/v4/libs/statechart/example/PingPong/Waiting.hpp (props changed)
   branches/proto/v4/libs/statechart/example/StopWatch/StopWatch.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/CustomReactionTest.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/DeferralTest.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/FifoSchedulerTest.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/HistoryTest.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/InStateReactionTest.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/InconsistentHistoryTest1.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/InconsistentHistoryTest2.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/InconsistentHistoryTest3.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/InconsistentHistoryTest4.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/InconsistentHistoryTest5.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/InconsistentHistoryTest6.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/InconsistentHistoryTest7.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/InconsistentHistoryTest8.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/InvalidChartTest1.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/InvalidChartTest2.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/InvalidChartTest3.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/InvalidResultAssignTest.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/InvalidResultCopyTest.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/InvalidResultDefCtorTest.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/InvalidTransitionTest1.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/InvalidTransitionTest2.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/StateCastTest.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/StateIterationTest.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/TerminationTest.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/TransitionTest.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/TuTest.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/TypeInfoTest.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/UnconsumedResultTest.vcproj (contents, props changed)
   branches/proto/v4/libs/statechart/test/UnsuppDeepHistoryTest.vcproj (contents, props changed)
   branches/proto/v4/libs/test/doc/img/boost.test.logo.png (props changed)
   branches/proto/v4/libs/test/doc/img/class-hier.jpg (props changed)
   branches/proto/v4/libs/test/doc/img/level.png (props changed)
   branches/proto/v4/libs/test/doc/img/post_build_event.jpg (props changed)
   branches/proto/v4/libs/test/doc/img/post_build_out.jpg (props changed)
   branches/proto/v4/libs/test/doc/img/run_args.jpg (props changed)
   branches/proto/v4/libs/test/doc/js/boost-test.js (props changed)
   branches/proto/v4/libs/test/doc/src/examples/example.vcproj (props changed)
   branches/proto/v4/libs/test/docbook/img/boost.test.logo.png (props changed)
   branches/proto/v4/libs/test/docbook/img/class-hier.jpg (props changed)
   branches/proto/v4/libs/test/docbook/img/level.png (props changed)
   branches/proto/v4/libs/test/docbook/img/post_build_event.jpg (props changed)
   branches/proto/v4/libs/test/docbook/img/post_build_out.jpg (props changed)
   branches/proto/v4/libs/test/docbook/img/run_args.jpg (props changed)
   branches/proto/v4/libs/units/images/form_0.png (props changed)
   branches/proto/v4/libs/units/images/form_1.png (props changed)
   branches/proto/v4/libs/units/images/form_10.png (props changed)
   branches/proto/v4/libs/units/images/form_11.png (props changed)
   branches/proto/v4/libs/units/images/form_12.png (props changed)
   branches/proto/v4/libs/units/images/form_13.png (props changed)
   branches/proto/v4/libs/units/images/form_14.png (props changed)
   branches/proto/v4/libs/units/images/form_15.png (props changed)
   branches/proto/v4/libs/units/images/form_2.png (props changed)
   branches/proto/v4/libs/units/images/form_3.png (props changed)
   branches/proto/v4/libs/units/images/form_4.png (props changed)
   branches/proto/v4/libs/units/images/form_5.png (props changed)
   branches/proto/v4/libs/units/images/form_6.png (props changed)
   branches/proto/v4/libs/units/images/form_7.png (props changed)
   branches/proto/v4/libs/units/images/form_8.png (props changed)
   branches/proto/v4/libs/units/images/form_9.png (props changed)
   branches/proto/v4/libs/xpressive/proto/doc/wave.sh (props changed)
   branches/proto/v4/tools/build/v2/boost_build.png (props changed)
   branches/proto/v4/tools/build/v2/example/make/foo.py (props changed)
   branches/proto/v4/tools/build/v2/nightly.sh (props changed)
   branches/proto/v4/tools/build/v2/roll.sh (props changed)
   branches/proto/v4/tools/build/v2/test/ordered_include.py (props changed)
   branches/proto/v4/tools/build/v2/test/qt4/phonon.cpp (props changed)
   branches/proto/v4/tools/build/v2/test/qt4/qt3support.cpp (props changed)
   branches/proto/v4/tools/build/v2/test/qt4/qtassistant.cpp (props changed)
   branches/proto/v4/tools/build/v2/test/qt4/qtcore.cpp (props changed)
   branches/proto/v4/tools/build/v2/test/qt4/qtcorefail.cpp (props changed)
   branches/proto/v4/tools/build/v2/test/qt4/qtgui.cpp (props changed)
   branches/proto/v4/tools/build/v2/test/qt4/qthelp.cpp (props changed)
   branches/proto/v4/tools/build/v2/test/qt4/qtnetwork.cpp (props changed)
   branches/proto/v4/tools/build/v2/test/qt4/qtscript.cpp (props changed)
   branches/proto/v4/tools/build/v2/test/qt4/qtsql.cpp (props changed)
   branches/proto/v4/tools/build/v2/test/qt4/qtsvg.cpp (props changed)
   branches/proto/v4/tools/build/v2/test/qt4/qttest.cpp (props changed)
   branches/proto/v4/tools/build/v2/test/qt4/qtwebkit.cpp (props changed)
   branches/proto/v4/tools/build/v2/test/qt4/qtxml.cpp (props changed)
   branches/proto/v4/tools/build/v2/test/qt4/qtxmlpatterns.cpp (props changed)
   branches/proto/v4/tools/inspect/run_inspect.sh (props changed)
   branches/proto/v4/tools/jam/build_dist.sh (props changed)
   branches/proto/v4/tools/jam/src/boehm_gc/configure (props changed)
   branches/proto/v4/tools/jam/src/boehm_gc/configure.ac (props changed)
   branches/proto/v4/tools/jam/src/boehm_gc/configure.host (props changed)
   branches/proto/v4/tools/jam/src/boehm_gc/configure_atomic_ops.sh (props changed)
   branches/proto/v4/tools/jam/src/boehm_gc/doc/debugging.html (props changed)
   branches/proto/v4/tools/jam/src/boehm_gc/doc/gcdescr.html (props changed)
   branches/proto/v4/tools/jam/src/boehm_gc/doc/gcinterface.html (props changed)
   branches/proto/v4/tools/jam/src/boehm_gc/doc/leak.html (props changed)
   branches/proto/v4/tools/jam/src/boehm_gc/doc/overview.html (props changed)
   branches/proto/v4/tools/jam/src/boehm_gc/doc/porting.html (props changed)
   branches/proto/v4/tools/jam/src/boehm_gc/doc/scale.html (props changed)
   branches/proto/v4/tools/jam/src/boehm_gc/doc/simple_example.html (props changed)
   branches/proto/v4/tools/jam/src/boehm_gc/doc/tree.html (props changed)
   branches/proto/v4/tools/jam/src/boehm_gc/ltmain.sh (props changed)
   branches/proto/v4/tools/jam/src/build.sh (props changed)
   branches/proto/v4/tools/jam/test/test.sh (props changed)
   branches/proto/v4/tools/quickbook/extra/katepart/install.sh (props changed)
   branches/proto/v4/tools/regression/src/boost_svn_export_archive.sh (props changed)
   branches/proto/v4/tools/regression/src/library_test.sh (props changed)
   branches/proto/v4/tools/regression/src/library_test_all.sh (props changed)
   branches/proto/v4/tools/regression/src/run_tests.sh (props changed)
   branches/proto/v4/tools/regression/xsl_reports/build_results.sh (props changed)
   branches/proto/v4/tools/release/build_docs.sh (props changed)
   branches/proto/v4/tools/release/build_release.sh (props changed)
   branches/proto/v4/tools/release/build_release_packages.sh (props changed)
   branches/proto/v4/tools/release/inspect.sh (props changed)
   branches/proto/v4/tools/release/load_posix.sh (props changed)
   branches/proto/v4/tools/release/load_windows.sh (props changed)
   branches/proto/v4/tools/release/make_packages.sh (props changed)
   branches/proto/v4/tools/release/snapshot.sh (props changed)
   branches/proto/v4/tools/release/snapshot_posix.sh (props changed)
   branches/proto/v4/tools/release/snapshot_windows.sh (props changed)
Binary files modified:
   branches/proto/v4/boost/ptr_container/serialize_ptr_circular_buffer.hpp
   branches/proto/v4/boost/ptr_container/serialize_ptr_container.hpp
Text files modified:
   branches/proto/v4/Jamroot | 30 +
   branches/proto/v4/boost/asio/basic_streambuf.hpp | 163 +++++++++
   branches/proto/v4/boost/asio/detail/resolver_service.hpp | 2
   branches/proto/v4/boost/asio/impl/read_until.ipp | 69 +--
   branches/proto/v4/boost/config/auto_link.hpp | 7
   branches/proto/v4/boost/config/compiler/visualc.hpp | 11
   branches/proto/v4/boost/date_time/c_local_time_adjustor.hpp | 8
   branches/proto/v4/boost/date_time/c_time.hpp | 19
   branches/proto/v4/boost/date_time/compiler_config.hpp | 28 +
   branches/proto/v4/boost/date_time/constrained_value.hpp | 47 ++
   branches/proto/v4/boost/date_time/date_duration.hpp | 25
   branches/proto/v4/boost/date_time/date_facet.hpp | 25
   branches/proto/v4/boost/date_time/date_generator_parser.hpp | 101 +++--
   branches/proto/v4/boost/date_time/date_generators.hpp | 24
   branches/proto/v4/boost/date_time/date_parsing.hpp | 56 +-
   branches/proto/v4/boost/date_time/filetime_functions.hpp | 149 ++++++--
   branches/proto/v4/boost/date_time/format_date_parser.hpp | 20
   branches/proto/v4/boost/date_time/gregorian/conversion.hpp | 25
   branches/proto/v4/boost/date_time/gregorian/greg_date.hpp | 11
   branches/proto/v4/boost/date_time/gregorian/greg_duration.hpp | 114 ++++++
   branches/proto/v4/boost/date_time/gregorian/greg_duration_types.hpp | 21
   branches/proto/v4/boost/date_time/gregorian/greg_facet.hpp | 19
   branches/proto/v4/boost/date_time/gregorian/greg_serialize.hpp | 4
   branches/proto/v4/boost/date_time/gregorian/gregorian_io.hpp | 13
   branches/proto/v4/boost/date_time/int_adapter.hpp | 4
   branches/proto/v4/boost/date_time/local_time/local_date_time.hpp | 52 +-
   branches/proto/v4/boost/date_time/local_time/local_time_io.hpp | 83 ++++
   branches/proto/v4/boost/date_time/local_time/posix_time_zone.hpp | 49 +-
   branches/proto/v4/boost/date_time/local_time_adjustor.hpp | 27
   branches/proto/v4/boost/date_time/microsec_time_clock.hpp | 149 ++------
   branches/proto/v4/boost/date_time/period_parser.hpp | 8
   branches/proto/v4/boost/date_time/posix_time/conversion.hpp | 12
   branches/proto/v4/boost/date_time/posix_time/posix_time_io.hpp | 22
   branches/proto/v4/boost/date_time/time.hpp | 7
   branches/proto/v4/boost/date_time/time_defs.hpp | 12
   branches/proto/v4/boost/date_time/time_facet.hpp | 236 ++++++++-----
   branches/proto/v4/boost/date_time/time_formatting_streams.hpp | 11
   branches/proto/v4/boost/date_time/time_system_split.hpp | 16
   branches/proto/v4/boost/date_time/tz_db_base.hpp | 34 +
   branches/proto/v4/boost/date_time/wrapping_int.hpp | 34 +
   branches/proto/v4/boost/dynamic_bitset/config.hpp | 8
   branches/proto/v4/boost/filesystem/path.hpp | 2
   branches/proto/v4/boost/function/function_base.hpp | 2
   branches/proto/v4/boost/functional/hash/deque.hpp | 2
   branches/proto/v4/boost/functional/hash/list.hpp | 2
   branches/proto/v4/boost/functional/hash/map.hpp | 2
   branches/proto/v4/boost/functional/hash/pair.hpp | 2
   branches/proto/v4/boost/functional/hash/set.hpp | 2
   branches/proto/v4/boost/functional/hash/vector.hpp | 2
   branches/proto/v4/boost/graph/adjacency_list.hpp | 58 +-
   branches/proto/v4/boost/graph/exception.hpp | 57 ++-
   branches/proto/v4/boost/graph/fruchterman_reingold.hpp | 20
   branches/proto/v4/boost/graph/graphml.hpp | 98 ++--
   branches/proto/v4/boost/graph/read_dimacs.hpp | 111 +++---
   branches/proto/v4/boost/numeric/ublas/storage_sparse.hpp | 2
   branches/proto/v4/boost/spirit/home/support/char_class.hpp | 32 +
   branches/proto/v4/boost/spirit/home/support/char_class/iso8859_1.hpp | 2
   branches/proto/v4/boost/tr1/tr1/array | 68 ++--
   branches/proto/v4/boost/version.hpp | 4
   branches/proto/v4/index.html | 7
   branches/proto/v4/libs/asio/doc/examples.qbk | 6
   branches/proto/v4/libs/asio/doc/overview/posix.qbk | 3
   branches/proto/v4/libs/asio/doc/reference.qbk | 269 ++++++++++++++--
   branches/proto/v4/libs/asio/example/chat/Jamfile | 13
   branches/proto/v4/libs/asio/example/chat/Jamfile.v2 | 1
   branches/proto/v4/libs/asio/test/read_until.cpp | 237 ++++++++++++++
   branches/proto/v4/libs/config/doc/acknowledgements.qbk | 2
   branches/proto/v4/libs/config/doc/html/boost_config/acknowledgements.html | 2
   branches/proto/v4/libs/config/doc/html/index.html | 6
   branches/proto/v4/libs/config/doc/rationale.qbk | 2
   branches/proto/v4/libs/date_time/test/local_time/testlocal_time_facet.cpp | 26 +
   branches/proto/v4/libs/date_time/test/posix_time/testmicrosec_time_clock.cpp | 4
   branches/proto/v4/libs/date_time/xmldoc/changes.xml | 92 +++++
   branches/proto/v4/libs/date_time/xmldoc/date_class.xml | 8
   branches/proto/v4/libs/date_time/xmldoc/format_flags.xml | 8
   branches/proto/v4/libs/date_time/xmldoc/gregorian.xml | 2
   branches/proto/v4/libs/date_time/xmldoc/snap_to_details.xml | 4
   branches/proto/v4/libs/filesystem/doc/index.htm | 60 +++
   branches/proto/v4/libs/fusion/test/compile_time/Makefile | 21
   branches/proto/v4/libs/graph/doc/table_of_contents.html | 108 +++--
   branches/proto/v4/libs/graph/test/Jamfile.v2 | 61 +--
   branches/proto/v4/libs/proto/doc/Jamfile.v2 | 62 ---
   branches/proto/v4/libs/proto/doc/back_end.qbk | 14
   branches/proto/v4/libs/proto/doc/intermediate_form.qbk | 2
   branches/proto/v4/libs/proto/doc/proto.qbk | 40 +-
   branches/proto/v4/libs/regex/doc/html/boost_regex/background_information/examples.html | 6
   branches/proto/v4/libs/regex/doc/html/boost_regex/background_information/history.html | 10
   branches/proto/v4/libs/regex/doc/html/boost_regex/background_information/locale.html | 8
   branches/proto/v4/libs/regex/doc/html/boost_regex/background_information/standards.html | 10
   branches/proto/v4/libs/regex/doc/html/boost_regex/captures.html | 6
   branches/proto/v4/libs/regex/doc/html/boost_regex/format/boost_format_syntax.html | 8
   branches/proto/v4/libs/regex/doc/html/boost_regex/install.html | 16
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/bad_expression.html | 4
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/basic_regex.html | 18
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/concepts/traits_concept.html | 4
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html | 2
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/error_type.html | 4
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/match_flag_type.html | 2
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/match_results.html | 4
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html | 6
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html | 4
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html | 10
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html | 4
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/posix.html | 8
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_iterator.html | 4
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_match.html | 4
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_replace.html | 6
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_search.html | 4
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_token_iterator.html | 4
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_traits.html | 2
   branches/proto/v4/libs/regex/doc/html/boost_regex/ref/sub_match.html | 8
   branches/proto/v4/libs/regex/doc/html/boost_regex/syntax/basic_extended.html | 66 +-
   branches/proto/v4/libs/regex/doc/html/boost_regex/syntax/basic_syntax.html | 44 +-
   branches/proto/v4/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html | 84 ++--
   branches/proto/v4/libs/regex/doc/html/boost_regex/unicode.html | 4
   branches/proto/v4/libs/regex/doc/html/index.html | 4
   branches/proto/v4/libs/regex/doc/regex_replace.qbk | 2
   branches/proto/v4/libs/spirit/test/qi/char_class.cpp | 4
   branches/proto/v4/libs/statechart/Statechart.sln | 656 +++++++++++++++++++-------------------
   branches/proto/v4/libs/statechart/example/BitMachine/BitMachine.vcproj | 602 +++++++++++++++++-----------------
   branches/proto/v4/libs/statechart/example/Camera/Camera.vcproj | 670 ++++++++++++++++++++--------------------
   branches/proto/v4/libs/statechart/example/Handcrafted/Handcrafted.vcproj | 410 ++++++++++++------------
   branches/proto/v4/libs/statechart/example/Keyboard/Keyboard.vcproj | 568 ++++++++++++++++----------------
   branches/proto/v4/libs/statechart/example/Performance/Performance.vcproj | 570 +++++++++++++++++-----------------
   branches/proto/v4/libs/statechart/example/StopWatch/StopWatch.vcproj | 564 ++++++++++++++++----------------
   branches/proto/v4/libs/statechart/test/CustomReactionTest.vcproj | 408 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/DeferralTest.vcproj | 408 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/FifoSchedulerTest.vcproj | 408 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/HistoryTest.vcproj | 408 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/InStateReactionTest.vcproj | 408 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/InconsistentHistoryTest1.vcproj | 404 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/InconsistentHistoryTest2.vcproj | 404 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/InconsistentHistoryTest3.vcproj | 404 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/InconsistentHistoryTest4.vcproj | 404 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/InconsistentHistoryTest5.vcproj | 404 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/InconsistentHistoryTest6.vcproj | 404 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/InconsistentHistoryTest7.vcproj | 404 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/InconsistentHistoryTest8.vcproj | 404 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/InvalidChartTest1.vcproj | 404 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/InvalidChartTest2.vcproj | 404 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/InvalidChartTest3.vcproj | 404 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/InvalidResultAssignTest.vcproj | 404 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/InvalidResultCopyTest.vcproj | 408 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/InvalidResultDefCtorTest.vcproj | 404 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/InvalidTransitionTest1.vcproj | 404 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/InvalidTransitionTest2.vcproj | 404 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/StateCastTest.vcproj | 408 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/StateIterationTest.vcproj | 408 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/TerminationTest.vcproj | 408 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/TransitionTest.vcproj | 436 +++++++++++++-------------
   branches/proto/v4/libs/statechart/test/TuTest.vcproj | 436 +++++++++++++-------------
   branches/proto/v4/libs/statechart/test/TypeInfoTest.vcproj | 408 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/UnconsumedResultTest.vcproj | 408 ++++++++++++------------
   branches/proto/v4/libs/statechart/test/UnsuppDeepHistoryTest.vcproj | 404 ++++++++++++------------
   branches/proto/v4/more/getting_started/detail/build-from-source-head.rst | 9
   branches/proto/v4/more/getting_started/detail/build-from-source-tail.rst | 5
   branches/proto/v4/more/getting_started/detail/common-unix.rst | 3
   branches/proto/v4/more/getting_started/detail/common-windows.rst | 4
   branches/proto/v4/more/getting_started/detail/release-variables.rst | 6
   branches/proto/v4/more/getting_started/index.html | 27
   branches/proto/v4/more/getting_started/index.rst | 2
   branches/proto/v4/more/getting_started/unix-variants.html | 266 ++++++++-------
   branches/proto/v4/more/getting_started/unix-variants.rst | 9
   branches/proto/v4/more/getting_started/windows.html | 381 +++++++++++-----------
   branches/proto/v4/more/getting_started/windows.rst | 36 +-
   branches/proto/v4/status/explicit-failures-markup.xml | 25 +
   branches/proto/v4/tools/boostbook/xsl/type.xsl | 56 ++-
   branches/proto/v4/tools/build/v2/build/generators.jam | 15
   branches/proto/v4/tools/build/v2/doc/src/advanced.xml | 551 ++++++++++++++++++++++----------
   branches/proto/v4/tools/build/v2/doc/src/reference.xml | 238 +++-----------
   branches/proto/v4/tools/build/v2/doc/src/standalone.xml | 2
   branches/proto/v4/tools/build/v2/doc/src/tasks.xml | 50 ++
   branches/proto/v4/tools/build/v2/doc/src/userman.xml | 2
   branches/proto/v4/tools/build/v2/example/python_modules/python_helpers.jam | 5
   branches/proto/v4/tools/build/v2/test/test_all.py | 1
   branches/proto/v4/tools/build/v2/tools/common.jam | 9
   branches/proto/v4/tools/build/v2/tools/darwin.jam | 6
   branches/proto/v4/tools/build/v2/tools/gcc.jam | 66 ++-
   branches/proto/v4/tools/build/v2/tools/intel-darwin.jam | 2
   branches/proto/v4/tools/build/v2/tools/intel-linux.jam | 4
   branches/proto/v4/tools/build/v2/tools/intel-win.jam | 46 ++
   branches/proto/v4/tools/build/v2/tools/msvc.jam | 4
   182 files changed, 11350 insertions(+), 10001 deletions(-)

Modified: branches/proto/v4/Jamroot
==============================================================================
--- branches/proto/v4/Jamroot (original)
+++ branches/proto/v4/Jamroot 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -9,7 +9,7 @@
 
 # Usage:
 #
-# bjam [options] [install|stage]
+# bjam [options] [properties] [install|stage]
 #
 # Builds and installs Boost.
 #
@@ -56,8 +56,6 @@
 # --build-dir=DIR Build in this location instead of building
 # within the distribution tree. Recommended!
 #
-# --toolset=toolset Indicates the toolset to build with.
-#
 # --show-libraries Displays the list of Boost libraries that require
 # build and installation steps, then exit.
 #
@@ -93,6 +91,20 @@
 #
 # --without-<library> Do not build, stage, or install the specified
 # <library>. By default, all libraries are built.
+#
+# Properties:
+#
+# toolset=toolset Indicates the toolset to build with.
+#
+# variant=debug|release Select the build variant
+#
+# link=static|shared Whether to build static or shared libraries
+#
+# threading=single|multi Whether to build single or multithreaded binaries
+#
+# runtime-link=static|shared
+# Whether to link to static or shared C and C++ runtime.
+#
 
 # TODO:
 # - handle boost version
@@ -114,7 +126,7 @@
 import symlink ;
 
 path-constant BOOST_ROOT : . ;
-constant BOOST_VERSION : 1.37.0 ;
+constant BOOST_VERSION : 1.38.0 ;
 constant BOOST_JAMROOT_MODULE : $(__name__) ;
 
 local version-tag = [ MATCH "^([^.]+)[.]([^.]+)[.]([^.]+)" : $(BOOST_VERSION) ]
@@ -432,15 +444,15 @@
             local noversion-file ;
             if $(nt)
             {
- noversion-file = [ MATCH "(.*)-[0-9_]+([.]lib)" : $(name) ] ;
+ noversion-file = [ MATCH "(.*)-[0-9_]+(.*[.]lib)" : $(name) ] ;
             }
             else
             {
                 noversion-file =
- [ MATCH "(.*)-[0-9_]+([.]so)[.0-9]*" : $(name) ]
- [ MATCH "(.*)-[0-9_]+([.]dylib)" : $(name) ]
- [ MATCH "(.*)-[0-9_]+([.]a)" : $(name) ]
- [ MATCH "(.*)-[0-9_]+([.]dll[.]a)" : $(name) ] ;
+ [ MATCH "(.*)-[0-9_]+(.*[.]so)[.0-9]*" : $(name) ]
+ [ MATCH "(.*)-[0-9_]+(.*[.]dylib)" : $(name) ]
+ [ MATCH "(.*)-[0-9_]+(.*[.]a)" : $(name) ]
+ [ MATCH "(.*)-[0-9_]+(.*[.]dll[.]a)" : $(name) ] ;
             }
 
             local new-name =

Modified: branches/proto/v4/boost/asio/basic_streambuf.hpp
==============================================================================
--- branches/proto/v4/boost/asio/basic_streambuf.hpp (original)
+++ branches/proto/v4/boost/asio/basic_streambuf.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -34,6 +34,73 @@
 namespace asio {
 
 /// Automatically resizable buffer class based on std::streambuf.
+/**
+ * The @c basic_streambuf class is derived from @c std::streambuf to associate
+ * the streambuf's input and output sequences with one or more character
+ * arrays. These character arrays are internal to the @c basic_streambuf
+ * object, but direct access to the array elements is provided to permit them
+ * to be used efficiently with I/O operations. Characters written to the output
+ * sequence of a @c basic_streambuf object are appended to the input sequence
+ * of the same object.
+ *
+ * The @c basic_streambuf class's public interface is intended to permit the
+ * following implementation strategies:
+ *
+ * @li A single contiguous character array, which is reallocated as necessary
+ * to accommodate changes in the size of the character sequence. This is the
+ * implementation approach currently used in Asio.
+ *
+ * @li A sequence of one or more character arrays, where each array is of the
+ * same size. Additional character array objects are appended to the sequence
+ * to accommodate changes in the size of the character sequence.
+ *
+ * @li A sequence of one or more character arrays of varying sizes. Additional
+ * character array objects are appended to the sequence to accommodate changes
+ * in the size of the character sequence.
+ *
+ * The constructor for basic_streambuf accepts a @c size_t argument specifying
+ * the maximum of the sum of the sizes of the input sequence and output
+ * sequence. During the lifetime of the @c basic_streambuf object, the following
+ * invariant holds:
+ * @code size() <= max_size()@endcode
+ * Any member function that would, if successful, cause the invariant to be
+ * violated shall throw an exception of class @c std::length_error.
+ *
+ * The constructor for @c basic_streambuf takes an Allocator argument. A copy
+ * of this argument is used for any memory allocation performed, by the
+ * constructor and by all member functions, during the lifetime of each @c
+ * basic_streambuf object.
+ *
+ * @par Examples
+ * Writing directly from an streambuf to a socket:
+ * @code
+ * boost::asio::streambuf b;
+ * std::ostream os(&b);
+ * os << "Hello, World!\n";
+ *
+ * // try sending some data in input sequence
+ * size_t n = sock.send(b.data());
+ *
+ * b.consume(n); // sent data is removed from input sequence
+ * @endcode
+ *
+ * Reading from a socket directly into a streambuf:
+ * @code
+ * boost::asio::streambuf b;
+ *
+ * // reserve 512 bytes in output sequence
+ * boost::asio::streambuf::const_buffers_type bufs = b.prepare(512);
+ *
+ * size_t n = sock.receive(bufs);
+ *
+ * // received data is "committed" from output sequence to input sequence
+ * b.commit(n);
+ *
+ * std::istream is(&b);
+ * std::string s;
+ * is >> s;
+ * @endcode
+ */
 template <typename Allocator = std::allocator<char> >
 class basic_streambuf
   : public std::streambuf,
@@ -41,17 +108,21 @@
 {
 public:
 #if defined(GENERATING_DOCUMENTATION)
- /// The type used to represent the get area as a list of buffers.
+ /// The type used to represent the input sequence as a list of buffers.
   typedef implementation_defined const_buffers_type;
 
- /// The type used to represent the put area as a list of buffers.
+ /// The type used to represent the output sequence as a list of buffers.
   typedef implementation_defined mutable_buffers_type;
 #else
   typedef boost::asio::const_buffers_1 const_buffers_type;
   typedef boost::asio::mutable_buffers_1 mutable_buffers_type;
 #endif
 
- /// Construct a buffer with a specified maximum size.
+ /// Construct a basic_streambuf object.
+ /**
+ * Constructs a streambuf with the specified maximum size. The initial size
+ * of the streambuf's input sequence is 0.
+ */
   explicit basic_streambuf(
       std::size_t max_size = (std::numeric_limits<std::size_t>::max)(),
       const Allocator& allocator = Allocator())
@@ -64,34 +135,86 @@
     setp(&buffer_[0], &buffer_[0] + pend);
   }
 
- /// Return the size of the get area in characters.
+ /// Get the size of the input sequence.
+ /**
+ * @returns The size of the input sequence. The value is equal to that
+ * calculated for @c s in the following code:
+ * @code
+ * size_t s = 0;
+ * const_buffers_type bufs = data();
+ * const_buffers_type::const_iterator i = bufs.begin();
+ * while (i != bufs.end())
+ * {
+ * const_buffer buf(*i++);
+ * s += buffer_size(buf);
+ * }
+ * @endcode
+ */
   std::size_t size() const
   {
     return pptr() - gptr();
   }
 
- /// Return the maximum size of the buffer.
+ /// Get the maximum size of the basic_streambuf.
+ /**
+ * @returns The allowed maximum of the sum of the sizes of the input sequence
+ * and output sequence.
+ */
   std::size_t max_size() const
   {
     return max_size_;
   }
 
- /// Get a list of buffers that represents the get area.
+ /// Get a list of buffers that represents the input sequence.
+ /**
+ * @returns An object of type @c const_buffers_type that satisfies
+ * ConstBufferSequence requirements, representing all character arrays in the
+ * input sequence.
+ *
+ * @note The returned object is invalidated by any @c basic_streambuf member
+ * function that modifies the input sequence or output sequence.
+ */
   const_buffers_type data() const
   {
     return boost::asio::buffer(boost::asio::const_buffer(gptr(),
           (pptr() - gptr()) * sizeof(char_type)));
   }
 
- /// Get a list of buffers that represents the put area, with the given size.
- mutable_buffers_type prepare(std::size_t size)
+ /// Get a list of buffers that represents the output sequence, with the given
+ /// size.
+ /**
+ * Ensures that the output sequence can accommodate @c n characters,
+ * reallocating character array objects as necessary.
+ *
+ * @returns An object of type @c mutable_buffers_type that satisfies
+ * MutableBufferSequence requirements, representing character array objects
+ * at the start of the output sequence such that the sum of the buffer sizes
+ * is @c n.
+ *
+ * @throws std::length_error If <tt>size() + n > max_size()</tt>.
+ *
+ * @note The returned object is invalidated by any @c basic_streambuf member
+ * function that modifies the input sequence or output sequence.
+ */
+ mutable_buffers_type prepare(std::size_t n)
   {
- reserve(size);
+ reserve(n);
     return boost::asio::buffer(boost::asio::mutable_buffer(
- pptr(), size * sizeof(char_type)));
+ pptr(), n * sizeof(char_type)));
   }
 
- /// Move the start of the put area by the specified number of characters.
+ /// Move characters from the output sequence to the input sequence.
+ /**
+ * Appends @c n characters from the start of the output sequence to the input
+ * sequence. The beginning of the output sequence is advanced by @c n
+ * characters.
+ *
+ * Requires a preceding call <tt>prepare(x)</tt> where <tt>x >= n</tt>, and
+ * no intervening operations that modify the input or output sequence.
+ *
+ * @throws std::length_error If @c n is greater than the size of the output
+ * sequence.
+ */
   void commit(std::size_t n)
   {
     if (pptr() + n > epptr())
@@ -100,7 +223,12 @@
     setg(eback(), gptr(), pptr());
   }
 
- /// Move the start of the get area by the specified number of characters.
+ /// Remove characters from the input sequence.
+ /**
+ * Removes @c n characters from the beginning of the input sequence.
+ *
+ * @throws std::length_error If <tt>n > size()</tt>.
+ */
   void consume(std::size_t n)
   {
     if (gptr() + n > pptr())
@@ -111,6 +239,10 @@
 protected:
   enum { buffer_delta = 128 };
 
+ /// Override std::streambuf behaviour.
+ /**
+ * Behaves according to the specification of @c std::streambuf::underflow().
+ */
   int_type underflow()
   {
     if (gptr() < pptr())
@@ -124,6 +256,13 @@
     }
   }
 
+ /// Override std::streambuf behaviour.
+ /**
+ * Behaves according to the specification of @c std::streambuf::overflow(),
+ * with the specialisation that @c std::length_error is thrown if appending
+ * the character to the input sequence would require the condition
+ * <tt>size() > max_size()</tt> to be true.
+ */
   int_type overflow(int_type c)
   {
     if (!traits_type::eq_int_type(c, traits_type::eof()))

Modified: branches/proto/v4/boost/asio/detail/resolver_service.hpp
==============================================================================
--- branches/proto/v4/boost/asio/detail/resolver_service.hpp (original)
+++ branches/proto/v4/boost/asio/detail/resolver_service.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -330,7 +330,7 @@
   void start_work_thread()
   {
     boost::asio::detail::mutex::scoped_lock lock(mutex_);
- if (work_thread_ == 0)
+ if (!work_thread_)
     {
       work_thread_.reset(new boost::asio::detail::thread(
             work_io_service_runner(*work_io_service_)));

Modified: branches/proto/v4/boost/asio/impl/read_until.ipp
==============================================================================
--- branches/proto/v4/boost/asio/impl/read_until.ipp (original)
+++ branches/proto/v4/boost/asio/impl/read_until.ipp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -278,19 +278,16 @@
 
     // Look for a match.
     std::pair<iterator, bool> result = match_condition(start, end);
- if (result.first != end)
+ if (result.second)
     {
- if (result.second)
- {
- // Full match. We're done.
- ec = boost::system::error_code();
- return result.first - begin;
- }
- else
- {
- // Partial match. Next search needs to start from beginning of match.
- next_search_start = result.first - begin;
- }
+ // Full match. We're done.
+ ec = boost::system::error_code();
+ return result.first - begin;
+ }
+ else if (result.first != end)
+ {
+ // Partial match. Next search needs to start from beginning of match.
+ next_search_start = result.first - begin;
     }
     else
     {
@@ -858,20 +855,17 @@
 
       // Look for a match.
       std::pair<iterator, bool> result = match_condition_(start, end);
- if (result.first != end)
+ if (result.second)
       {
- if (result.second)
- {
- // Full match. We're done.
- std::size_t bytes = result.first - begin;
- handler_(ec, bytes);
- return;
- }
- else
- {
- // Partial match. Next search needs to start from beginning of match.
- next_search_start_ = result.first - begin;
- }
+ // Full match. We're done.
+ std::size_t bytes = result.first - begin;
+ handler_(ec, bytes);
+ return;
+ }
+ else if (result.first != end)
+ {
+ // Partial match. Next search needs to start from beginning of match.
+ next_search_start_ = result.first - begin;
       }
       else
       {
@@ -951,21 +945,18 @@
   // Look for a match.
   std::size_t next_search_start;
   std::pair<iterator, bool> result = match_condition(begin, end);
- if (result.first != end)
+ if (result.second)
   {
- if (result.second)
- {
- // Full match. We're done.
- boost::system::error_code ec;
- std::size_t bytes = result.first - begin;
- s.get_io_service().post(detail::bind_handler(handler, ec, bytes));
- return;
- }
- else
- {
- // Partial match. Next search needs to start from beginning of match.
- next_search_start = result.first - begin;
- }
+ // Full match. We're done.
+ boost::system::error_code ec;
+ std::size_t bytes = result.first - begin;
+ s.get_io_service().post(detail::bind_handler(handler, ec, bytes));
+ return;
+ }
+ else if (result.first != end)
+ {
+ // Partial match. Next search needs to start from beginning of match.
+ next_search_start = result.first - begin;
   }
   else
   {

Modified: branches/proto/v4/boost/config/auto_link.hpp
==============================================================================
--- branches/proto/v4/boost/config/auto_link.hpp (original)
+++ branches/proto/v4/boost/config/auto_link.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -135,11 +135,16 @@
    // vc80:
 # define BOOST_LIB_TOOLSET "vc80"
 
-#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1500)
+#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1500)
 
    // vc90:
 # define BOOST_LIB_TOOLSET "vc90"
 
+#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1600)
+
+ // vc10:
+# define BOOST_LIB_TOOLSET "vc100"
+
 #elif defined(__BORLANDC__)
 
    // CBuilder 6:

Modified: branches/proto/v4/boost/config/compiler/visualc.hpp
==============================================================================
--- branches/proto/v4/boost/config/compiler/visualc.hpp (original)
+++ branches/proto/v4/boost/config/compiler/visualc.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -22,6 +22,11 @@
 # define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
 # define BOOST_NO_VOID_RETURNS
 # define BOOST_NO_EXCEPTION_STD_NAMESPACE
+
+# if BOOST_MSVC == 1202
+# define BOOST_NO_STD_TYPEINFO
+# endif
+
    // disable min/max macro defines on vc6:
    //
 #endif
@@ -79,7 +84,7 @@
 # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
 #endif
 
-#if _MSC_VER <= 1500 // 1500 == VC++ 9.0
+#if _MSC_VER <= 1600 // 1600 == VC++ 10.0
 # define BOOST_NO_TWO_PHASE_NAME_LOOKUP
 #endif
 
@@ -175,6 +180,8 @@
 # define BOOST_COMPILER_VERSION 8.0
 # elif _MSC_VER == 1500
 # define BOOST_COMPILER_VERSION 9.0
+# elif _MSC_VER == 1600
+# define BOOST_COMPILER_VERSION 10.0
 # else
 # define BOOST_COMPILER_VERSION _MSC_VER
 # endif
@@ -190,7 +197,7 @@
 #endif
 //
 // last known and checked version is 1500 (VC9):
-#if (_MSC_VER > 1500)
+#if (_MSC_VER > 1600)
 # if defined(BOOST_ASSERT_CONFIG)
 # error "Unknown compiler version - please run the configure tests and report the results"
 # else

Modified: branches/proto/v4/boost/date_time/c_local_time_adjustor.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/c_local_time_adjustor.hpp (original)
+++ branches/proto/v4/boost/date_time/c_local_time_adjustor.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -14,7 +14,9 @@
 */
 
 #include <stdexcept>
-#include "boost/date_time/c_time.hpp"
+#include <boost/throw_exception.hpp>
+#include <boost/date_time/compiler_config.hpp>
+#include <boost/date_time/c_time.hpp>
 
 namespace boost {
 namespace date_time {
@@ -35,14 +37,14 @@
       date_type time_t_start_day(1970,1,1);
       time_type time_t_start_time(time_t_start_day,time_duration_type(0,0,0));
       if (t < time_t_start_time) {
- throw std::out_of_range("Cannot convert dates prior to Jan 1, 1970");
+ boost::throw_exception(std::out_of_range("Cannot convert dates prior to Jan 1, 1970"));
+ BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(return time_t_start_time); // should never reach
       }
       date_duration_type dd = t.date() - time_t_start_day;
       time_duration_type td = t.time_of_day();
       std::time_t t2 = dd.days()*86400 + td.hours()*3600 + td.minutes()*60 + td.seconds();
       std::tm tms, *tms_ptr;
       tms_ptr = c_time::localtime(&t2, &tms);
- //tms_ptr = std::localtime(&t2);
       date_type d(static_cast<unsigned short>(tms_ptr->tm_year + 1900),
                   static_cast<unsigned short>(tms_ptr->tm_mon + 1),
                   static_cast<unsigned short>(tms_ptr->tm_mday));

Modified: branches/proto/v4/boost/date_time/c_time.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/c_time.hpp (original)
+++ branches/proto/v4/boost/date_time/c_time.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -14,10 +14,12 @@
   Provide workarounds related to the ctime header
 */
 
-#include "boost/date_time/compiler_config.hpp"
 #include <ctime>
-//Work around libraries that don't put time_t and time in namespace std
+#include <stdexcept>
+#include <boost/throw_exception.hpp>
+#include <boost/date_time/compiler_config.hpp>
 
+//Work around libraries that don't put time_t and time in namespace std
 #ifdef BOOST_NO_STDC_NAMESPACE
 namespace std { using ::time_t; using ::time; using ::localtime;
                 using ::tm; using ::gmtime; }
@@ -40,7 +42,10 @@
    * user created std::tm struct whereas the regular functions use a
    * staticly created struct and return a pointer to that. These wrapper
    * functions require the user to create a std::tm struct and send in a
- * pointer to it. A pointer to the user created struct will be returned. */
+ * pointer to it. A pointer to the user created struct will be returned.
+ * All functions do proper checking of the C function results and throw
+ * exceptions on error. Therefore the functions will never return NULL.
+ */
   struct c_time {
     public:
 #if defined(BOOST_DATE_TIME_HAS_REENTRANT_STD_FUNCTIONS)
@@ -50,6 +55,8 @@
       {
         // localtime_r() not in namespace std???
         result = localtime_r(t, result);
+ if (!result)
+ boost::throw_exception(std::runtime_error("could not convert calendar time to local time"));
         return result;
       }
       //! requires a pointer to a user created std::tm struct
@@ -58,6 +65,8 @@
       {
         // gmtime_r() not in namespace std???
         result = gmtime_r(t, result);
+ if (!result)
+ boost::throw_exception(std::runtime_error("could not convert calendar time to UTC time"));
         return result;
       }
 #else // BOOST_HAS_THREADS
@@ -71,6 +80,8 @@
       static std::tm* localtime(const std::time_t* t, std::tm* result)
       {
         result = std::localtime(t);
+ if (!result)
+ boost::throw_exception(std::runtime_error("could not convert calendar time to local time"));
         return result;
       }
       //! requires a pointer to a user created std::tm struct
@@ -78,6 +89,8 @@
       static std::tm* gmtime(const std::time_t* t, std::tm* result)
       {
         result = std::gmtime(t);
+ if (!result)
+ boost::throw_exception(std::runtime_error("could not convert calendar time to UTC time"));
         return result;
       }
 #if (defined(_MSC_VER) && (_MSC_VER >= 1400))

Modified: branches/proto/v4/boost/date_time/compiler_config.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/compiler_config.hpp (original)
+++ branches/proto/v4/boost/date_time/compiler_config.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -8,7 +8,9 @@
  * $Date$
  */
 
- #include "boost/detail/workaround.hpp"
+#include <cstdlib>
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
 
 // With boost release 1.33, date_time will be using a different,
 // more flexible, IO system. This new system is not compatible with
@@ -26,7 +28,7 @@
 
 // This file performs some local compiler configurations
 
-#include "boost/date_time/locale_config.hpp" //set up locale configurations
+#include <boost/date_time/locale_config.hpp> //set up locale configurations
 
 //Set up a configuration parameter for platforms that have
 //GetTimeOfDay
@@ -49,7 +51,7 @@
 #endif
 
 // include these types before we try to re-define them
-#include "boost/cstdint.hpp"
+#include <boost/cstdint.hpp>
 
 //Define INT64_C for compilers that don't have it
 #if (!defined(INT64_C))
@@ -85,6 +87,26 @@
 #define BOOST_DATE_TIME_INCLUDE_LIMITED_HEADERS
 #endif
 
+// The macro marks up places where compiler complains for missing return statement or
+// uninitialized variables after calling to boost::throw_exception.
+// BOOST_UNREACHABLE_RETURN doesn't work since even compilers that support
+// unreachable statements detection emit such warnings.
+#if defined(_MSC_VER)
+// Use special MSVC extension to markup unreachable code
+# define BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(x) __assume(false)
+#elif !defined(BOOST_NO_UNREACHABLE_RETURN_DETECTION)
+// Call to a non-returning function should suppress the warning
+# if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std {
+ using ::abort;
+}
+# endif // defined(BOOST_NO_STDC_NAMESPACE)
+# define BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(x) std::abort()
+#else
+// For other poor compilers the specified expression is compiled. Usually, this would be a return statement.
+# define BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(x) x
+#endif
+
 /* The following handles the definition of the necessary macros
  * for dll building on Win32 platforms.
  *

Modified: branches/proto/v4/boost/date_time/constrained_value.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/constrained_value.hpp (original)
+++ branches/proto/v4/boost/date_time/constrained_value.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -9,7 +9,12 @@
  * $Date$
  */
 
+#include <exception>
+#include <stdexcept>
 #include <boost/config.hpp>
+#include <boost/throw_exception.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/type_traits/is_base_of.hpp>
 
 namespace boost {
 
@@ -38,21 +43,21 @@
   public:
     typedef typename value_policies::value_type value_type;
     // typedef except_type exception_type;
- constrained_value(value_type value)
+ constrained_value(value_type value) : value_((min)())
     {
       assign(value);
- };
- constrained_value& operator=(value_type v)
- {
+ }
+ constrained_value& operator=(value_type v)
+ {
       assign(v);
       return *this;
- }
+ }
     //! Return the max allowed value (traits method)
- static value_type max BOOST_PREVENT_MACRO_SUBSTITUTION () {return (value_policies::max)();};
+ static value_type max BOOST_PREVENT_MACRO_SUBSTITUTION () {return (value_policies::max)();}
     //! Return the min allowed value (traits method)
- static value_type min BOOST_PREVENT_MACRO_SUBSTITUTION () {return (value_policies::min)();};
+ static value_type min BOOST_PREVENT_MACRO_SUBSTITUTION () {return (value_policies::min)();}
     //! Coerce into the representation type
- operator value_type() const {return value_;};
+ operator value_type() const {return value_;}
   protected:
     value_type value_;
   private:
@@ -69,7 +74,6 @@
         return;
       }
       value_ = value;
-
     }
 };
 
@@ -78,13 +82,32 @@
            rep_type max_value, class exception_type>
   class simple_exception_policy
   {
+ struct exception_wrapper : public exception_type
+ {
+ // In order to support throw_exception mechanism in the BOOST_NO_EXCEPTIONS mode,
+ // we'll have to provide a way to acquire std::exception from the exception being thrown.
+ // However, we cannot derive from it, since it would make it interceptable by this class,
+ // which might not be what the user wanted.
+ operator std::out_of_range () const
+ {
+ // TODO: Make the message more descriptive by using arguments to on_error
+ return std::out_of_range("constrained value boundary has been violated");
+ }
+ };
+
+ typedef typename mpl::if_<
+ is_base_of< std::exception, exception_type >,
+ exception_type,
+ exception_wrapper
+ >::type actual_exception_type;
+
   public:
     typedef rep_type value_type;
- static rep_type min BOOST_PREVENT_MACRO_SUBSTITUTION () { return min_value; };
- static rep_type max BOOST_PREVENT_MACRO_SUBSTITUTION () { return max_value;};
+ static rep_type min BOOST_PREVENT_MACRO_SUBSTITUTION () { return min_value; }
+ static rep_type max BOOST_PREVENT_MACRO_SUBSTITUTION () { return max_value; }
     static void on_error(rep_type, rep_type, violation_enum)
     {
- throw exception_type();
+ boost::throw_exception(actual_exception_type());
     }
   };
 

Modified: branches/proto/v4/boost/date_time/date_duration.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/date_duration.hpp (original)
+++ branches/proto/v4/boost/date_time/date_duration.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -11,6 +11,7 @@
 
 
 #include <boost/operators.hpp>
+#include <boost/date_time/special_defs.hpp>
 
 namespace boost {
 namespace date_time {
@@ -19,11 +20,12 @@
   //! Duration type with date level resolution
   template<class duration_rep_traits>
   class date_duration : private
- boost::less_than_comparable<date_duration< duration_rep_traits>
- , boost::equality_comparable< date_duration< duration_rep_traits>
- , boost::addable< date_duration< duration_rep_traits>
- , boost::subtractable< date_duration< duration_rep_traits>
- > > > >
+ boost::less_than_comparable1< date_duration< duration_rep_traits >
+ , boost::equality_comparable1< date_duration< duration_rep_traits >
+ , boost::addable1< date_duration< duration_rep_traits >
+ , boost::subtractable1< date_duration< duration_rep_traits >
+ , boost::dividable2< date_duration< duration_rep_traits >, int
+ > > > > >
   {
   public:
     typedef typename duration_rep_traits::int_type duration_rep_type;
@@ -80,40 +82,37 @@
      * so this will not compile */
 
     //! Subtract another duration -- result is signed
- date_duration operator-=(const date_duration& rhs)
+ date_duration& operator-=(const date_duration& rhs)
     {
         //days_ -= rhs.days_;
         days_ = days_ - rhs.days_;
         return *this;
     }
     //! Add a duration -- result is signed
- date_duration operator+=(const date_duration& rhs)
+ date_duration& operator+=(const date_duration& rhs)
     {
         days_ = days_ + rhs.days_;
         return *this;
     }
 
     //! unary- Allows for dd = -date_duration(2); -> dd == -2
- date_duration operator-()const
+ date_duration operator-() const
     {
         return date_duration<duration_rep_traits>(get_rep() * (-1));
     }
     //! Division operations on a duration with an integer.
- date_duration<duration_rep_traits> operator/=(int divisor)
+ date_duration& operator/=(int divisor)
     {
         days_ = days_ / divisor;
         return *this;
     }
- date_duration<duration_rep_traits> operator/(int divisor)
- {
- return date_duration<duration_rep_traits>(days_ / divisor);
- }
 
     //! return sign information
     bool is_negative() const
     {
         return days_ < 0;
     }
+
   private:
     duration_rep days_;
   };

Modified: branches/proto/v4/boost/date_time/date_facet.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/date_facet.hpp (original)
+++ branches/proto/v4/boost/date_time/date_facet.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -9,17 +9,21 @@
  * $Date$
  */
 
-
-#include "boost/algorithm/string/replace.hpp"
-#include "boost/date_time/period.hpp"
-#include "boost/date_time/special_values_formatter.hpp"
-#include "boost/date_time/period_formatter.hpp"
-#include "boost/date_time/period_parser.hpp"
-#include "boost/date_time/date_generator_formatter.hpp"
-#include "boost/date_time/date_generator_parser.hpp"
-#include "boost/date_time/format_date_parser.hpp"
+#include <locale>
 #include <string>
 #include <vector>
+#include <iterator> // ostreambuf_iterator
+#include <boost/throw_exception.hpp>
+#include <boost/algorithm/string/replace.hpp>
+#include <boost/date_time/compiler_config.hpp>
+#include <boost/date_time/period.hpp>
+#include <boost/date_time/special_defs.hpp>
+#include <boost/date_time/special_values_formatter.hpp>
+#include <boost/date_time/period_formatter.hpp>
+#include <boost/date_time/period_parser.hpp>
+#include <boost/date_time/date_generator_formatter.hpp>
+#include <boost/date_time/date_generator_parser.hpp>
+#include <boost/date_time/format_date_parser.hpp>
 
 namespace boost { namespace date_time {
 
@@ -638,7 +642,8 @@
         }
         m_sv_parser.match(from, to, mr);
         if(mr.current_match == match_results::PARSE_ERROR) {
- throw std::ios_base::failure("Parse failed. No match found for '" + mr.cache + "'");
+ boost::throw_exception(std::ios_base::failure("Parse failed. No match found for '" + mr.cache + "'"));
+ BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(return from); // should never reach
         }
         dd = duration_type(static_cast<special_values>(mr.current_match));
       }

Modified: branches/proto/v4/boost/date_time/date_generator_parser.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/date_generator_parser.hpp (original)
+++ branches/proto/v4/boost/date_time/date_generator_parser.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -10,12 +10,14 @@
  * $Date$
  */
 
-
-#include "boost/date_time/string_parse_tree.hpp"
-#include "boost/date_time/date_generators.hpp"
-#include "boost/date_time/format_date_parser.hpp"
 #include <string>
 #include <vector>
+#include <iterator> // istreambuf_iterator
+#include <boost/throw_exception.hpp>
+#include <boost/date_time/compiler_config.hpp>
+#include <boost/date_time/string_parse_tree.hpp>
+#include <boost/date_time/date_generators.hpp>
+#include <boost/date_time/format_date_parser.hpp>
 
 namespace boost { namespace date_time {
 
@@ -66,10 +68,10 @@
     static const char_type last_string[5];
     static const char_type before_string[8];
     static const char_type after_string[6];
- static const char_type of_string[3];
-
+ static const char_type of_string[3];
+
     enum phrase_elements {first=0, second, third, fourth, fifth, last,
- before, after, of, number_of_phrase_elements};
+ before, after, of, number_of_phrase_elements};
 
     //! Creates a date_generator_parser with the default set of "element_strings"
     date_generator_parser()
@@ -96,7 +98,7 @@
                           const string_type& after_str,
                           const string_type& of_str)
     {
- element_strings(first_str, second_str, third_str, fourth_str, fifth_str,
+ element_strings(first_str, second_str, third_str, fourth_str, fifth_str,
                       last_str, before_str, after_str, of_str);
     }
 
@@ -128,19 +130,18 @@
     {
       m_element_strings = parse_tree_type(col, this->first); // enum first
     }
-
 
     //! returns partial_date parsed from stream
     template<class facet_type>
     partial_date_type
- get_partial_date_type(stream_itr_type& sitr,
+ get_partial_date_type(stream_itr_type& sitr,
                           stream_itr_type& stream_end,
- std::ios_base& a_ios,
+ std::ios_base& a_ios,
                           const facet_type& facet) const
     {
       // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
+ while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
+
       day_type d(1);
       month_type m(1);
       facet.get(sitr, stream_end, a_ios, d);
@@ -152,18 +153,18 @@
     //! returns nth_kday_of_week parsed from stream
     template<class facet_type>
     nth_kday_type
- get_nth_kday_type(stream_itr_type& sitr,
+ get_nth_kday_type(stream_itr_type& sitr,
                       stream_itr_type& stream_end,
- std::ios_base& a_ios,
+ std::ios_base& a_ios,
                       const facet_type& facet) const
     {
       // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
+ while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
+
       typename nth_kday_type::week_num wn;
       day_of_week_type wd(0); // no default constructor
       month_type m(1); // no default constructor
-
+
       match_results mr = m_element_strings.match(sitr, stream_end);
       switch(mr.current_match) {
         case first : { wn = nth_kday_type::first; break; }
@@ -173,98 +174,98 @@
         case fifth : { wn = nth_kday_type::fifth; break; }
         default:
         {
- throw std::ios_base::failure("Parse failed. No match found for '" + mr.cache + "'");
- break;
+ boost::throw_exception(std::ios_base::failure("Parse failed. No match found for '" + mr.cache + "'"));
+ BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(wn = nth_kday_type::first);
         }
       } // week num
       facet.get(sitr, stream_end, a_ios, wd); // day_of_week
       extract_element(sitr, stream_end, of); // "of" element
       facet.get(sitr, stream_end, a_ios, m); // month
-
+
       return nth_kday_type(wn, wd, m);
     }
 
     //! returns first_kday_of_week parsed from stream
     template<class facet_type>
     first_kday_type
- get_first_kday_type(stream_itr_type& sitr,
+ get_first_kday_type(stream_itr_type& sitr,
                         stream_itr_type& stream_end,
- std::ios_base& a_ios,
+ std::ios_base& a_ios,
                         const facet_type& facet) const
     {
       // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
+ while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
+
       day_of_week_type wd(0); // no default constructor
       month_type m(1); // no default constructor
-
+
       extract_element(sitr, stream_end, first); // "first" element
       facet.get(sitr, stream_end, a_ios, wd); // day_of_week
       extract_element(sitr, stream_end, of); // "of" element
       facet.get(sitr, stream_end, a_ios, m); // month
-
-
+
+
       return first_kday_type(wd, m);
     }
 
     //! returns last_kday_of_week parsed from stream
     template<class facet_type>
     last_kday_type
- get_last_kday_type(stream_itr_type& sitr,
+ get_last_kday_type(stream_itr_type& sitr,
                        stream_itr_type& stream_end,
- std::ios_base& a_ios,
+ std::ios_base& a_ios,
                        const facet_type& facet) const
     {
       // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
+ while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
+
       day_of_week_type wd(0); // no default constructor
       month_type m(1); // no default constructor
-
+
       extract_element(sitr, stream_end, last); // "last" element
       facet.get(sitr, stream_end, a_ios, wd); // day_of_week
       extract_element(sitr, stream_end, of); // "of" element
       facet.get(sitr, stream_end, a_ios, m); // month
-
-
+
+
       return last_kday_type(wd, m);
     }
 
     //! returns first_kday_of_week parsed from stream
     template<class facet_type>
     kday_before_type
- get_kday_before_type(stream_itr_type& sitr,
+ get_kday_before_type(stream_itr_type& sitr,
                          stream_itr_type& stream_end,
- std::ios_base& a_ios,
+ std::ios_base& a_ios,
                          const facet_type& facet) const
     {
       // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
+ while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
+
       day_of_week_type wd(0); // no default constructor
-
+
       facet.get(sitr, stream_end, a_ios, wd); // day_of_week
       extract_element(sitr, stream_end, before);// "before" element
-
+
       return kday_before_type(wd);
     }
 
     //! returns first_kday_of_week parsed from stream
     template<class facet_type>
     kday_after_type
- get_kday_after_type(stream_itr_type& sitr,
+ get_kday_after_type(stream_itr_type& sitr,
                         stream_itr_type& stream_end,
- std::ios_base& a_ios,
+ std::ios_base& a_ios,
                         const facet_type& facet) const
     {
       // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
+ while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
+
       day_of_week_type wd(0); // no default constructor
-
+
       facet.get(sitr, stream_end, a_ios, wd); // day_of_week
       extract_element(sitr, stream_end, after); // "after" element
-
+
       return kday_after_type(wd);
     }
 
@@ -277,13 +278,13 @@
                          typename date_generator_parser::phrase_elements ele) const
     {
       // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
+ while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
       match_results mr = m_element_strings.match(sitr, stream_end);
       if(mr.current_match != ele) {
- throw std::ios_base::failure("Parse failed. No match found for '" + mr.cache + "'");
+ boost::throw_exception(std::ios_base::failure("Parse failed. No match found for '" + mr.cache + "'"));
       }
     }
-
+
   };
 
   template<class date_type, class CharT>

Modified: branches/proto/v4/boost/date_time/date_generators.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/date_generators.hpp (original)
+++ branches/proto/v4/boost/date_time/date_generators.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -12,10 +12,12 @@
 /*! @file date_generators.hpp
   Definition and implementation of date algorithm templates
 */
+
 #include <stdexcept>
 #include <sstream>
-#include "boost/date_time/date.hpp"
-#include "boost/date_time/compiler_config.hpp"
+#include <boost/throw_exception.hpp>
+#include <boost/date_time/date.hpp>
+#include <boost/date_time/compiler_config.hpp>
 
 namespace boost {
 namespace date_time {
@@ -99,13 +101,11 @@
    date_type get_date(year_type y) const
    {
      if((day_ == 29) && (month_ == 2) && !(calendar_type::is_leap_year(y))) {
- std::stringstream ss("");
+ std::ostringstream ss;
        ss << "No Feb 29th in given year of " << y << ".";
- throw std::invalid_argument(ss.str());
- //return date_type(1,1,1); // should never reach
- } else {
- return date_type(y, month_, day_);
+ boost::throw_exception(std::invalid_argument(ss.str()));
      }
+ return date_type(y, month_, day_);
    }
    date_type operator()(year_type y) const
    {
@@ -141,7 +141,7 @@
     * Dec-31 == "365" */
    virtual std::string to_string() const
    {
- std::stringstream ss;
+ std::ostringstream ss;
      date_type d(2004, month_, day_);
      unsigned short c = d.day_of_year();
      c--; // numbered 0-365 while day_of_year is 1 based...
@@ -229,7 +229,7 @@
     /*! Returns a string formatted as "M4.3.0" ==> 3rd Sunday in April. */
     virtual std::string to_string() const
     {
- std::stringstream ss;
+ std::ostringstream ss;
      ss << 'M'
        << static_cast<int>(month_) << '.'
        << static_cast<int>(wn_) << '.'
@@ -275,7 +275,7 @@
         d = d + one_day;
       }
       return d;
- }
+ }
     // added for streaming
     month_type month() const
     {
@@ -289,7 +289,7 @@
     /*! Returns a string formatted as "M4.1.0" ==> 1st Sunday in April. */
     virtual std::string to_string() const
     {
- std::stringstream ss;
+ std::ostringstream ss;
      ss << 'M'
        << static_cast<int>(month_) << '.'
        << 1 << '.'
@@ -350,7 +350,7 @@
     /*! Returns a string formatted as "M4.5.0" ==> last Sunday in April. */
     virtual std::string to_string() const
     {
- std::stringstream ss;
+ std::ostringstream ss;
       ss << 'M'
          << static_cast<int>(month_) << '.'
          << 5 << '.'

Modified: branches/proto/v4/boost/date_time/date_parsing.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/date_parsing.hpp (original)
+++ branches/proto/v4/boost/date_time/date_parsing.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -9,15 +9,15 @@
  * $Date$
  */
 
-#include "boost/tokenizer.hpp"
-#include "boost/lexical_cast.hpp"
-#include "boost/date_time/compiler_config.hpp"
-#include "boost/date_time/parse_format_base.hpp"
 #include <string>
 #include <iterator>
 #include <algorithm>
+#include <boost/tokenizer.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/date_time/compiler_config.hpp>
+#include <boost/date_time/parse_format_base.hpp>
 
-#if defined(BOOST_NO_STD_LOCALE)
+#if defined(BOOST_DATE_TIME_NO_LOCALE)
 #include <cctype> // ::tolower(int)
 #else
 #include <locale> // std::tolower(char, locale)
@@ -34,38 +34,38 @@
    */
   inline
   std::string
- convert_to_lower(const std::string& inp) {
- std::string tmp;
- unsigned i = 0;
-#if defined(BOOST_NO_STD_LOCALE)
- while(i < inp.length()) {
- tmp += static_cast<char>(std::tolower(inp.at(i++)));
+ convert_to_lower(std::string inp)
+ {
+#if !defined(BOOST_DATE_TIME_NO_LOCALE)
+ const std::locale loc(std::locale::classic());
+#endif
+ std::string::size_type i = 0, n = inp.length();
+ for (; i < n; ++i) {
+ inp[i] =
+#if defined(BOOST_DATE_TIME_NO_LOCALE)
+ static_cast<char>(std::tolower(inp[i]));
 #else
- static const std::locale loc(std::locale::classic());
- while(i < inp.length()) {
         // tolower and others were brought in to std for borland >= v564
         // in compiler_config.hpp
- std::string::value_type c(inp.at(i++));
- tmp += std::tolower(c, loc);
+ std::tolower(inp[i], loc);
 #endif
-
- }
- return tmp;
     }
-
+ return inp;
+ }
+
     //! Helper function for parse_date.
     /* Used by-value parameter because we change the string and may
      * want to preserve the original argument */
     template<class month_type>
- unsigned short
- month_str_to_ushort(std::string s) {
+ inline unsigned short
+ month_str_to_ushort(std::string const& s) {
       if((s.at(0) >= '0') && (s.at(0) <= '9')) {
         return boost::lexical_cast<unsigned short>(s);
       }
       else {
- s = convert_to_lower(s);
+ std::string str = convert_to_lower(s);
         typename month_type::month_map_ptr_type ptr = month_type::get_month_map_ptr();
- typename month_type::month_map_type::iterator iter = ptr->find(s);
+ typename month_type::month_map_type::iterator iter = ptr->find(str);
         if(iter != ptr->end()) { // required for STLport
           return iter->second;
         }
@@ -101,7 +101,7 @@
     template<class date_type>
     date_type
     parse_date(const std::string& s, int order_spec = ymd_order_iso) {
- std::string spec_str("");
+ std::string spec_str;
       if(order_spec == ymd_order_iso) {
         spec_str = "ymd";
       }
@@ -196,7 +196,7 @@
                      iterator_type& end,
                      char)
     {
- std::stringstream ss("");
+ std::ostringstream ss;
       while(beg != end) {
         ss << *beg++;
       }
@@ -228,7 +228,7 @@
                                iterator_type& end,
                                wchar_t)
     {
- std::stringstream ss("");
+ std::ostringstream ss;
       while(beg != end) {
 #if !defined(BOOST_DATE_TIME_NO_LOCALE)
         ss << std::use_facet<std::ctype<wchar_t> >(std::locale()).narrow(*beg++, 'X'); // 'X' will cause exception to be thrown
@@ -249,7 +249,7 @@
                      iterator_type& end,
                      std::wstring) {
       std::wstring ws = *beg;
- std::stringstream ss("");
+ std::ostringstream ss;
       std::wstring::iterator wsb = ws.begin(), wse = ws.end();
       while(wsb != wse) {
 #if !defined(BOOST_DATE_TIME_NO_LOCALE)
@@ -289,7 +289,7 @@
       return period<date_type, typename date_type::duration_type>(d1, d2);
     }
 #endif
-
+
 } } //namespace date_time
 
 

Modified: branches/proto/v4/boost/date_time/filetime_functions.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/filetime_functions.hpp (original)
+++ branches/proto/v4/boost/date_time/filetime_functions.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -16,59 +16,138 @@
  */
 
 #include <boost/date_time/compiler_config.hpp>
+
 #if defined(BOOST_HAS_FTIME) // skip this file if no FILETIME
-#include <windows.h>
+
+#if defined(BOOST_USE_WINDOWS_H)
+# include <windows.h>
+#endif
+
 #include <boost/cstdint.hpp>
 #include <boost/date_time/time.hpp>
 
-
 namespace boost {
 namespace date_time {
 
+namespace winapi {
+
+#if !defined(BOOST_USE_WINDOWS_H)
+
+extern "C" {
+
+ struct FILETIME
+ {
+ boost::uint32_t dwLowDateTime;
+ boost::uint32_t dwHighDateTime;
+ };
+ struct SYSTEMTIME
+ {
+ boost::uint16_t wYear;
+ boost::uint16_t wMonth;
+ boost::uint16_t wDayOfWeek;
+ boost::uint16_t wDay;
+ boost::uint16_t wHour;
+ boost::uint16_t wMinute;
+ boost::uint16_t wSecond;
+ boost::uint16_t wMilliseconds;
+ };
+
+ __declspec(dllimport) void __stdcall GetSystemTimeAsFileTime(FILETIME* lpFileTime);
+ __declspec(dllimport) int __stdcall FileTimeToLocalFileTime(const FILETIME* lpFileTime, FILETIME* lpLocalFileTime);
+ __declspec(dllimport) void __stdcall GetSystemTime(SYSTEMTIME* lpSystemTime);
+ __declspec(dllimport) int __stdcall SystemTimeToFileTime(const SYSTEMTIME* lpSystemTime, FILETIME* lpFileTime);
+
+} // extern "C"
+
+#endif // defined(BOOST_USE_WINDOWS_H)
+
+ typedef FILETIME file_time;
+ typedef SYSTEMTIME system_time;
+
+ inline void get_system_time_as_file_time(file_time& ft)
+ {
+#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
+ // Some runtime library implementations expect local times as the norm for ctime.
+ file_time ft_utc;
+ GetSystemTimeAsFileTime(&ft_utc);
+ FileTimeToLocalFileTime(&ft_utc, &ft);
+#elif defined(BOOST_NO_GETSYSTEMTIMEASFILETIME)
+ system_time st;
+ GetSystemTime(&st);
+ SystemTimeToFileTime(&st, ftp);
+#else
+ GetSystemTimeAsFileTime(&ft);
+#endif
+ }
+
+ /*!
+ * The function converts file_time into number of nanoseconds elapsed since 1970-Jan-01
+ *
+ * \note The function is templated on the FILETIME type, so that
+ * it can be used with both native FILETIME and the ad-hoc
+ * boost::date_time::winapi::file_time type.
+ */
+ template< typename FileTimeT >
+ inline boost::uint64_t file_time_to_nanoseconds(FileTimeT const& ft)
+ {
+ /* shift is difference between 1970-Jan-01 & 1601-Jan-01
+ * in 100-nanosecond intervals */
+ const uint64_t c1 = 27111902UL;
+ const uint64_t c2 = 3577643008UL; // issues warning without 'UL'
+ const uint64_t shift = (c1 << 32) + c2;
+
+ union {
+ FileTimeT as_file_time;
+ uint64_t as_integer;
+ } caster;
+ caster.as_file_time = ft;
+
+ caster.as_integer -= shift; // filetime is now 100-nanos since 1970-Jan-01
+ return (caster.as_integer * 100); // upscale to nanoseconds
+ }
+
+} // namespace winapi
 
   //! Create a time object from an initialized FILETIME struct.
- /*! Create a time object from an initialized FILETIME struct.
+ /*!
+ * Create a time object from an initialized FILETIME struct.
    * A FILETIME struct holds 100-nanosecond units (0.0000001). When
- * built with microsecond resolution the FILETIME's sub second value
- * will be truncated. Nanosecond resolution has no truncation. */
- template<class time_type>
+ * built with microsecond resolution the file_time's sub second value
+ * will be truncated. Nanosecond resolution has no truncation.
+ *
+ * \note The function is templated on the FILETIME type, so that
+ * it can be used with both native FILETIME and the ad-hoc
+ * boost::date_time::winapi::file_time type.
+ */
+ template< typename TimeT, typename FileTimeT >
   inline
- time_type time_from_ftime(const FILETIME& ft){
- typedef typename time_type::date_type date_type;
- typedef typename time_type::date_duration_type date_duration_type;
- typedef typename time_type::time_duration_type time_duration_type;
-
- /* OFFSET is difference between 1970-Jan-01 & 1601-Jan-01
- * in 100-nanosecond intervals */
- uint64_t c1 = 27111902UL;
- uint64_t c2 = 3577643008UL; // issues warning without 'UL'
- const uint64_t OFFSET = (c1 << 32) + c2;
- const long sec_pr_day = 86400; // seconds per day
-
- uint64_t filetime = ft.dwHighDateTime;
- filetime <<= 32;
- filetime += ft.dwLowDateTime;
- filetime -= OFFSET; // filetime is now 100-nanos since 1970-Jan-01
-
- uint64_t sec = filetime / 10000000;
-#if defined(BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG)
- uint64_t sub_sec = (filetime % 10000000) * 100; // nanoseconds
-#else
- uint64_t sub_sec = (filetime % 10000000) / 10; // truncate to microseconds
+ TimeT time_from_ftime(const FileTimeT& ft)
+ {
+ typedef typename TimeT::date_type date_type;
+ typedef typename TimeT::date_duration_type date_duration_type;
+ typedef typename TimeT::time_duration_type time_duration_type;
+
+ uint64_t nanos = winapi::file_time_to_nanoseconds(ft);
+
+ uint64_t sec = nanos / 1000000000UL;
+ uint32_t sub_sec = (nanos % 1000000000UL); // nanoseconds since the last second
+#if !defined(BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG)
+ sub_sec /= 1000; // truncate to microseconds
 #endif
 
     // split sec into usable chunks: days, hours, minutes, & seconds
- long _d = sec / sec_pr_day;
- long tmp = sec % sec_pr_day;
- long _h = tmp / 3600; // sec_pr_hour
+ const uint32_t sec_per_day = 86400; // seconds per day
+ uint32_t days = static_cast< uint32_t >(sec / sec_per_day);
+ uint32_t tmp = static_cast< uint32_t >(sec % sec_per_day);
+ uint32_t hours = tmp / 3600; // sec_per_hour
     tmp %= 3600;
- long _m = tmp / 60; // sec_pr_min
+ uint32_t minutes = tmp / 60; // sec_per_min
     tmp %= 60;
- long _s = tmp; // seconds
+ uint32_t seconds = tmp; // seconds
 
- date_duration_type dd(_d);
+ date_duration_type dd(days);
     date_type d = date_type(1970, Jan, 01) + dd;
- return time_type(d, time_duration_type(_h, _m, _s, sub_sec));
+ return TimeT(d, time_duration_type(hours, minutes, seconds, sub_sec));
   }
 
 }} // boost::date_time

Modified: branches/proto/v4/boost/date_time/format_date_parser.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/format_date_parser.hpp (original)
+++ branches/proto/v4/boost/date_time/format_date_parser.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -17,7 +17,20 @@
 #include "boost/date_time/special_values_parser.hpp"
 #include <string>
 #include <vector>
+#include <sstream>
+#include <iterator>
+#ifndef BOOST_NO_STDC_NAMESPACE
+# include <cctype>
+#else
+# include <ctype.h>
+#endif
 
+#ifdef BOOST_NO_STDC_NAMESPACE
+namespace std {
+ using ::isspace;
+ using ::isdigit;
+}
+#endif
 namespace boost { namespace date_time {
   
 //! Helper function for parsing fixed length strings into integers
@@ -57,7 +70,7 @@
   }
   try {
     i = boost::lexical_cast<int_type>(mr.cache);
- }catch(bad_lexical_cast blc){
+ }catch(bad_lexical_cast&){
     // we want to return -1 if the cast fails so nothing to do here
   }
   return i;
@@ -139,7 +152,7 @@
 {
  public:
   typedef std::basic_string<charT> string_type;
- typedef std::basic_ostringstream<charT> stringstream_type;
+ typedef std::basic_istringstream<charT> stringstream_type;
   typedef std::istreambuf_iterator<charT> stream_itr_type;
   typedef typename string_type::const_iterator const_itr;
   typedef typename date_type::year_type year_type;
@@ -216,8 +229,7 @@
              const string_type& format_str,
              const special_values_parser<date_type,charT>& sv_parser) const
   {
- stringstream_type ss;
- ss << value;
+ stringstream_type ss(value);
     stream_itr_type sitr(ss);
     stream_itr_type stream_end;
     return parse_date(sitr, stream_end, format_str, sv_parser);

Modified: branches/proto/v4/boost/date_time/gregorian/conversion.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/gregorian/conversion.hpp (original)
+++ branches/proto/v4/boost/date_time/gregorian/conversion.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -9,18 +9,20 @@
  * $Date$
  */
 
-#include <exception>
-#include "boost/date_time/gregorian/gregorian_types.hpp"
-#include "boost/date_time/c_time.hpp"
+#include <string>
+#include <stdexcept>
+#include <boost/throw_exception.hpp>
+#include <boost/date_time/gregorian/gregorian_types.hpp>
+#include <boost/date_time/c_time.hpp>
 #if defined(USE_DATE_TIME_PRE_1_33_FACET_IO)
 # if defined(BOOST_DATE_TIME_INCLUDE_LIMITED_HEADERS)
-# include "boost/date_time/gregorian/formatters_limited.hpp"
+# include <boost/date_time/gregorian/formatters_limited.hpp>
 # else
-# include "boost/date_time/gregorian/formatters.hpp"
+# include <boost/date_time/gregorian/formatters.hpp>
 # endif // BOOST_DATE_TIME_INCLUDE_LIMITED_HEADERS
 #else
 # include <sstream>
-# include "boost/date_time/gregorian/gregorian_io.hpp"
+# include <boost/date_time/gregorian/gregorian_io.hpp>
 #endif // USE_DATE_TIME_PRE_1_33_FACET_IO
 
 namespace boost {
@@ -33,14 +35,15 @@
   std::tm to_tm(const date& d)
   {
     if(d.is_pos_infinity() || d.is_neg_infinity() || d.is_not_a_date()){
+ std::string s = "tm unable to handle date value of ";
 #if defined(USE_DATE_TIME_PRE_1_33_FACET_IO)
- std::string s("tm unable to handle date value of " + to_simple_string(d));
- throw std::out_of_range(s);
+ s += to_simple_string(d);
 #else
- std::stringstream ss;
- ss << "tm unable to handle date value of " << d;
- throw std::out_of_range(ss.str());
+ std::ostringstream ss;
+ ss << d;
+ s += ss.str();
 #endif // USE_DATE_TIME_PRE_1_33_FACET_IO
+ boost::throw_exception(std::out_of_range(s));
     }
     std::tm datetm;
     boost::gregorian::date::ymd_type ymd = d.year_month_day();

Modified: branches/proto/v4/boost/date_time/gregorian/greg_date.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/gregorian/greg_date.hpp (original)
+++ branches/proto/v4/boost/date_time/gregorian/greg_date.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -9,10 +9,11 @@
  * $Date$
  */
 
-#include "boost/date_time/date.hpp"
-#include "boost/date_time/special_defs.hpp"
-#include "boost/date_time/gregorian/greg_calendar.hpp"
-#include "boost/date_time/gregorian/greg_duration.hpp"
+#include <boost/throw_exception.hpp>
+#include <boost/date_time/date.hpp>
+#include <boost/date_time/special_defs.hpp>
+#include <boost/date_time/gregorian/greg_calendar.hpp>
+#include <boost/date_time/gregorian/greg_duration.hpp>
 
 namespace boost {
 namespace gregorian {
@@ -55,7 +56,7 @@
       : date_time::date<date, gregorian_calendar, date_duration>(y, m, d)
     {
       if (gregorian_calendar::end_of_month_day(y, m) < d) {
- throw bad_day_of_month(std::string("Day of month is not valid for year"));
+ boost::throw_exception(bad_day_of_month(std::string("Day of month is not valid for year")));
       }
     }
     //! Constructor from a ymd_type structure

Modified: branches/proto/v4/boost/date_time/gregorian/greg_duration.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/gregorian/greg_duration.hpp (original)
+++ branches/proto/v4/boost/date_time/gregorian/greg_duration.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -9,30 +9,126 @@
  * $Date$
  */
 
-#include "boost/date_time/date_duration.hpp"
-#if defined(BOOST_DATE_TIME_OPTIONAL_GREGORIAN_TYPES)
-#include "boost/date_time/date_duration_types.hpp"
-#endif
-#include "boost/date_time/int_adapter.hpp"
-
+#include <boost/date_time/date_duration.hpp>
+#include <boost/date_time/int_adapter.hpp>
+#include <boost/date_time/special_defs.hpp>
 
 namespace boost {
 namespace gregorian {
 
-
   //!An internal date representation that includes infinities, not a date
   typedef boost::date_time::duration_traits_adapted date_duration_rep;
 
   //! Durations in days for gregorian system
   /*! \ingroup date_basics
    */
- typedef date_time::date_duration<date_duration_rep> date_duration;
+ class date_duration :
+ public boost::date_time::date_duration< date_duration_rep >
+ {
+ typedef boost::date_time::date_duration< date_duration_rep > base_type;
+
+ public:
+ typedef base_type::duration_rep duration_rep;
+
+ //! Construct from a day count
+ explicit date_duration(duration_rep day_count = 0) : base_type(day_count) {}
+
+ //! construct from special_values
+ date_duration(date_time::special_values sv) : base_type(sv) {}
+
+ //! Copy constructor
+ date_duration(const date_duration& other) : base_type(static_cast< base_type const& >(other))
+ {}
+
+ //! Construct from another date_duration
+ date_duration(const base_type& other) : base_type(other)
+ {}
+
+ // Relational operators
+ // NOTE: Because of date_time::date_duration< T > design choice we don't use Boost.Operators here,
+ // because we need the class to be a direct base. Either lose EBO, or define operators by hand.
+ // The latter is more effecient.
+ bool operator== (const date_duration& rhs) const
+ {
+ return base_type::operator== (rhs);
+ }
+ bool operator!= (const date_duration& rhs) const
+ {
+ return !operator== (rhs);
+ }
+ bool operator< (const date_duration& rhs) const
+ {
+ return base_type::operator< (rhs);
+ }
+ bool operator> (const date_duration& rhs) const
+ {
+ return !(base_type::operator< (rhs) || base_type::operator== (rhs));
+ }
+ bool operator<= (const date_duration& rhs) const
+ {
+ return (base_type::operator< (rhs) || base_type::operator== (rhs));
+ }
+ bool operator>= (const date_duration& rhs) const
+ {
+ return !base_type::operator< (rhs);
+ }
+
+ //! Subtract another duration -- result is signed
+ date_duration& operator-= (const date_duration& rhs)
+ {
+ base_type::operator-= (rhs);
+ return *this;
+ }
+ friend date_duration operator- (date_duration rhs, date_duration const& lhs)
+ {
+ rhs -= lhs;
+ return rhs;
+ }
+
+ //! Add a duration -- result is signed
+ date_duration& operator+= (const date_duration& rhs)
+ {
+ base_type::operator+= (rhs);
+ return *this;
+ }
+ friend date_duration operator+ (date_duration rhs, date_duration const& lhs)
+ {
+ rhs += lhs;
+ return rhs;
+ }
+
+ //! unary- Allows for dd = -date_duration(2); -> dd == -2
+ date_duration operator- ()const
+ {
+ return date_duration(get_rep() * (-1));
+ }
+
+ //! Division operations on a duration with an integer.
+ date_duration& operator/= (int divisor)
+ {
+ base_type::operator/= (divisor);
+ return *this;
+ }
+ friend date_duration operator/ (date_duration rhs, int lhs)
+ {
+ rhs /= lhs;
+ return rhs;
+ }
+
+ //! Returns the smallest duration -- used by to calculate 'end'
+ static date_duration unit()
+ {
+ return date_duration(base_type::unit().get_rep());
+ }
+ };
 
   //! Shorthand for date_duration
   typedef date_duration days;
 
 } } //namespace gregorian
 
-
+#if defined(BOOST_DATE_TIME_OPTIONAL_GREGORIAN_TYPES)
+#include <boost/date_time/date_duration_types.hpp>
+#endif
 
 #endif

Modified: branches/proto/v4/boost/date_time/gregorian/greg_duration_types.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/gregorian/greg_duration_types.hpp (original)
+++ branches/proto/v4/boost/date_time/gregorian/greg_duration_types.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -9,11 +9,11 @@
  */
 
 
-#include "boost/date_time/gregorian/greg_date.hpp"
-#include "boost/date_time/int_adapter.hpp"
-#include "boost/date_time/adjust_functors.hpp"
-#include "boost/date_time/date_duration.hpp"
-#include "boost/date_time/date_duration_types.hpp"
+#include <boost/date_time/gregorian/greg_date.hpp>
+#include <boost/date_time/int_adapter.hpp>
+#include <boost/date_time/adjust_functors.hpp>
+#include <boost/date_time/date_duration_types.hpp>
+#include <boost/date_time/gregorian/greg_duration.hpp>
 
 namespace boost {
 namespace gregorian {
@@ -27,7 +27,16 @@
 
   typedef date_time::months_duration<greg_durations_config> months;
   typedef date_time::years_duration<greg_durations_config> years;
- typedef date_time::weeks_duration<date_time::duration_traits_adapted> weeks;
+
+ class weeks_duration : public date_duration {
+ public:
+ weeks_duration(duration_rep w)
+ : date_duration(w * 7) {}
+ weeks_duration(date_time::special_values sv)
+ : date_duration(sv) {}
+ };
+
+ typedef weeks_duration weeks;
 
 }} // namespace boost::gregorian
 

Modified: branches/proto/v4/boost/date_time/gregorian/greg_facet.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/gregorian/greg_facet.hpp (original)
+++ branches/proto/v4/boost/date_time/gregorian/greg_facet.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -12,12 +12,15 @@
 #include "boost/date_time/gregorian/gregorian_types.hpp"
 #include "boost/date_time/date_formatting_locales.hpp" // sets BOOST_DATE_TIME_NO_LOCALE
 #include "boost/date_time/gregorian/parsers.hpp"
-#include <string>
-#include <exception>
 
 //This file is basically commented out if locales are not supported
 #ifndef BOOST_DATE_TIME_NO_LOCALE
 
+#include <string>
+#include <memory>
+#include <locale>
+#include <iostream>
+#include <exception>
 
 namespace boost {
 namespace gregorian {
@@ -286,14 +289,12 @@
     /* bad_cast will be thrown if the desired facet is not accessible
      * so we can generate the facet. This has the drawback of using english
      * names as a default. */
- catch(std::bad_cast bc){
- std::cout << "Month exception caught" << std::endl;
+ catch(std::bad_cast&){
       charT a = '\0';
- const facet_def* f = create_facet_def(a);
+ std::auto_ptr< const facet_def > f(create_facet_def(a));
       num = date_time::find_match(f->get_short_month_names(),
                                   f->get_long_month_names(),
                                   (greg_month::max)(), s);
- delete(f);
     }
     
     num += 1; // months numbered 1-12
@@ -328,14 +329,12 @@
     /* bad_cast will be thrown if the desired facet is not accessible
      * so we can generate the facet. This has the drawback of using english
      * names as a default. */
- catch(std::bad_cast bc){
- //std::cout << "Weekday exception caught" << std::endl;
+ catch(std::bad_cast&){
       charT a = '\0';
- const facet_def* f = create_facet_def(a);
+ std::auto_ptr< const facet_def > f(create_facet_def(a));
       num = date_time::find_match(f->get_short_weekday_names(),
                                   f->get_long_weekday_names(),
                                   (greg_weekday::max)(), s);
- delete(f);
     }
    
     wd = greg_weekday(num); // weekdays numbered 0-6

Modified: branches/proto/v4/boost/date_time/gregorian/greg_serialize.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/gregorian/greg_serialize.hpp (original)
+++ branches/proto/v4/boost/date_time/gregorian/greg_serialize.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -72,10 +72,10 @@
   ar & make_nvp("date", ds);
   try{
     d = ::boost::gregorian::from_undelimited_string(ds);
- }catch(bad_lexical_cast be) {
+ }catch(bad_lexical_cast&) {
     gregorian::special_values sv = gregorian::special_value_from_string(ds);
     if(sv == gregorian::not_special) {
- throw(be); // no match found, rethrow original exception
+ throw; // no match found, rethrow original exception
     }
     else {
       d = gregorian::date(sv);

Modified: branches/proto/v4/boost/date_time/gregorian/gregorian_io.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/gregorian/gregorian_io.hpp (original)
+++ branches/proto/v4/boost/date_time/gregorian/gregorian_io.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -9,10 +9,17 @@
  * $Date$
  */
 
-#include "boost/date_time/date_facet.hpp"
-#include "boost/io/ios_state.hpp"
-#include <iostream>
 #include <locale>
+#include <iostream>
+#include <iterator> // i/ostreambuf_iterator
+#include <boost/io/ios_state.hpp>
+#include <boost/date_time/date_facet.hpp>
+#include <boost/date_time/period_parser.hpp>
+#include <boost/date_time/period_formatter.hpp>
+#include <boost/date_time/special_values_parser.hpp>
+#include <boost/date_time/special_values_formatter.hpp>
+#include <boost/date_time/gregorian/gregorian_types.hpp>
+#include <boost/date_time/gregorian/conversion.hpp> // to_tm will be needed in the facets
 
 namespace boost {
 namespace gregorian {

Modified: branches/proto/v4/boost/date_time/int_adapter.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/int_adapter.hpp (original)
+++ branches/proto/v4/boost/date_time/int_adapter.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -14,7 +14,9 @@
 #include "boost/limits.hpp" //work around compilers without limits
 #include "boost/date_time/special_defs.hpp"
 #include "boost/date_time/locale_config.hpp"
-#include <iostream>
+#ifndef BOOST_DATE_TIME_NO_LOCALE
+# include <ostream>
+#endif
 
 namespace boost {
 namespace date_time {

Modified: branches/proto/v4/boost/date_time/local_time/local_date_time.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/local_time/local_date_time.hpp (original)
+++ branches/proto/v4/boost/date_time/local_time/local_date_time.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -8,15 +8,17 @@
  * $Date$
  */
 
-
-#include "boost/date_time/time.hpp"
-#include "boost/date_time/posix_time/posix_time.hpp" //todo remove?
-#include "boost/shared_ptr.hpp"
-#include "boost/date_time/dst_rules.hpp"
-#include "boost/date_time/time_zone_base.hpp"
-#include "boost/date_time/special_defs.hpp"
 #include <string>
+#include <iomanip>
 #include <sstream>
+#include <stdexcept>
+#include <boost/shared_ptr.hpp>
+#include <boost/throw_exception.hpp>
+#include <boost/date_time/time.hpp>
+#include <boost/date_time/posix_time/posix_time.hpp> //todo remove?
+#include <boost/date_time/dst_rules.hpp>
+#include <boost/date_time/time_zone_base.hpp>
+#include <boost/date_time/special_defs.hpp>
 
 namespace boost {
 namespace local_time {
@@ -24,19 +26,19 @@
   //! simple exception for reporting when STD or DST cannot be determined
   struct ambiguous_result : public std::logic_error
   {
- ambiguous_result (std::string _msg="") :
- std::logic_error(std::string("Daylight Savings Results are ambiguous: " + _msg)) {}
+ ambiguous_result (std::string const& msg = std::string()) :
+ std::logic_error(std::string("Daylight Savings Results are ambiguous: " + msg)) {}
   };
   //! simple exception for when time label given cannot exist
   struct time_label_invalid : public std::logic_error
   {
- time_label_invalid (std::string _msg="") :
- std::logic_error(std::string("Time label given is invalid: " + _msg)) {}
+ time_label_invalid (std::string const& msg = std::string()) :
+ std::logic_error(std::string("Time label given is invalid: " + msg)) {}
   };
   struct dst_not_valid: public std::logic_error
   {
- dst_not_valid(std::string _msg="") :
- std::logic_error(std::string("is_dst flag does not match resulting dst for time label given: " + _msg)) {}
+ dst_not_valid(std::string const& msg = std::string()) :
+ std::logic_error(std::string("is_dst flag does not match resulting dst for time label given: " + msg)) {}
   };
 
   //TODO: I think these should be in local_date_time_base and not
@@ -110,17 +112,17 @@
         // ambig occurs at end, invalid at start
         if(result == invalid_time_label){
           // Ex: 2:15am local on trans-in day in nyc, dst_flag irrelevant
- std::stringstream ss;
+ std::ostringstream ss;
           ss << "time given: " << d << ' ' << td;
- throw time_label_invalid(ss.str());
+ boost::throw_exception(time_label_invalid(ss.str()));
         }
         else if(result != ambiguous && in_dst != dst_flag){
           // is dst_flag accurate?
           // Ex: false flag in NYC in June
- std::stringstream ss;
- ss << "flag given: " << (dst_flag ? "dst=true" : "dst=false")
- << ", dst calculated: " << (in_dst ? "dst=true" : "dst=false");
- throw dst_not_valid(ss.str());
+ std::ostringstream ss;
+ ss.setf(std::ios_base::boolalpha);
+ ss << "flag given: dst=" << dst_flag << ", dst calculated: dst=" << in_dst;
+ boost::throw_exception(dst_not_valid(ss.str()));
         }
         
         // everything checks out and conversion to utc already done
@@ -146,9 +148,9 @@
       time_is_dst_result result = check_dst(d, td, tz);
       if(result == ambiguous) {
         if(calc_option == EXCEPTION_ON_ERROR){
- std::stringstream ss;
+ std::ostringstream ss;
           ss << "time given: " << d << ' ' << td;
- throw ambiguous_result(ss.str());
+ boost::throw_exception(ambiguous_result(ss.str()));
         }
         else{ // NADT on error
           this->time_ = posix_time::posix_time_system::get_time_rep(date_type(date_time::not_a_date_time), time_duration_type(date_time::not_a_date_time));
@@ -156,9 +158,9 @@
       }
       else if(result == invalid_time_label){
         if(calc_option == EXCEPTION_ON_ERROR){
- std::stringstream ss;
+ std::ostringstream ss;
           ss << "time given: " << d << ' ' << td;
- throw time_label_invalid(ss.str());
+ boost::throw_exception(time_label_invalid(ss.str()));
         }
         else{ // NADT on error
           this->time_ = posix_time::posix_time_system::get_time_rep(date_type(date_time::not_a_date_time), time_duration_type(date_time::not_a_date_time));
@@ -278,7 +280,7 @@
     std::string to_string() const
     {
       //TODO is this a temporary function ???
- std::stringstream ss;
+ std::ostringstream ss;
       if(this->is_special()){
         ss << utc_time();
         return ss.str();
@@ -497,7 +499,7 @@
     std::string zone_as_offset(const time_duration_type& td,
                                const std::string& separator) const
     {
- std::stringstream ss;
+ std::ostringstream ss;
       if(td.is_negative()) {
         // a negative duration is represented as "-[h]h:mm"
         // we require two digits for the hour. A positive duration

Modified: branches/proto/v4/boost/date_time/local_time/local_time_io.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/local_time/local_time_io.hpp (original)
+++ branches/proto/v4/boost/date_time/local_time/local_time_io.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -8,12 +8,15 @@
  * $Date$
  */
 
+#include <locale>
 #include <iostream>
-#include "boost/date_time/local_time/local_date_time.hpp"
-#include "boost/date_time/local_time/posix_time_zone.hpp"
-#include "boost/date_time/time_facet.hpp"
-#include "boost/date_time/string_convert.hpp"
-#include "boost/io/ios_state.hpp"
+#include <iterator> // i/ostreambuf_iterator
+#include <boost/io/ios_state.hpp>
+#include <boost/date_time/time_facet.hpp>
+#include <boost/date_time/string_convert.hpp>
+#include <boost/date_time/local_time/local_date_time.hpp>
+#include <boost/date_time/local_time/posix_time_zone.hpp>
+#include <boost/date_time/local_time/conversion.hpp> // to_tm will be needed in the facets
 
 namespace boost {
 namespace local_time {
@@ -106,13 +109,79 @@
           // if the user want's to fail quietly, we simply set the failbit
           is.setstate(std::ios_base::failbit);
         }
-
+
+ }
+ }
+ return is;
+ }
+
+ //! output operator for local_time_period
+ template <class CharT, class TraitsT>
+ inline
+ std::basic_ostream<CharT, TraitsT>&
+ operator<<(std::basic_ostream<CharT, TraitsT>& os,
+ const boost::local_time::local_time_period& p) {
+ boost::io::ios_flags_saver iflags(os);
+ typedef boost::date_time::time_facet<local_date_time, CharT> custom_facet;
+ typedef std::time_put<CharT> std_time_facet;
+ std::ostreambuf_iterator<CharT> oitr(os);
+ if (std::has_facet<custom_facet>(os.getloc())) {
+ std::use_facet<custom_facet>(os.getloc()).put(oitr, os, os.fill(), p);
+ }
+ else {
+ //instantiate a custom facet for dealing with periods since the user
+ //has not put one in the stream so far. This is for efficiency
+ //since we would always need to reconstruct for every time period
+ //if the local did not already exist. Of course this will be overridden
+ //if the user imbues as some later point.
+ std::ostreambuf_iterator<CharT> oitr(os);
+ custom_facet* f = new custom_facet();
+ std::locale l = std::locale(os.getloc(), f);
+ os.imbue(l);
+ f->put(oitr, os, os.fill(), p);
+ }
+ return os;
+ }
+
+ //! input operator for local_time_period
+ template <class CharT, class Traits>
+ inline
+ std::basic_istream<CharT, Traits>&
+ operator>>(std::basic_istream<CharT, Traits>& is, boost::local_time::local_time_period& tp)
+ {
+ boost::io::ios_flags_saver iflags(is);
+ typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
+ if (strm_sentry) {
+ try {
+ typedef typename date_time::time_input_facet<local_date_time, CharT> time_input_facet;
+
+ std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
+ if(std::has_facet<time_input_facet>(is.getloc())) {
+ std::use_facet<time_input_facet>(is.getloc()).get(sit, str_end, is, tp);
+ }
+ else {
+ time_input_facet* f = new time_input_facet();
+ std::locale l = std::locale(is.getloc(), f);
+ is.imbue(l);
+ f->get(sit, str_end, is, tp);
+ }
+ }
+ catch(...) {
+ std::ios_base::iostate exception_mask = is.exceptions();
+ if(std::ios_base::failbit & exception_mask) {
+ try { is.setstate(std::ios_base::failbit); }
+ catch(std::ios_base::failure&) {}
+ throw; // rethrow original exception
+ }
+ else {
+ is.setstate(std::ios_base::failbit);
+ }
+
       }
     }
     return is;
   }
 
-
 } } // namespaces
 
 #endif // BOOST_DATE_TIME_LOCAL_TIME_IO_HPP__

Modified: branches/proto/v4/boost/date_time/local_time/posix_time_zone.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/local_time/posix_time_zone.hpp (original)
+++ branches/proto/v4/boost/date_time/local_time/posix_time_zone.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -10,15 +10,16 @@
 
 #include <string>
 #include <sstream>
-#include "boost/date_time/gregorian/gregorian.hpp"
-#include "boost/date_time/time_zone_names.hpp"
-#include "boost/date_time/time_zone_base.hpp"
-#include "boost/date_time/local_time/dst_transition_day_rules.hpp"
-#include "boost/date_time/posix_time/posix_time.hpp"
-#include "boost/date_time/string_convert.hpp"
-#include "boost/date_time/time_parsing.hpp"
-#include "boost/tokenizer.hpp"
 #include <stdexcept>
+#include <boost/tokenizer.hpp>
+#include <boost/throw_exception.hpp>
+#include <boost/date_time/gregorian/gregorian.hpp>
+#include <boost/date_time/time_zone_names.hpp>
+#include <boost/date_time/time_zone_base.hpp>
+#include <boost/date_time/local_time/dst_transition_day_rules.hpp>
+#include <boost/date_time/posix_time/posix_time.hpp>
+#include <boost/date_time/string_convert.hpp>
+#include <boost/date_time/time_parsing.hpp>
 
 namespace boost{
 namespace local_time{
@@ -26,12 +27,14 @@
   //! simple exception for UTC and Daylight savings start/end offsets
   struct bad_offset : public std::out_of_range
   {
- bad_offset(std::string _msg="") : std::out_of_range(std::string("Offset out of range: " + _msg)) {}
+ bad_offset(std::string const& msg = std::string()) :
+ std::out_of_range(std::string("Offset out of range: " + msg)) {}
   };
   //! simple exception for UTC daylight savings adjustment
   struct bad_adjustment : public std::out_of_range
   {
- bad_adjustment(std::string _msg="") : std::out_of_range(std::string("Adjustment out of range: " + _msg)) {}
+ bad_adjustment(std::string const& msg = std::string()) :
+ std::out_of_range(std::string("Adjustment out of range: " + msg)) {}
   };
   
   typedef boost::date_time::dst_adjustment_offsets<boost::posix_time::time_duration> dst_adjustment_offsets;
@@ -231,7 +234,7 @@
     void calc_zone(const string_type& obj){
       const char_type empty_string[2] = {'\0'};
       stringstream_type ss(empty_string);
- typename string_type::const_iterator sit = obj.begin();
+ typename string_type::const_pointer sit = obj.c_str(), obj_end = sit + obj.size();
       string_type l_std_zone_abbrev, l_dst_zone_abbrev;
 
       // get 'std' name/abbrev
@@ -242,37 +245,37 @@
       ss.str(empty_string);
 
       // get UTC offset
- if(sit != obj.end()){
+ if(sit != obj_end){
         // get duration
- while(sit != obj.end() && !std::isalpha(*sit)){
- ss << *sit++;
+ while(sit != obj_end && !std::isalpha(*sit)){
+ ss << *sit++;
         }
         base_utc_offset_ = date_time::str_from_delimited_time_duration<time_duration_type,char_type>(ss.str());
         ss.str(empty_string);
 
         // base offset must be within range of -12 hours to +12 hours
         if(base_utc_offset_ < time_duration_type(-12,0,0) ||
- base_utc_offset_ > time_duration_type(12,0,0))
+ base_utc_offset_ > time_duration_type(12,0,0))
         {
- throw bad_offset(posix_time::to_simple_string(base_utc_offset_));
+ boost::throw_exception(bad_offset(posix_time::to_simple_string(base_utc_offset_)));
         }
       }
 
       // get DST data if given
- if(sit != obj.end()){
+ if(sit != obj_end){
         has_dst_ = true;
     
         // get 'dst' name/abbrev
- while(sit != obj.end() && std::isalpha(*sit)){
+ while(sit != obj_end && std::isalpha(*sit)){
           ss << *sit++;
         }
         l_dst_zone_abbrev = ss.str();
         ss.str(empty_string);
 
         // get DST offset if given
- if(sit != obj.end()){
+ if(sit != obj_end){
           // get duration
- while(sit != obj.end() && !std::isalpha(*sit)){
+ while(sit != obj_end && !std::isalpha(*sit)){
             ss << *sit++;
           }
           dst_offsets_.dst_adjust_ = date_time::str_from_delimited_time_duration<time_duration_type,char_type>(ss.str());
@@ -286,7 +289,7 @@
         if(dst_offsets_.dst_adjust_ <= time_duration_type(-24,0,0) ||
             dst_offsets_.dst_adjust_ >= time_duration_type(24,0,0))
         {
- throw bad_adjustment(posix_time::to_simple_string(dst_offsets_.dst_adjust_));
+ boost::throw_exception(bad_adjustment(posix_time::to_simple_string(dst_offsets_.dst_adjust_)));
         }
       }
       // full names not extracted so abbrevs used in their place
@@ -328,7 +331,7 @@
       if(dst_offsets_.dst_start_offset_ < time_duration_type(0,0,0) ||
           dst_offsets_.dst_start_offset_ >= time_duration_type(24,0,0))
       {
- throw bad_offset(posix_time::to_simple_string(dst_offsets_.dst_start_offset_));
+ boost::throw_exception(bad_offset(posix_time::to_simple_string(dst_offsets_.dst_start_offset_)));
       }
 
       // ending offset
@@ -343,7 +346,7 @@
       if(dst_offsets_.dst_end_offset_ < time_duration_type(0,0,0) ||
         dst_offsets_.dst_end_offset_ >= time_duration_type(24,0,0))
       {
- throw bad_offset(posix_time::to_simple_string(dst_offsets_.dst_end_offset_));
+ boost::throw_exception(bad_offset(posix_time::to_simple_string(dst_offsets_.dst_end_offset_)));
       }
     }
 

Modified: branches/proto/v4/boost/date_time/local_time_adjustor.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/local_time_adjustor.hpp (original)
+++ branches/proto/v4/boost/date_time/local_time_adjustor.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -13,9 +13,13 @@
   Time adjustment calculations for local times
 */
 
-#include "boost/date_time/date_generators.hpp"
-#include "boost/date_time/dst_rules.hpp"
 #include <stdexcept>
+#include <boost/throw_exception.hpp>
+#include <boost/date_time/compiler_config.hpp>
+#include <boost/date_time/date_generators.hpp>
+#include <boost/date_time/dst_rules.hpp>
+#include <boost/date_time/time_defs.hpp> // boost::date_time::dst_flags
+#include <boost/date_time/special_defs.hpp> // not_a_date_time
 
 namespace boost {
   namespace date_time {
@@ -109,7 +113,7 @@
         time_is_dst_result dst_flag =
           dst_rules::local_is_dst(initial.date(), initial.time_of_day());
         switch(dst_flag) {
- case is_in_dst: return utc_offset_rules::utc_to_local_base_offset() + dst_rules::dst_offset();
+ case is_in_dst: return utc_offset_rules::utc_to_local_base_offset() + dst_rules::dst_offset();
         case is_not_in_dst: return utc_offset_rules::utc_to_local_base_offset();
         case invalid_time_label:return utc_offset_rules::utc_to_local_base_offset() + dst_rules::dst_offset();
         case ambiguous: {
@@ -125,15 +129,15 @@
           }
         }
         }//case
- //TODO better excpetion type
- throw std::out_of_range("Unreachable case");
-
+ //TODO better exception type
+ boost::throw_exception(std::out_of_range("Unreachable case"));
+ BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(return time_duration_type(not_a_date_time)); // should never reach
       }
 
       //! Get the offset to UTC given a local time
       static time_duration_type local_to_utc_offset(const time_type& t,
                                                     date_time::dst_flags dst=date_time::calculate)
- {
+ {
         switch (dst) {
         case is_dst:
           return utc_offset_rules::local_to_utc_base_offset() - dst_rules::dst_offset();
@@ -146,13 +150,14 @@
           case is_in_dst: return utc_offset_rules::local_to_utc_base_offset() - dst_rules::dst_offset();
           case is_not_in_dst: return utc_offset_rules::local_to_utc_base_offset();
           case ambiguous: return utc_offset_rules::local_to_utc_base_offset();
- case invalid_time_label: throw std::out_of_range("Time label invalid");
+ case invalid_time_label: break;
           }
- }
- throw std::out_of_range("Time label invalid");
+ }
+ boost::throw_exception(std::out_of_range("Time label invalid"));
+ BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(return time_duration_type(not_a_date_time)); // should never reach
       }
 
-
+
     private:
 
     };

Modified: branches/proto/v4/boost/date_time/microsec_time_clock.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/microsec_time_clock.hpp (original)
+++ branches/proto/v4/boost/date_time/microsec_time_clock.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -14,22 +14,19 @@
   This file contains a high resolution time clock implementation.
 */
 
+#include <boost/cstdint.hpp>
+#include <boost/shared_ptr.hpp>
 #include <boost/detail/workaround.hpp>
-#include "boost/date_time/c_time.hpp"
-#include "boost/date_time/time_clock.hpp"
-#include "boost/cstdint.hpp"
-#include "boost/shared_ptr.hpp"
-
-#ifdef BOOST_HAS_FTIME
-#include <windows.h>
-#endif
+#include <boost/date_time/compiler_config.hpp>
+#include <boost/date_time/c_time.hpp>
+#include <boost/date_time/time_clock.hpp>
+#include <boost/date_time/filetime_functions.hpp>
 
 #ifdef BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK
 
 namespace boost {
 namespace date_time {
 
-
   //! A clock providing microsecond level resolution
   /*! A high precision clock that measures the local time
    * at a resolution up to microseconds and adjusts to the
@@ -41,6 +38,10 @@
   template<class time_type>
   class microsec_clock
   {
+ private:
+ //! Type for the function used to convert time_t to tm
+ typedef std::tm* (*time_converter)(const std::time_t*, std::tm*);
+
   public:
     typedef typename time_type::date_type date_type;
     typedef typename time_type::time_duration_type time_duration_type;
@@ -49,7 +50,8 @@
     //! return a local time object for the given zone, based on computer clock
     //JKG -- looks like we could rewrite this against universal_time
     template<class time_zone_type>
- static time_type local_time(shared_ptr<time_zone_type> tz_ptr) {
+ static time_type local_time(shared_ptr<time_zone_type> tz_ptr)
+ {
       typedef typename time_type::utc_time_type utc_time_type;
       typedef second_clock<utc_time_type> second_clock;
       // we'll need to know the utc_offset this machine has
@@ -62,118 +64,39 @@
       return time_type(utc_time, tz_ptr);
     }
 
-
- private:
- // we want this enum available for both platforms yet still private
- enum TZ_FOR_CREATE { LOCAL, GMT };
-
- public:
-
-#ifdef BOOST_HAS_GETTIMEOFDAY
- //! Return the local time based on computer clock settings
- static time_type local_time() {
- return create_time(LOCAL);
+ //! Returns the local time based on computer clock settings
+ static time_type local_time()
+ {
+ return create_time(&c_time::localtime);
     }
 
- //! Get the current day in universal date as a ymd_type
+ //! Returns the UTC time based on computer settings
     static time_type universal_time()
     {
- return create_time(GMT);
+ return create_time(&c_time::gmtime);
     }
 
   private:
- static time_type create_time(TZ_FOR_CREATE tz) {
+ static time_type create_time(time_converter converter)
+ {
+#ifdef BOOST_HAS_GETTIMEOFDAY
       timeval tv;
       gettimeofday(&tv, 0); //gettimeofday does not support TZ adjust on Linux.
       std::time_t t = tv.tv_sec;
- boost::uint32_t fs = tv.tv_usec;
- std::tm curr, *curr_ptr = 0;
- if (tz == LOCAL) {
- curr_ptr = c_time::localtime(&t, &curr);
- } else {
- curr_ptr = c_time::gmtime(&t, &curr);
- }
- date_type d(curr_ptr->tm_year + 1900,
- curr_ptr->tm_mon + 1,
- curr_ptr->tm_mday);
- //The following line will adjusts the fractional second tick in terms
- //of the current time system. For example, if the time system
- //doesn't support fractional seconds then res_adjust returns 0
- //and all the fractional seconds return 0.
- int adjust = resolution_traits_type::res_adjust()/1000000;
-
- time_duration_type td(curr_ptr->tm_hour,
- curr_ptr->tm_min,
- curr_ptr->tm_sec,
- fs*adjust);
- return time_type(d,td);
-
- }
-#endif // BOOST_HAS_GETTIMEOFDAY
-
-#ifdef BOOST_HAS_FTIME
- //! Return the local time based on computer clock settings
- static time_type local_time() {
- FILETIME ft;
- #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
- // Some runtime library implementations expect local times as the norm for ctime.
- FILETIME ft_utc;
- GetSystemTimeAsFileTime(&ft_utc);
- FileTimeToLocalFileTime(&ft_utc,&ft);
- #elif defined(BOOST_NO_GETSYSTEMTIMEASFILETIME)
- SYSTEMTIME st;
- GetSystemTime( &st );
- SystemTimeToFileTime( &st, &ft );
- #else
- GetSystemTimeAsFileTime(&ft);
- #endif
- return create_time(ft, LOCAL);
- }
-
- //! Return the UTC time based on computer settings
- static time_type universal_time() {
- FILETIME ft;
- #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
- // Some runtime library implementations expect local times as the norm for ctime.
- FILETIME ft_utc;
- GetSystemTimeAsFileTime(&ft_utc);
- FileTimeToLocalFileTime(&ft_utc,&ft);
- #elif defined(BOOST_NO_GETSYSTEMTIMEASFILETIME)
- SYSTEMTIME st;
- GetSystemTime( &st );
- SystemTimeToFileTime( &st, &ft );
- #else
- GetSystemTimeAsFileTime(&ft);
- #endif
- return create_time(ft, GMT);
- }
-
- private:
- static time_type create_time(FILETIME& ft, TZ_FOR_CREATE tz) {
- // offset is difference (in 100-nanoseconds) from
- // 1970-Jan-01 to 1601-Jan-01
- boost::uint64_t c1 = 27111902;
- boost::uint64_t c2 = 3577643008UL; // 'UL' removes compiler warnings
- const boost::uint64_t OFFSET = (c1 << 32) + c2;
-
- boost::uint64_t filetime = ft.dwHighDateTime;
- filetime = filetime << 32;
- filetime += ft.dwLowDateTime;
- filetime -= OFFSET;
- // filetime now holds 100-nanoseconds since 1970-Jan-01
-
+ boost::uint32_t sub_sec = tv.tv_usec;
+#elif defined(BOOST_HAS_FTIME)
+ winapi::file_time ft;
+ winapi::get_system_time_as_file_time(ft);
+ uint64_t nanos = winapi::file_time_to_nanoseconds(ft);
+ std::time_t t = static_cast<time_t>(nanos / 1000000000UL); // seconds since epoch
       // microseconds -- static casts supress warnings
- boost::uint32_t sub_sec = static_cast<boost::uint32_t>((filetime % 10000000) / 10);
+ boost::uint32_t sub_sec = static_cast<boost::uint32_t>((nanos % 1000000000UL) / 1000UL);
+#else
+#error Internal Boost.DateTime error: BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK is defined, however neither gettimeofday nor FILETIME support is detected.
+#endif
 
- std::time_t t = static_cast<time_t>(filetime / 10000000); // seconds since epoch
-
- std::tm curr, *curr_ptr = 0;
- if (tz == LOCAL) {
- curr_ptr = c_time::localtime(&t, &curr);
- }
- else {
- curr_ptr = c_time::gmtime(&t, &curr);
- }
+ std::tm curr;
+ std::tm* curr_ptr = converter(&t, &curr);
       date_type d(curr_ptr->tm_year + 1900,
                   curr_ptr->tm_mon + 1,
                   curr_ptr->tm_mday);
@@ -182,17 +105,15 @@
       //of the current time system. For example, if the time system
       //doesn't support fractional seconds then res_adjust returns 0
       //and all the fractional seconds return 0.
- int adjust = static_cast<int>(resolution_traits_type::res_adjust()/1000000);
+ int adjust = static_cast< int >(resolution_traits_type::res_adjust() / 1000000);
 
       time_duration_type td(curr_ptr->tm_hour,
                             curr_ptr->tm_min,
                             curr_ptr->tm_sec,
                             sub_sec * adjust);
- //st.wMilliseconds * adjust);
- return time_type(d,td);
 
+ return time_type(d,td);
     }
-#endif // BOOST_HAS_FTIME
   };
 
 

Modified: branches/proto/v4/boost/date_time/period_parser.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/period_parser.hpp (original)
+++ branches/proto/v4/boost/date_time/period_parser.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -10,8 +10,9 @@
  * $Date$
  */
 
-#include "boost/date_time/string_parse_tree.hpp"
-#include "boost/date_time/string_convert.hpp"
+#include <boost/throw_exception.hpp>
+#include <boost/date_time/string_parse_tree.hpp>
+#include <boost/date_time/string_convert.hpp>
 
 
 namespace boost { namespace date_time {
@@ -170,7 +171,8 @@
         ++sitr;
       }
       if(s != delim) {
- throw std::ios_base::failure("Parse failed. Expected '" + convert_string_type<char_type,char>(delim) + "' but found '" + convert_string_type<char_type,char>(s) + "'");
+ boost::throw_exception(std::ios_base::failure("Parse failed. Expected '"
+ + convert_string_type<char_type,char>(delim) + "' but found '" + convert_string_type<char_type,char>(s) + "'"));
       }
     }
   };

Modified: branches/proto/v4/boost/date_time/posix_time/conversion.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/posix_time/conversion.hpp (original)
+++ branches/proto/v4/boost/date_time/posix_time/conversion.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -72,14 +72,18 @@
    * built with microsecond resolution the FILETIME's sub second value
    * will be truncated. Nanosecond resolution has no truncation.
    *
- * Note ftime is part of the Win32 API, so it is not portable to non-windows
+ * \note FILETIME is part of the Win32 API, so it is not portable to non-windows
    * platforms.
+ *
+ * \note The function is templated on the FILETIME type, so that
+ * it can be used with both native FILETIME and the ad-hoc
+ * boost::date_time::winapi::file_time type.
    */
- template<class time_type>
+ template< typename TimeT, typename FileTimeT >
   inline
- time_type from_ftime(const FILETIME& ft)
+ TimeT from_ftime(const FileTimeT& ft)
   {
- return boost::date_time::time_from_ftime<time_type>(ft);
+ return boost::date_time::time_from_ftime<TimeT>(ft);
   }
 
 #endif // BOOST_HAS_FTIME

Modified: branches/proto/v4/boost/date_time/posix_time/posix_time_io.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/posix_time/posix_time_io.hpp (original)
+++ branches/proto/v4/boost/date_time/posix_time/posix_time_io.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -9,14 +9,16 @@
  * $Date$
  */
 
-#include "boost/date_time/time_facet.hpp"
-#include "boost/date_time/period_formatter.hpp"
-#include "boost/date_time/posix_time/time_period.hpp"
-#include "boost/date_time/posix_time/posix_time_duration.hpp"
-//#include "boost/date_time/gregorian/gregorian_io.hpp"
-#include "boost/io/ios_state.hpp"
-#include <iostream>
 #include <locale>
+#include <iostream>
+#include <iterator> // i/ostreambuf_iterator
+#include <boost/io/ios_state.hpp>
+#include <boost/date_time/time_facet.hpp>
+#include <boost/date_time/period_formatter.hpp>
+#include <boost/date_time/posix_time/ptime.hpp>
+#include <boost/date_time/posix_time/time_period.hpp>
+#include <boost/date_time/posix_time/posix_time_duration.hpp>
+#include <boost/date_time/posix_time/conversion.hpp> // to_tm will be needed in the facets
 
 namespace boost {
 namespace posix_time {
@@ -75,7 +77,6 @@
     if (strm_sentry) {
       try {
         typedef typename date_time::time_input_facet<ptime, CharT> time_input_facet;
-
         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
         if(std::has_facet<time_input_facet>(is.getloc())) {
           std::use_facet<time_input_facet>(is.getloc()).get(sit, str_end, is, pt);
@@ -101,7 +102,6 @@
           // if the user want's to fail quietly, we simply set the failbit
           is.setstate(std::ios_base::failbit);
         }
-
       }
     }
     return is;
@@ -146,7 +146,6 @@
     if (strm_sentry) {
       try {
         typedef typename date_time::time_input_facet<ptime, CharT> time_input_facet;
-
         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
         if(std::has_facet<time_input_facet>(is.getloc())) {
           std::use_facet<time_input_facet>(is.getloc()).get(sit, str_end, is, tp);
@@ -168,7 +167,6 @@
         else {
           is.setstate(std::ios_base::failbit);
         }
-
       }
     }
     return is;
@@ -214,7 +212,6 @@
     if (strm_sentry) {
       try {
         typedef typename date_time::time_input_facet<ptime, CharT> time_input_facet;
-
         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
         if(std::has_facet<time_input_facet>(is.getloc())) {
           std::use_facet<time_input_facet>(is.getloc()).get(sit, str_end, is, td);
@@ -236,7 +233,6 @@
         else {
           is.setstate(std::ios_base::failbit);
         }
-
       }
     }
     return is;

Modified: branches/proto/v4/boost/date_time/time.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/time.hpp (original)
+++ branches/proto/v4/boost/date_time/time.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -13,9 +13,10 @@
 /*! @file time.hpp
   This file contains the interface for the time associated classes.
 */
-#include "boost/date_time/time_defs.hpp"
-#include "boost/operators.hpp"
 #include <string>
+#include <boost/operators.hpp>
+#include <boost/date_time/time_defs.hpp>
+#include <boost/date_time/special_defs.hpp>
 
 namespace boost {
 namespace date_time {
@@ -91,7 +92,7 @@
     //! An empty string is returned for classes that do not use a time_zone
     std::string zone_as_posix_string() const
     {
- return std::string("");
+ return std::string();
     }
 
     //! check to see if date is not a value

Modified: branches/proto/v4/boost/date_time/time_defs.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/time_defs.hpp (original)
+++ branches/proto/v4/boost/date_time/time_defs.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -20,7 +20,17 @@
 namespace date_time {
 
   //!Defines some nice types for handling time level resolutions
- enum time_resolutions {sec, tenth, hundreth, milli, ten_thousandth, micro, nano, NumResolutions };
+ enum time_resolutions {
+ sec,
+ tenth,
+ hundreth, // deprecated misspelled version of hundredth
+ hundredth = hundreth,
+ milli,
+ ten_thousandth,
+ micro,
+ nano,
+ NumResolutions
+ };
 
   //! Flags for daylight savings or summer time
   enum dst_flags {not_dst, is_dst, calculate};

Modified: branches/proto/v4/boost/date_time/time_facet.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/time_facet.hpp (original)
+++ branches/proto/v4/boost/date_time/time_facet.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -10,12 +10,22 @@
  * $Date$
  */
 
-#include "boost/date_time/date_facet.hpp"
-#include "boost/date_time/string_convert.hpp"
-#include "boost/algorithm/string/erase.hpp"
+#include <cctype>
+#include <locale>
+#include <limits>
+#include <string>
 #include <sstream>
 #include <iomanip>
+#include <iterator> // i/ostreambuf_iterator
 #include <exception>
+#include <boost/lexical_cast.hpp>
+#include <boost/throw_exception.hpp>
+#include <boost/algorithm/string/erase.hpp>
+#include <boost/algorithm/string/replace.hpp>
+#include <boost/date_time/compiler_config.hpp>
+#include <boost/date_time/date_facet.hpp>
+#include <boost/date_time/string_convert.hpp>
+#include <boost/date_time/special_defs.hpp>
 
 namespace boost {
 namespace date_time {
@@ -28,6 +38,8 @@
       static const char_type fractional_seconds_or_none_format[3]; // F
       static const char_type seconds_with_fractional_seconds_format[3]; // s
       static const char_type seconds_format[3]; // S
+ static const char_type hours_format[3]; // H
+ static const char_type unrestricted_hours_format[3]; // O
       static const char_type standard_format[9]; // x X
       static const char_type zone_abbrev_format[3]; // z
       static const char_type zone_name_format[3]; // Z
@@ -62,10 +74,18 @@
   time_formats<CharT>::seconds_with_fractional_seconds_format[3] =
     {'%','s'};
 
- template <class CharT>
+ template <class CharT>
   const typename time_formats<CharT>::char_type
   time_formats<CharT>::seconds_format[3] = {'%','S'};
 
+ template <class CharT>
+ const typename time_formats<CharT>::char_type
+ time_formats<CharT>::hours_format[3] = {'%','H'};
+
+ template <class CharT>
+ const typename time_formats<CharT>::char_type
+ time_formats<CharT>::unrestricted_hours_format[3] = {'%','O'};
+
   template <class CharT>
   const typename time_formats<CharT>::char_type
   //time_formats<CharT>::standard_format[5] = {'%','c',' ','%','z'};
@@ -172,6 +192,8 @@
     static const char_type* fractional_seconds_or_none_format; // %F
     static const char_type* seconds_with_fractional_seconds_format; // %s
     static const char_type* seconds_format; // %S
+ static const char_type* hours_format; // %H
+ static const char_type* unrestricted_hours_format; // %O
     static const char_type* standard_format; // %x X
     static const char_type* zone_abbrev_format; // %z
     static const char_type* zone_name_format; // %Z
@@ -197,9 +219,8 @@
 #endif
 
     //! sets default formats for ptime, local_date_time, and time_duration
- explicit time_facet(::size_t /* a_ref */ = 0)
- //: base_type(standard_format),
- : base_type(default_time_format),
+ explicit time_facet(::size_t a_ref = 0)
+ : base_type(default_time_format, period_formatter_type(), special_values_formatter_type(), date_gen_formatter_type(), a_ref),
         m_time_duration_format(string_type(duration_sign_negative_only) + default_time_duration_format)
     {}
 
@@ -242,6 +263,7 @@
                               a_time.date().as_special());
       }
       string_type format(this->m_format);
+
       string_type frac_str;
       if (format.find(seconds_with_fractional_seconds_format) != string_type::npos) {
         // replace %s with %S.nnn
@@ -263,9 +285,7 @@
         if(a_time.zone_abbrev().empty()) {
           // if zone_abbrev() returns an empty string, we want to
           // erase posix_zone_string_format from format
- boost::algorithm::replace_all(format,
- posix_zone_string_format,
- "");
+ boost::algorithm::erase_all(format, posix_zone_string_format);
         }
         else{
           boost::algorithm::replace_all(format,
@@ -283,9 +303,7 @@
           // erase zone_name_format & one preceeding space
           std::basic_ostringstream<char_type> ss;
           ss << ' ' << zone_name_format;
- boost::algorithm::replace_all(format,
- ss.str(),
- "");
+ boost::algorithm::erase_all(format, ss.str());
         }
         else{
           boost::algorithm::replace_all(format,
@@ -303,9 +321,7 @@
           // erase zone_abbrev_format & one preceeding space
           std::basic_ostringstream<char_type> ss;
           ss << ' ' << zone_abbrev_format;
- boost::algorithm::replace_all(format,
- ss.str(),
- "");
+ boost::algorithm::erase_all(format, ss.str());
         }
         else{
           boost::algorithm::replace_all(format,
@@ -321,9 +337,7 @@
 
           // if zone_name() returns an empty string, we want to
           // erase zone_iso_extended_format from format
- boost::algorithm::replace_all(format,
- zone_iso_extended_format,
- "");
+ boost::algorithm::erase_all(format, zone_iso_extended_format);
         }
         else{
           boost::algorithm::replace_all(format,
@@ -340,9 +354,7 @@
 
           // if zone_abbrev() returns an empty string, we want to
           // erase zone_iso_format from format
- boost::algorithm::replace_all(format,
- zone_iso_format,
- "");
+ boost::algorithm::erase_all(format, zone_iso_format);
         }
         else{
           boost::algorithm::replace_all(format,
@@ -396,24 +408,46 @@
 
       string_type format(m_time_duration_format);
       if (a_time_dur.is_negative()) {
- // replace %- with minus sign. Should we use the numpunct facet?
- boost::algorithm::replace_all(format,
- duration_sign_negative_only,
- negative_sign);
+ // replace %- with minus sign. Should we use the numpunct facet?
+ boost::algorithm::replace_all(format,
+ duration_sign_negative_only,
+ negative_sign);
           // remove all the %+ in the string with '-'
- boost::algorithm::replace_all(format,
- duration_sign_always,
- negative_sign);
+ boost::algorithm::replace_all(format,
+ duration_sign_always,
+ negative_sign);
       }
       else { //duration is positive
- // remove all the %- combos from the string
- boost::algorithm::replace_all(format,
- duration_sign_negative_only,
- "");
- // remove all the %+ in the string with '+'
- boost::algorithm::replace_all(format,
- duration_sign_always,
- positive_sign);
+ // remove all the %- combos from the string
+ boost::algorithm::erase_all(format, duration_sign_negative_only);
+ // remove all the %+ in the string with '+'
+ boost::algorithm::replace_all(format,
+ duration_sign_always,
+ positive_sign);
+ }
+
+ /*
+ * It is possible for a time duration to span more then 24 hours.
+ * Standard time_put::put is obliged to behave the same as strftime
+ * (See ISO 14882-2003 22.2.5.3.1 par. 1) and strftime's behavior is
+ * unspecified for the case when tm_hour field is outside 0-23 range
+ * (See ISO 9899-1999 7.23.3.5 par. 3). So we must output %H and %O
+ * here ourself.
+ */
+ string_type hours_str;
+ if (format.find(unrestricted_hours_format) != string_type::npos) {
+ hours_str = hours_as_string(a_time_dur);
+ boost::algorithm::replace_all(format, unrestricted_hours_format, hours_str);
+ }
+ // We still have to process restricted hours format specifier. In order to
+ // support parseability of durations in ISO format (%H%M%S), we'll have to
+ // restrict the stringified hours length to 2 characters.
+ if (format.find(hours_format) != string_type::npos) {
+ if (hours_str.empty())
+ hours_str = hours_as_string(a_time_dur);
+ if (hours_str.length() > 2)
+ hours_str.erase(0, hours_str.length() - 2);
+ boost::algorithm::replace_all(format, hours_format, hours_str);
       }
 
       string_type frac_str;
@@ -485,17 +519,33 @@
       }
 
       //make sure there is no sign
- frac_sec = date_time::absolute_value(frac_sec);
+ return integral_as_string(
+ date_time::absolute_value(frac_sec),
+ time_duration_type::num_fractional_digits());
+ }
+
+ static
+ string_type
+ hours_as_string(const time_duration_type& a_time, int width = 2)
+ {
+ return integral_as_string(date_time::absolute_value(a_time.hours()), width);
+ }
+
+ template< typename IntT >
+ static
+ string_type
+ integral_as_string(IntT val, int width = 2)
+ {
       std::basic_ostringstream<char_type> ss;
       ss.imbue(std::locale::classic()); // don't want any formatting
- ss << std::setw(time_duration_type::num_fractional_digits())
- << std::setfill(static_cast<char_type>('0'));
+ ss << std::setw(width)
+ << std::setfill(static_cast<char_type>('0'));
 #if (defined(BOOST_MSVC) && (_MSC_VER < 1300))
       // JDG [7/6/02 VC++ compatibility]
       char_type buff[34];
- ss << _i64toa(static_cast<boost::int64_t>(frac_sec), buff, 10);
+ ss << _i64toa(static_cast<boost::int64_t>(val), buff, 10);
 #else
- ss << frac_sec;
+ ss << val;
 #endif
       return ss.str();
     }
@@ -504,7 +554,7 @@
     string_type m_time_duration_format;
 
   };
-
+
   template <class time_type, class CharT, class OutItrT>
   std::locale::id time_facet<time_type, CharT, OutItrT>::id;
 
@@ -548,6 +598,14 @@
 
   template <class time_type, class CharT, class OutItrT>
   const typename time_facet<time_type, CharT, OutItrT>::char_type*
+ time_facet<time_type, CharT, OutItrT>::hours_format = time_formats<CharT>::hours_format;
+
+ template <class time_type, class CharT, class OutItrT>
+ const typename time_facet<time_type, CharT, OutItrT>::char_type*
+ time_facet<time_type, CharT, OutItrT>::unrestricted_hours_format = time_formats<CharT>::unrestricted_hours_format;
+
+ template <class time_type, class CharT, class OutItrT>
+ const typename time_facet<time_type, CharT, OutItrT>::char_type*
   time_facet<time_type, CharT, OutItrT>::standard_format = time_formats<CharT>::standard_format;
 
   template <class time_type, class CharT, class OutItrT>
@@ -705,11 +763,15 @@
           c = *sitr;
         }
         
- long hour = 0;
- long min = 0;
- long sec = 0;
+ typedef typename time_duration_type::hour_type hour_type;
+ typedef typename time_duration_type::min_type min_type;
+ typedef typename time_duration_type::sec_type sec_type;
+
+ hour_type hour = 0;
+ min_type min = 0;
+ sec_type sec = 0;
         typename time_duration_type::fractional_seconds_type frac(0);
-
+
         typedef std::num_get<CharT, InItrT> num_get;
         if(!std::has_facet<num_get>(a_ios.getloc())) {
           num_get* ng = new num_get();
@@ -720,45 +782,49 @@
         const_itr itr(m_time_duration_format.begin());
         while (itr != m_time_duration_format.end() && (sitr != stream_end)) {
           if (*itr == '%') {
- itr++;
+ ++itr;
             if (*itr != '%') {
               switch(*itr) {
- case 'H':
+ case 'O':
                 {
- match_results mr;
- hour = fixed_string_to_int<short, CharT>(sitr, stream_end, mr, 2);
+ // A period may span more than 24 hours. In that case the format
+ // string should be composed with the unrestricted hours specifier.
+ hour = var_string_to_int<hour_type, CharT>(sitr, stream_end,
+ std::numeric_limits<hour_type>::digits10 + 1);
                   if(hour == -1){
                      return check_special_value(sitr, stream_end, td, c);
                   }
                   break;
                 }
- case 'M':
+ case 'H':
                 {
                   match_results mr;
- min = fixed_string_to_int<short, CharT>(sitr, stream_end, mr, 2);
- if(min == -1){
+ hour = fixed_string_to_int<hour_type, CharT>(sitr, stream_end, mr, 2);
+ if(hour == -1){
                      return check_special_value(sitr, stream_end, td, c);
                   }
                   break;
                 }
- case 'S':
+ case 'M':
                 {
                   match_results mr;
- sec = fixed_string_to_int<short, CharT>(sitr, stream_end, mr, 2);
- if(sec == -1){
+ min = fixed_string_to_int<min_type, CharT>(sitr, stream_end, mr, 2);
+ if(min == -1){
                      return check_special_value(sitr, stream_end, td, c);
                   }
                   break;
                 }
               case 's':
+ case 'S':
                 {
                   match_results mr;
- sec = fixed_string_to_int<short, CharT>(sitr, stream_end, mr, 2);
+ sec = fixed_string_to_int<sec_type, CharT>(sitr, stream_end, mr, 2);
                   if(sec == -1){
                      return check_special_value(sitr, stream_end, td, c);
                   }
+ if (*itr == 'S')
+ break;
                   // %s is the same as %S%f so we drop through into %f
- //break;
                 }
               case 'f':
                 {
@@ -796,20 +862,20 @@
               }// switch
             }
             else { // itr == '%', second consecutive
- sitr++;
+ ++sitr;
             }
         
- itr++; //advance past format specifier
+ ++itr; //advance past format specifier
           }
           else { //skip past chars in format and in buffer
- itr++;
+ ++itr;
             // set use_current_char when sitr is already
             // pointing at the next character to process
             if (use_current_char) {
               use_current_char = false;
             }
             else {
- sitr++;
+ ++sitr;
             }
           }
         }
@@ -858,11 +924,15 @@
         if((sitr != stream_end) && (*sitr == '-' || *sitr == '+')) {
           c = *sitr;
         }
-
+
+ typedef typename time_duration_type::hour_type hour_type;
+ typedef typename time_duration_type::min_type min_type;
+ typedef typename time_duration_type::sec_type sec_type;
+
         // time elements
- long hour = 0;
- long min = 0;
- long sec = 0;
+ hour_type hour = 0;
+ min_type min = 0;
+ sec_type sec = 0;
         typename time_duration_type::fractional_seconds_type frac(0);
         // date elements
         short day_of_year(0);
@@ -884,7 +954,7 @@
         const_itr itr(this->m_format.begin());
         while (itr != this->m_format.end() && (sitr != stream_end)) {
           if (*itr == '%') {
- itr++;
+ ++itr;
             if (*itr != '%') {
               // the cases are grouped by date & time flags - not alphabetical order
               switch(*itr) {
@@ -998,7 +1068,7 @@
                 case 'H':
                   {
                     match_results mr;
- hour = fixed_string_to_int<short, CharT>(sitr, stream_end, mr, 2);
+ hour = fixed_string_to_int<hour_type, CharT>(sitr, stream_end, mr, 2);
                     if(hour == -1){
                        return check_special_value(sitr, stream_end, t, c);
                     }
@@ -1007,30 +1077,23 @@
                 case 'M':
                   {
                     match_results mr;
- min = fixed_string_to_int<short, CharT>(sitr, stream_end, mr, 2);
+ min = fixed_string_to_int<min_type, CharT>(sitr, stream_end, mr, 2);
                     if(min == -1){
                        return check_special_value(sitr, stream_end, t, c);
                     }
                     break;
                   }
- case 'S':
- {
- match_results mr;
- sec = fixed_string_to_int<short, CharT>(sitr, stream_end, mr, 2);
- if(sec == -1){
- return check_special_value(sitr, stream_end, t, c);
- }
- break;
- }
                 case 's':
+ case 'S':
                   {
                     match_results mr;
- sec = fixed_string_to_int<short, CharT>(sitr, stream_end, mr, 2);
+ sec = fixed_string_to_int<sec_type, CharT>(sitr, stream_end, mr, 2);
                     if(sec == -1){
                        return check_special_value(sitr, stream_end, t, c);
                     }
+ if (*itr == 'S')
+ break;
                     // %s is the same as %S%f so we drop through into %f
- //break;
                   }
                 case 'f':
                   {
@@ -1097,26 +1160,26 @@
               }// switch
             }
             else { // itr == '%', second consecutive
- sitr++;
+ ++sitr;
             }
        
             if(use_current_format_char) {
               use_current_format_char = false;
             }
             else {
- itr++; //advance past format specifier
+ ++itr; //advance past format specifier
             }
              
           }
           else { //skip past chars in format and in buffer
- itr++;
+ ++itr;
             // set use_current_char when sitr is already
             // pointing at the next character to process
             if (use_current_char) {
               use_current_char = false;
             }
             else {
- sitr++;
+ ++sitr;
             }
           }
         }
@@ -1149,7 +1212,8 @@
         this->m_sv_parser.match(sitr, stream_end, mr);
         if(mr.current_match == match_results::PARSE_ERROR) {
           std::string tmp = convert_string_type<char_type, char>(mr.cache);
- throw std::ios_base::failure("Parse failed. No match found for '" + tmp + "'");
+ boost::throw_exception(std::ios_base::failure("Parse failed. No match found for '" + tmp + "'"));
+ BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(return sitr); // should never reach
         }
         tt = temporal_type(static_cast<special_values>(mr.current_match));
         return sitr;

Modified: branches/proto/v4/boost/date_time/time_formatting_streams.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/time_formatting_streams.hpp (original)
+++ branches/proto/v4/boost/date_time/time_formatting_streams.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -9,12 +9,16 @@
  * $Date$
  */
 
-
-#include "boost/date_time/date_formatting_locales.hpp"
-#include "boost/date_time/time_resolution_traits.hpp"
+#include <boost/date_time/compiler_config.hpp>
 
 #ifndef BOOST_DATE_TIME_NO_LOCALE
 
+#include <locale>
+#include <iomanip>
+#include <iostream>
+#include <boost/date_time/date_formatting_locales.hpp>
+#include <boost/date_time/time_resolution_traits.hpp>
+
 namespace boost {
 namespace date_time {
 
@@ -116,4 +120,3 @@
 #endif //BOOST_DATE_TIME_NO_LOCALE
 
 #endif
-

Modified: branches/proto/v4/boost/date_time/time_system_split.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/time_system_split.hpp (original)
+++ branches/proto/v4/boost/date_time/time_system_split.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -132,7 +132,7 @@
     }
     static std::string zone_name(const time_rep_type&)
     {
- return "";
+ return std::string();
     }
     static bool is_equal(const time_rep_type& lhs, const time_rep_type& rhs)
     {
@@ -166,12 +166,9 @@
         return add_time_duration(base,td1);
       }
 
- //std::cout << td.ticks() << std::endl;
       wrap_int_type day_offset(base.time_of_day.ticks());
       date_duration_type day_overflow(static_cast<typename date_duration_type::duration_rep_type>(day_offset.subtract(td.ticks())));
-// std::cout << "sub: " << base.time_of_day.ticks() << "|"
-// << day_offset.as_int() << "|"
-// << day_overflow.days() << std::endl;
+
       return time_rep_type(base.day-day_overflow,
                            time_duration_type(0,0,0,day_offset.as_int()));
     }
@@ -185,13 +182,10 @@
         time_duration_type td1 = td.invert_sign();
         return subtract_time_duration(base,td1);
       }
+
       wrap_int_type day_offset(base.time_of_day.ticks());
- typename date_duration_type::duration_rep_type doff = day_offset.add(td.ticks());
-// std::cout << "day overflow: " << doff << std::endl;
-// std::cout << "ticks: " << td.ticks() << std::endl;
- date_duration_type day_overflow(doff);
-// std::cout << "base: " << to_simple_string(base.day) << std::endl;
-// std::cout << "overflow " << day_overflow.days() << std::endl;
+ date_duration_type day_overflow(static_cast< typename date_duration_type::duration_rep_type >(day_offset.add(td.ticks())));
+
       return time_rep_type(base.day+day_overflow,
                            time_duration_type(0,0,0,day_offset.as_int()));
     }

Modified: branches/proto/v4/boost/date_time/tz_db_base.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/tz_db_base.hpp (original)
+++ branches/proto/v4/boost/date_time/tz_db_base.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -8,17 +8,19 @@
  * $Date$
  */
 
-#include "boost/shared_ptr.hpp"
-#include "boost/date_time/time_zone_names.hpp"
-#include "boost/date_time/time_zone_base.hpp"
-#include "boost/date_time/time_parsing.hpp"
-#include "boost/tokenizer.hpp"
-#include <string>
-#include <sstream>
 #include <map>
 #include <vector>
-#include <stdexcept>
+#include <string>
+#include <sstream>
 #include <fstream>
+#include <stdexcept>
+#include <boost/tokenizer.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/throw_exception.hpp>
+#include <boost/date_time/compiler_config.hpp>
+#include <boost/date_time/time_zone_names.hpp>
+#include <boost/date_time/time_zone_base.hpp>
+#include <boost/date_time/time_parsing.hpp>
 
 namespace boost {
   namespace date_time {
@@ -158,7 +160,7 @@
       typedef typename time_zone_type::base_type time_zone_base_type;
       typedef typename time_zone_type::time_duration_type time_duration_type;
       typedef time_zone_names_base<char_type> time_zone_names;
- typedef dst_adjustment_offsets<time_duration_type> dst_adjustment_offsets;
+ typedef boost::date_time::dst_adjustment_offsets<time_duration_type> dst_adjustment_offsets;
       typedef std::basic_string<char_type> string_type;
 
       //! Constructs an empty database
@@ -173,7 +175,7 @@
         
         std::ifstream ifs(pathspec.c_str());
         if(!ifs){
- throw data_not_accessible(pathspec);
+ boost::throw_exception(data_not_accessible(pathspec));
         }
         std::getline(ifs, buff); // first line is column headings
 
@@ -183,13 +185,13 @@
       }
 
       //! returns true if record successfully added to map
- /*! Takes an id string in the form of "America/Phoenix", and a
+ /*! Takes a region name in the form of "America/Phoenix", and a
        * time_zone object for that region. The id string must be a unique
        * name that does not already exist in the database. */
- bool add_record(const string_type& id,
+ bool add_record(const string_type& region,
                       boost::shared_ptr<time_zone_base_type> tz)
       {
- typename map_type::value_type p(id, tz);
+ typename map_type::value_type p(region, tz);
         return (m_zone_map.insert(p)).second;
       }
 
@@ -307,7 +309,6 @@
        * zone_spec successfully added to database */
       bool parse_string(string_type& s)
       {
-
         std::vector<string_type> result;
         typedef boost::token_iterator_generator<boost::escaped_list_separator<char_type>, string_type::const_iterator, string_type >::type token_iter_type;
 
@@ -326,10 +327,11 @@
         //take a shot at fixing gcc 4.x error
         const unsigned int expected_fields = static_cast<unsigned int>(FIELD_COUNT);
         if (result.size() != expected_fields) {
- std::stringstream msg;
+ std::ostringstream msg;
           msg << "Expecting " << FIELD_COUNT << " fields, got "
             << result.size() << " fields in line: " << s;
- throw bad_field_count(msg.str());
+ boost::throw_exception(bad_field_count(msg.str()));
+ BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(return false); // should never reach
         }
 
         // initializations

Modified: branches/proto/v4/boost/date_time/wrapping_int.hpp
==============================================================================
--- branches/proto/v4/boost/date_time/wrapping_int.hpp (original)
+++ branches/proto/v4/boost/date_time/wrapping_int.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -43,10 +43,11 @@
    * wraps went. Ex: add a negative number and wrapping under could occur,
    * this would be indicated by a negative return value. If wrapping over
    * took place, a positive value would be returned */
- int_type add(int_type v)
+ template< typename IntT >
+ IntT add(IntT v)
   {
     int_type remainder = static_cast<int_type>(v % (wrap_val));
- int_type overflow = static_cast<int_type>(v / (wrap_val));
+ IntT overflow = static_cast<IntT>(v / (wrap_val));
     value_ = static_cast<int_type>(value_ + remainder);
     return calculate_wrap(overflow);
   }
@@ -56,26 +57,28 @@
    * Ex: subtract a negative number and wrapping over could
    * occur, this would be indicated by a negative return value. If
    * wrapping under took place, a positive value would be returned. */
- int_type subtract(int_type v)
+ template< typename IntT >
+ IntT subtract(IntT v)
   {
     int_type remainder = static_cast<int_type>(v % (wrap_val));
- int_type underflow = static_cast<int_type>(-(v / (wrap_val)));
+ IntT underflow = static_cast<IntT>(-(v / (wrap_val)));
     value_ = static_cast<int_type>(value_ - remainder);
     return calculate_wrap(underflow) * -1;
   }
 private:
   int_type value_;
 
- int_type calculate_wrap(int_type wrap)
+ template< typename IntT >
+ IntT calculate_wrap(IntT wrap)
   {
     if ((value_) >= wrap_val)
     {
- wrap++;
+ ++wrap;
       value_ -= (wrap_val);
     }
     else if(value_ < 0)
     {
- wrap--;
+ --wrap;
       value_ += (wrap_val);
     }
     return wrap;
@@ -114,10 +117,11 @@
    * wraps went. Ex: add a negative number and wrapping under could occur,
    * this would be indicated by a negative return value. If wrapping over
    * took place, a positive value would be returned */
- int_type add(int_type v)
+ template< typename IntT >
+ IntT add(IntT v)
   {
     int_type remainder = static_cast<int_type>(v % (wrap_max - wrap_min + 1));
- int_type overflow = static_cast<int_type>(v / (wrap_max - wrap_min + 1));
+ IntT overflow = static_cast<IntT>(v / (wrap_max - wrap_min + 1));
     value_ = static_cast<int_type>(value_ + remainder);
     return calculate_wrap(overflow);
   }
@@ -126,10 +130,11 @@
    * wraps went. Ex: subtract a negative number and wrapping over could
    * occur, this would be indicated by a positive return value. If
    * wrapping under took place, a negative value would be returned */
- int_type subtract(int_type v)
+ template< typename IntT >
+ IntT subtract(IntT v)
   {
     int_type remainder = static_cast<int_type>(v % (wrap_max - wrap_min + 1));
- int_type underflow = static_cast<int_type>(-(v / (wrap_max - wrap_min + 1)));
+ IntT underflow = static_cast<IntT>(-(v / (wrap_max - wrap_min + 1)));
     value_ = static_cast<int_type>(value_ - remainder);
     return calculate_wrap(underflow);
   }
@@ -137,16 +142,17 @@
 private:
   int_type value_;
 
- int_type calculate_wrap(int_type wrap)
+ template< typename IntT >
+ IntT calculate_wrap(IntT wrap)
   {
     if ((value_) > wrap_max)
     {
- wrap++;
+ ++wrap;
       value_ -= (wrap_max - wrap_min + 1);
     }
     else if((value_) < wrap_min)
     {
- wrap--;
+ --wrap;
       value_ += (wrap_max - wrap_min + 1);
     }
     return wrap;

Modified: branches/proto/v4/boost/dynamic_bitset/config.hpp
==============================================================================
--- branches/proto/v4/boost/dynamic_bitset/config.hpp (original)
+++ branches/proto/v4/boost/dynamic_bitset/config.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -20,19 +20,13 @@
 # define BOOST_OLD_IOSTREAMS
 #endif
 
-// this should be in the config system some day
-// see http://lists.boost.org/MailArchives/boost/msg62291.php
-#define BOOST_DYNAMIC_BITSET_GNUC_VERSION ( (__GNUC__) * 100 * 100 \
- + (__GNUC_MINOR__) * 100)
-
 // no-op function to workaround gcc bug c++/8419
 //
 namespace boost { namespace detail {
     template <typename T> T make_non_const(T t) { return t; }
 }}
 
-#if defined(__GNUC__) && BOOST_WORKAROUND(BOOST_DYNAMIC_BITSET_GNUC_VERSION, \
- BOOST_TESTED_AT(30300))
+#if defined(__GNUC__)
 # define BOOST_DYNAMIC_BITSET_WRAP_CONSTANT(expr) \
          (boost::detail::make_non_const(expr))
 #else

Modified: branches/proto/v4/boost/filesystem/path.hpp
==============================================================================
--- branches/proto/v4/boost/filesystem/path.hpp (original)
+++ branches/proto/v4/boost/filesystem/path.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -203,7 +203,7 @@
       }
 
       basic_path & remove_filename();
- basic_path & replace_extension( const string_type & new_extension = "" );
+ basic_path & replace_extension( const string_type & new_extension = string_type() );
 
 # ifndef BOOST_FILESYSTEM_NO_DEPRECATED
       basic_path & remove_leaf() { return remove_filename(); }

Modified: branches/proto/v4/boost/function/function_base.hpp
==============================================================================
--- branches/proto/v4/boost/function/function_base.hpp (original)
+++ branches/proto/v4/boost/function/function_base.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -42,7 +42,7 @@
 #endif
 
 // Define BOOST_FUNCTION_STD_NS to the namespace that contains type_info.
-#ifdef BOOST_NO_EXCEPTION_STD_NAMESPACE
+#ifdef BOOST_NO_STD_TYPEINFO
 // Embedded VC++ does not have type_info in namespace std
 # define BOOST_FUNCTION_STD_NS
 #else

Modified: branches/proto/v4/boost/functional/hash/deque.hpp
==============================================================================
--- branches/proto/v4/boost/functional/hash/deque.hpp (original)
+++ branches/proto/v4/boost/functional/hash/deque.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -3,5 +3,5 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#error "boost/functional/hash/deque.hpp is deprecated, use boost/functional/hash.hpp instead."
+#error "boost/functional/hash/deque.hpp is no longer supported, use boost/functional/hash.hpp instead."
 #include <boost/functional/hash.hpp>

Modified: branches/proto/v4/boost/functional/hash/list.hpp
==============================================================================
--- branches/proto/v4/boost/functional/hash/list.hpp (original)
+++ branches/proto/v4/boost/functional/hash/list.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -3,5 +3,5 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#error "boost/functional/hash/list.hpp is deprecated, use boost/functional/hash.hpp instead."
+#error "boost/functional/hash/list.hpp is no longer supported, use boost/functional/hash.hpp instead."
 #include <boost/functional/hash.hpp>

Modified: branches/proto/v4/boost/functional/hash/map.hpp
==============================================================================
--- branches/proto/v4/boost/functional/hash/map.hpp (original)
+++ branches/proto/v4/boost/functional/hash/map.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -3,5 +3,5 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#error "boost/functional/hash/map.hpp is deprecated, use boost/functional/hash.hpp instead."
+#error "boost/functional/hash/map.hpp is no longer supported, use boost/functional/hash.hpp instead."
 #include <boost/functional/hash.hpp>

Modified: branches/proto/v4/boost/functional/hash/pair.hpp
==============================================================================
--- branches/proto/v4/boost/functional/hash/pair.hpp (original)
+++ branches/proto/v4/boost/functional/hash/pair.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -3,5 +3,5 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#error "boost/functional/hash/pair.hpp is deprecated, use boost/functional/hash.hpp instead."
+#error "boost/functional/hash/pair.hpp is no longer supported, use boost/functional/hash.hpp instead."
 #include <boost/functional/hash.hpp>

Modified: branches/proto/v4/boost/functional/hash/set.hpp
==============================================================================
--- branches/proto/v4/boost/functional/hash/set.hpp (original)
+++ branches/proto/v4/boost/functional/hash/set.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -3,5 +3,5 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#error "boost/functional/hash/set.hpp is deprecated, use boost/functional/hash.hpp instead."
+#error "boost/functional/hash/set.hpp is no longer supported, use boost/functional/hash.hpp instead."
 #include <boost/functional/hash.hpp>

Modified: branches/proto/v4/boost/functional/hash/vector.hpp
==============================================================================
--- branches/proto/v4/boost/functional/hash/vector.hpp (original)
+++ branches/proto/v4/boost/functional/hash/vector.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -3,5 +3,5 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#error "boost/functional/hash/vector.hpp is deprecated, use boost/functional/hash.hpp instead."
+#error "boost/functional/hash/vector.hpp is no longer supported, use boost/functional/hash.hpp instead."
 #include <boost/functional/hash.hpp>

Modified: branches/proto/v4/boost/graph/adjacency_list.hpp
==============================================================================
--- branches/proto/v4/boost/graph/adjacency_list.hpp (original)
+++ branches/proto/v4/boost/graph/adjacency_list.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -17,6 +17,12 @@
 #include <list>
 #include <set>
 
+// Thef 4.3 series deprecates hash_set and hash_map.
+// TODO: Migrate this to Boost.Config.
+#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 3
+# define BOOST_NO_HASH
+#endif
+
 #if !defined BOOST_NO_HASH
 # ifdef BOOST_HASH_SET_HEADER
 # include BOOST_HASH_SET_HEADER
@@ -60,7 +66,7 @@
 #if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 #if !defined BOOST_NO_SLIST
- struct slistS {};
+ struct slistS {};
 #endif
 
   struct vecS { };
@@ -132,35 +138,35 @@
     struct bind_ { typedef std::vector<T> type; };
   };
 
- struct listS {
+ struct listS {
     template <class T>
     struct bind_ { typedef std::list<T> type; };
   };
 
- struct setS {
+ struct setS {
     template <class T>
     struct bind_ { typedef std::set<T, std::less<T> > type; };
   };
 
- struct multisetS {
+ struct multisetS {
     template <class T>
     struct bind_ { typedef std::multiset<T, std::less<T> > type; };
   };
 
 #if !defined BOOST_NO_HASH
- struct hash_setS {
+ struct hash_setS {
     template <class T>
     struct bind_ { typedef BOOST_STD_EXTENSION_NAMESPACE::hash_set<T, std::less<T> > type; };
   };
 #endif
 
- struct mapS {
+ struct mapS {
     template <class T>
     struct bind_ { typedef std::set<T, std::less<T> > type; };
   };
 
 #if !defined BOOST_NO_HASH
- struct hash_mapS {
+ struct hash_mapS {
     template <class T>
     struct bind_ { typedef BOOST_STD_EXTENSION_NAMESPACE::hash_set<T, std::less<T> > type; };
   };
@@ -199,54 +205,54 @@
   struct parallel_edge_traits { };
 
   template <>
- struct parallel_edge_traits<vecS> {
+ struct parallel_edge_traits<vecS> {
     typedef allow_parallel_edge_tag type; };
 
   template <>
- struct parallel_edge_traits<listS> {
+ struct parallel_edge_traits<listS> {
     typedef allow_parallel_edge_tag type; };
 
 #if !defined BOOST_NO_SLIST
   template <>
- struct parallel_edge_traits<slistS> {
+ struct parallel_edge_traits<slistS> {
     typedef allow_parallel_edge_tag type; };
 #endif
 
   template <>
- struct parallel_edge_traits<setS> {
+ struct parallel_edge_traits<setS> {
     typedef disallow_parallel_edge_tag type; };
 
   template <>
- struct parallel_edge_traits<multisetS> {
+ struct parallel_edge_traits<multisetS> {
     typedef allow_parallel_edge_tag type; };
 
 #if !defined BOOST_NO_HASH
   template <>
   struct parallel_edge_traits<hash_setS> {
- typedef disallow_parallel_edge_tag type;
+ typedef disallow_parallel_edge_tag type;
   };
 #endif
 
   // mapS is obsolete, replaced with setS
   template <>
- struct parallel_edge_traits<mapS> {
+ struct parallel_edge_traits<mapS> {
     typedef disallow_parallel_edge_tag type; };
 
 #if !defined BOOST_NO_HASH
   template <>
   struct parallel_edge_traits<hash_mapS> {
- typedef disallow_parallel_edge_tag type;
+ typedef disallow_parallel_edge_tag type;
   };
 #endif
 
   namespace detail {
- template <class Directed> struct is_random_access {
+ template <class Directed> struct is_random_access {
       enum { value = false};
       typedef mpl::false_ type;
     };
     template <>
- struct is_random_access<vecS> {
- enum { value = true };
+ struct is_random_access<vecS> {
+ enum { value = true };
       typedef mpl::true_ type;
     };
 
@@ -296,7 +302,7 @@
     typedef typename container_gen<EdgeListS, dummy>::type EdgeContainer;
     typedef typename DirectedS::is_bidir_t BidirectionalT;
     typedef typename DirectedS::is_directed_t DirectedT;
- typedef typename mpl::and_<DirectedT,
+ typedef typename mpl::and_<DirectedT,
       typename mpl::not_<BidirectionalT>::type >::type on_edge_storage;
   public:
     typedef typename mpl::if_<on_edge_storage,
@@ -326,7 +332,7 @@
     : public detail::adj_list_gen<
       adjacency_list<OutEdgeListS,VertexListS,DirectedS,
                      VertexProperty,EdgeProperty,GraphProperty,EdgeListS>,
- VertexListS, OutEdgeListS, DirectedS,
+ VertexListS, OutEdgeListS, DirectedS,
 #if !defined(BOOST_GRAPH_NO_BUNDLED_PROPERTIES)
       typename detail::retag_property_list<vertex_bundle_t,
                                            VertexProperty>::type,
@@ -379,7 +385,7 @@
   private:
     typedef adjacency_list self;
     typedef typename detail::adj_list_gen<
- self, VertexListS, OutEdgeListS, DirectedS,
+ self, VertexListS, OutEdgeListS, DirectedS,
       vertex_property_type, edge_property_type, GraphProperty, EdgeListS
>::type Base;
 
@@ -397,7 +403,7 @@
 
     typedef GraphProperty graph_property_type;
 
- inline adjacency_list(const GraphProperty& p = GraphProperty())
+ inline adjacency_list(const GraphProperty& p = GraphProperty())
       : m_property(p) { }
 
     inline adjacency_list(const adjacency_list& x)
@@ -413,7 +419,7 @@
     }
 
     // Required by Mutable Graph
- inline adjacency_list(vertices_size_type num_vertices,
+ inline adjacency_list(vertices_size_type num_vertices,
                           const GraphProperty& p = GraphProperty())
       : Base(num_vertices), m_property(p) { }
 
@@ -529,12 +535,12 @@
   get(T Bundle::* p, adjacency_list<OutEdgeListS, VertexListS, DirectedS, VertexProperty, EdgeProperty,
                                     GraphProperty, EdgeListS>& g)
   {
- typedef typename property_map<adjacency_list<OutEdgeListS, VertexListS, DirectedS, VertexProperty,
+ typedef typename property_map<adjacency_list<OutEdgeListS, VertexListS, DirectedS, VertexProperty,
                                                  EdgeProperty, GraphProperty, EdgeListS>, T Bundle::*>::type
       result_type;
     return result_type(&g, p);
   }
-
+
   template<typename OutEdgeListS, typename VertexListS, typename DirectedS, typename VertexProperty,
            typename EdgeProperty, typename GraphProperty, typename EdgeListS, typename T, typename Bundle>
   inline
@@ -543,7 +549,7 @@
   get(T Bundle::* p, adjacency_list<OutEdgeListS, VertexListS, DirectedS, VertexProperty, EdgeProperty,
                                     GraphProperty, EdgeListS> const & g)
   {
- typedef typename property_map<adjacency_list<OutEdgeListS, VertexListS, DirectedS, VertexProperty,
+ typedef typename property_map<adjacency_list<OutEdgeListS, VertexListS, DirectedS, VertexProperty,
                                                  EdgeProperty, GraphProperty, EdgeListS>, T Bundle::*>::const_type
       result_type;
     return result_type(&g, p);

Modified: branches/proto/v4/boost/graph/exception.hpp
==============================================================================
--- branches/proto/v4/boost/graph/exception.hpp (original)
+++ branches/proto/v4/boost/graph/exception.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -15,29 +15,40 @@
 
 namespace boost {
 
- struct bad_graph : public std::invalid_argument {
- bad_graph(const std::string& what_arg)
- : std::invalid_argument(what_arg) { }
- };
-
- struct not_a_dag : public bad_graph {
- not_a_dag()
- : bad_graph("The graph must be a DAG.") { }
- };
-
- struct negative_edge : public bad_graph {
- negative_edge()
- : bad_graph("The graph may not contain an edge with negative weight."){ }
- };
-
- struct negative_cycle : public bad_graph {
- negative_cycle()
- : bad_graph("The graph may not contain negative cycles.") { }
- };
- struct not_connected : public bad_graph {
- not_connected()
- : bad_graph("The graph must be connected.") { }
- };
+ struct bad_graph : public std::invalid_argument {
+ bad_graph(const std::string& what_arg)
+ : std::invalid_argument(what_arg) { }
+ };
+
+ struct not_a_dag : public bad_graph {
+ not_a_dag()
+ : bad_graph("The graph must be a DAG.")
+ { }
+ };
+
+ struct negative_edge : public bad_graph {
+ negative_edge()
+ : bad_graph("The graph may not contain an edge with negative weight.")
+ { }
+ };
+
+ struct negative_cycle : public bad_graph {
+ negative_cycle()
+ : bad_graph("The graph may not contain negative cycles.")
+ { }
+ };
+
+ struct not_connected : public bad_graph {
+ not_connected()
+ : bad_graph("The graph must be connected.")
+ { }
+ };
+
+ struct not_complete : public bad_graph {
+ not_complete()
+ : bad_graph("The graph must be complete.")
+ { }
+ };
 
 } // namespace boost
 

Modified: branches/proto/v4/boost/graph/fruchterman_reingold.hpp
==============================================================================
--- branches/proto/v4/boost/graph/fruchterman_reingold.hpp (original)
+++ branches/proto/v4/boost/graph/fruchterman_reingold.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -137,11 +137,11 @@
           std::size_t adj_end_column = column == columns - 1? column : column + 1;
           for (std::size_t other_row = adj_start_row; other_row <= adj_end_row;
                ++other_row)
- for (std::size_t other_column = adj_start_column;
+ for (std::size_t other_column = adj_start_column;
                  other_column <= adj_end_column; ++other_column)
               if (other_row != row || other_column != column) {
                 // Repulse vertices in this bucket
- bucket_t& other_bucket
+ bucket_t& other_bucket
                   = buckets[other_row * columns + other_column];
                 for (v = other_bucket.begin(); v != other_bucket.end(); ++v)
                   apply_force(*u, *v);
@@ -301,20 +301,20 @@
       BOOST_USING_STD_MAX();
       Dim disp_size = sqrt(displacement[*v].x * displacement[*v].x
                            + displacement[*v].y * displacement[*v].y);
- position[*v].x += displacement[*v].x / disp_size
+ position[*v].x += displacement[*v].x / disp_size
                      * min BOOST_PREVENT_MACRO_SUBSTITUTION (disp_size, temp);
- position[*v].y += displacement[*v].y / disp_size
+ position[*v].y += displacement[*v].y / disp_size
                      * min BOOST_PREVENT_MACRO_SUBSTITUTION (disp_size, temp);
- position[*v].x = min BOOST_PREVENT_MACRO_SUBSTITUTION
- (width / 2,
- max BOOST_PREVENT_MACRO_SUBSTITUTION(-width / 2,
+ position[*v].x = min BOOST_PREVENT_MACRO_SUBSTITUTION
+ (width / 2,
+ max BOOST_PREVENT_MACRO_SUBSTITUTION(-width / 2,
                                                                position[*v].x));
       position[*v].y = min BOOST_PREVENT_MACRO_SUBSTITUTION
- (height / 2,
- max BOOST_PREVENT_MACRO_SUBSTITUTION(-height / 2,
+ (height / 2,
+ max BOOST_PREVENT_MACRO_SUBSTITUTION(-height / 2,
                                                                position[*v].y));
     }
- } while (temp = cool());
+ } while ((temp = cool()));
 }
 
 namespace detail {

Modified: branches/proto/v4/boost/graph/graphml.hpp
==============================================================================
--- branches/proto/v4/boost/graph/graphml.hpp (original)
+++ branches/proto/v4/boost/graph/graphml.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -25,15 +25,15 @@
 #include <exception>
 #include <sstream>
 
-namespace boost
+namespace boost
 {
 
 /////////////////////////////////////////////////////////////////////////////
 // Graph reader exceptions
 /////////////////////////////////////////////////////////////////////////////
-struct parse_error: public graph_exception
+struct parse_error: public graph_exception
 {
- parse_error(const std::string& error) {statement = "parse error: " + error;}
+ parse_error(const std::string& error) {statement = "parse error: " + error;}
     virtual ~parse_error() throw() {}
     virtual const char* what() const throw() {return statement.c_str();}
     std::string statement;
@@ -48,14 +48,14 @@
 
     virtual boost::any do_add_vertex() = 0;
     virtual std::pair<boost::any,bool> do_add_edge(boost::any source, boost::any target) = 0;
-
- virtual void
+
+ virtual void
     set_graph_property(const std::string& name, const std::string& value, const std::string& value_type) = 0;
 
- virtual void
+ virtual void
     set_vertex_property(const std::string& name, boost::any vertex, const std::string& value, const std::string& value_type) = 0;
-
- virtual void
+
+ virtual void
     set_edge_property(const std::string& name, boost::any edge, const std::string& value, const std::string& value_type) = 0;
 };
 
@@ -87,27 +87,27 @@
         return std::make_pair(any(retval.first), retval.second);
     }
 
- virtual void
+ virtual void
     set_graph_property(const std::string& name, const std::string& value, const std::string& value_type)
     {
         bool type_found = false;
         try
         {
             mpl::for_each<value_types>(put_property<MutableGraph,value_types>
- (name, m_dp, m_g, value, value_type, m_type_names, type_found));
+ (name, m_dp, m_g, value, value_type, m_type_names, type_found));
         }
         catch (bad_lexical_cast)
         {
- throw parse_error("invalid value \"" + value + "\" for key " +
+ throw parse_error("invalid value \"" + value + "\" for key " +
                               name + " of type " + value_type);
         }
         if (!type_found)
- throw parse_error("unrecognized type \"" + value_type +
+ throw parse_error("unrecognized type \"" + value_type +
                                "\" for key " + name);
-
+
     }
-
- virtual void
+
+ virtual void
     set_vertex_property(const std::string& name, any vertex, const std::string& value, const std::string& value_type)
     {
         bool type_found = false;
@@ -115,20 +115,20 @@
         {
             mpl::for_each<value_types>(put_property<vertex_descriptor,value_types>
                                        (name, m_dp, any_cast<vertex_descriptor>(vertex),
- value, value_type, m_type_names, type_found));
+ value, value_type, m_type_names, type_found));
         }
         catch (bad_lexical_cast)
         {
- throw parse_error("invalid value \"" + value + "\" for key " +
+ throw parse_error("invalid value \"" + value + "\" for key " +
                               name + " of type " + value_type);
         }
         if (!type_found)
- throw parse_error("unrecognized type \"" + value_type +
+ throw parse_error("unrecognized type \"" + value_type +
                                "\" for key " + name);
-
+
     }
-
- virtual void
+
+ virtual void
     set_edge_property(const std::string& name, any edge, const std::string& value, const std::string& value_type)
     {
         bool type_found = false;
@@ -136,15 +136,15 @@
         {
             mpl::for_each<value_types>(put_property<edge_descriptor,value_types>
                                        (name, m_dp, any_cast<edge_descriptor>(edge),
- value, value_type, m_type_names, type_found));
+ value, value_type, m_type_names, type_found));
         }
         catch (bad_lexical_cast)
         {
- throw parse_error("invalid value \"" + value + "\" for key " +
+ throw parse_error("invalid value \"" + value + "\" for key " +
                               name + " of type " + value_type);
         }
         if (!type_found)
- throw parse_error("unrecognized type \"" + value_type +
+ throw parse_error("unrecognized type \"" + value_type +
                                "\" for key " + name);
     }
 
@@ -152,11 +152,11 @@
     class put_property
     {
     public:
- put_property(const std::string& name, dynamic_properties& dp, const Key& key,
- const std::string& value, const std::string& value_type,
- char** type_names, bool& type_found)
- : m_name(name), m_dp(dp), m_key(key), m_value(value),
- m_value_type(value_type), m_type_names(type_names),
+ put_property(const std::string& name, dynamic_properties& dp, const Key& key,
+ const std::string& value, const std::string& value_type,
+ const char** type_names, bool& type_found)
+ : m_name(name), m_dp(dp), m_key(key), m_value(value),
+ m_value_type(value_type), m_type_names(type_names),
               m_type_found(type_found) {}
         template <class Value>
         void operator()(Value)
@@ -173,19 +173,19 @@
         const Key& m_key;
         const std::string& m_value;
         const std::string& m_value_type;
- char** m_type_names;
+ const char** m_type_names;
         bool& m_type_found;
- };
-
+ };
+
 protected:
     MutableGraph& m_g;
     dynamic_properties& m_dp;
     typedef mpl::vector<bool, int, long, float, double, std::string> value_types;
- static char* m_type_names[];
+ static const char* m_type_names[];
 };
 
 template<typename MutableGraph>
-char* mutate_graph_impl<MutableGraph>::m_type_names[] = {"boolean", "int", "long", "float", "double", "string"};
+const char* mutate_graph_impl<MutableGraph>::m_type_names[] = {"boolean", "int", "long", "float", "double", "string"};
 
 void BOOST_GRAPH_DECL
 read_graphml(std::istream& in, mutate_graph& g);
@@ -193,7 +193,7 @@
 template<typename MutableGraph>
 void
 read_graphml(std::istream& in, MutableGraph& g, dynamic_properties& dp)
-{
+{
     mutate_graph_impl<MutableGraph> mg(g,dp);
     read_graphml(in, mg);
 }
@@ -202,7 +202,7 @@
 class get_type_name
 {
 public:
- get_type_name(const std::type_info& type, char** type_names, std::string& type_name)
+ get_type_name(const std::type_info& type, const char** type_names, std::string& type_name)
         : m_type(type), m_type_names(type_names), m_type_name(type_name) {}
     template <typename Type>
     void operator()(Type)
@@ -212,7 +212,7 @@
     }
 private:
     const std::type_info &m_type;
- char** m_type_names;
+ const char** m_type_names;
     std::string &m_type_name;
 };
 
@@ -226,22 +226,22 @@
     typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
     typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
 
- BOOST_STATIC_CONSTANT(bool,
- graph_is_directed =
+ BOOST_STATIC_CONSTANT(bool,
+ graph_is_directed =
                           (is_convertible<directed_category*, directed_tag*>::value));
 
     out << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
         << "<graphml xmlns=\"http://graphml.graphdrawing.org/xmlns\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd\">\n";
 
     typedef mpl::vector<bool, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string> value_types;
- char* type_names[] = {"boolean", "int", "int", "int", "int", "long", "long", "long", "long", "float", "double", "double", "string"};
+ const char* type_names[] = {"boolean", "int", "int", "int", "int", "long", "long", "long", "long", "float", "double", "double", "string"};
     std::map<std::string, std::string> graph_key_ids;
     std::map<std::string, std::string> vertex_key_ids;
     std::map<std::string, std::string> edge_key_ids;
     int key_count = 0;
 
     // Output keys
- for (dynamic_properties::const_iterator i = dp.begin(); i != dp.end(); ++i)
+ for (dynamic_properties::const_iterator i = dp.begin(); i != dp.end(); ++i)
     {
         std::string key_id = "key" + lexical_cast<std::string>(key_count++);
         if (i->second->key() == typeid(Graph))
@@ -254,14 +254,14 @@
             continue;
         std::string type_name = "string";
         mpl::for_each<value_types>(get_type_name<value_types>(i->second->value(), type_names, type_name));
- out << " <key id=\"" << key_id << "\" for=\""
+ out << " <key id=\"" << key_id << "\" for=\""
             << (i->second->key() == typeid(Graph) ? "graph" : (i->second->key() == typeid(vertex_descriptor) ? "node" : "edge")) << "\""
             << " attr.name=\"" << i->first << "\""
             << " attr.type=\"" << type_name << "\""
             << " />\n";
     }
 
- out << " <graph id=\"G\" edgedefault=\""
+ out << " <graph id=\"G\" edgedefault=\""
         << (graph_is_directed ? "directed" : "undirected") << "\""
         << " parse.nodeids=\"" << (ordered_vertices ? "canonical" : "free") << "\""
         << " parse.edgeids=\"canonical\" parse.order=\"nodesfirst\">\n";
@@ -269,13 +269,13 @@
     // Output graph data
     for (dynamic_properties::const_iterator i = dp.begin(); i != dp.end(); ++i)
     {
- if (i->second->key() == typeid(Graph))
+ if (i->second->key() == typeid(Graph))
         {
             out << " <data key=\"" << graph_key_ids[i->first] << "\">"
                 << i->second->get_string(g) << "</data>\n";
         }
     }
-
+
     typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator;
     vertex_iterator v, v_end;
     for (tie(v, v_end) = vertices(g); v != v_end; ++v)
@@ -284,7 +284,7 @@
         // Output data
         for (dynamic_properties::const_iterator i = dp.begin(); i != dp.end(); ++i)
         {
- if (i->second->key() == typeid(vertex_descriptor))
+ if (i->second->key() == typeid(vertex_descriptor))
             {
                 out << " <data key=\"" << vertex_key_ids[i->first] << "\">"
                     << i->second->get_string(*v) << "</data>\n";
@@ -296,7 +296,7 @@
     typedef typename graph_traits<Graph>::edge_iterator edge_iterator;
     edge_iterator e, e_end;
     typename graph_traits<Graph>::edges_size_type edge_count = 0;
- for (tie(e, e_end) = edges(g); e != e_end; ++e)
+ for (tie(e, e_end) = edges(g); e != e_end; ++e)
     {
         out << " <edge id=\"e" << edge_count++ << "\" source=\"n"
             << get(vertex_index, source(*e, g)) << "\" target=\"n"
@@ -305,7 +305,7 @@
         // Output data
         for (dynamic_properties::const_iterator i = dp.begin(); i != dp.end(); ++i)
         {
- if (i->second->key() == typeid(edge_descriptor))
+ if (i->second->key() == typeid(edge_descriptor))
             {
                 out << " <data key=\"" << edge_key_ids[i->first] << "\">"
                     << i->second->get_string(*e) << "</data>\n";
@@ -321,7 +321,7 @@
 
 template <typename Graph>
 void
-write_graphml(std::ostream& out, const Graph& g, const dynamic_properties& dp,
+write_graphml(std::ostream& out, const Graph& g, const dynamic_properties& dp,
               bool ordered_vertices=false)
 {
     write_graphml(out, g, get(vertex_index, g), dp, ordered_vertices);

Modified: branches/proto/v4/boost/graph/read_dimacs.hpp
==============================================================================
--- branches/proto/v4/boost/graph/read_dimacs.hpp (original)
+++ branches/proto/v4/boost/graph/read_dimacs.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -9,24 +9,27 @@
 
 /*
   Reads maximal flow problem in extended DIMACS format.
- This works, but could use some polishing.
+ This works, but could use some polishing.
 */
 
 /* ----------------------------------------------------------------- */
 
 #include <vector>
-#include <istream>
-#include <stdio.h>
+#include <iostream>
+#include <cstdio>
+#include <cstring>
+
+#include <boost/graph/graph_traits.hpp>
 
 namespace boost {
 
 template <class Graph, class CapacityMap, class ReverseEdgeMap>
 int read_dimacs_max_flow(Graph& g,
- CapacityMap capacity,
+ CapacityMap capacity,
                          ReverseEdgeMap reverse_edge,
                          typename graph_traits<Graph>::vertex_descriptor& src,
                          typename graph_traits<Graph>::vertex_descriptor& sink,
- std::istream& in=std::cin)
+ std::istream& in = std::cin)
 {
   // const int MAXLINE = 100; /* max line length in the input file */
   const int ARC_FIELDS = 3; /* no of fields in arc line */
@@ -37,7 +40,7 @@
   typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
   typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
   typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-
+
   std::vector<vertex_descriptor> verts;
 
   long m, n, /* number of edges and nodes */
@@ -48,11 +51,11 @@
     no_nslines=0, /* no of node-source-lines */
     no_nklines=0, /* no of node-source-lines */
     no_alines=0; /* no of arc-lines */
-
+
   std::string in_line; /* for reading input line */
   char pr_type[3]; /* for reading type of the problem */
   char nd; /* source (s) or sink (t) */
-
+
   int k, /* temporary */
     err_no; /* no of detected error */
 
@@ -78,9 +81,9 @@
   const int EN19 = 18;
   const int EN20 = 19;
   const int EN22 = 20;
-
- static char *err_message[] =
- {
+
+ static char *err_message[] =
+ {
     /* 0*/ "more than one problem line.",
     /* 1*/ "wrong number of parameters in the problem line.",
     /* 2*/ "it is not a Max Flow problem line.",
@@ -121,14 +124,14 @@
     case '\n': /* skip empty lines */
     case '\0': /* skip empty lines at the end of file */
       break;
-
+
     case 'p': /* problem description */
       if ( no_plines > 0 )
         /* more than one problem line */
         { err_no = EN1 ; goto error; }
-
+
       no_plines = 1;
-
+
       if (
           /* reading problem line: type of problem, no of nodes, no of arcs */
           sscanf ( in_line.c_str(), "%*c %3s %ld %ld", pr_type, &n, &m )
@@ -136,11 +139,11 @@
           )
         /*wrong number of parameters in the problem line*/
         { err_no = EN2; goto error; }
-
+
       if ( strcmp ( pr_type, PROBLEM_TYPE ) )
         /*wrong problem type*/
         { err_no = EN3; goto error; }
-
+
       if ( n <= 0 || m <= 0 )
         /*wrong value of no of arcs or nodes*/
         { err_no = EN4; goto error; }
@@ -150,83 +153,83 @@
           verts.push_back(add_vertex(g));
       }
       break;
-
+
     case 'n': /* source(s) description */
       if ( no_plines == 0 )
         /* there was not problem line above */
         { err_no = EN8; goto error; }
-
+
       /* reading source or sink */
       k = sscanf ( in_line.c_str(),"%*c %ld %c", &i, &nd );
       --i; // index from 0
       if ( k < NODE_FIELDS )
         /* node line is incorrect */
         { err_no = EN11; goto error; }
-
+
       if ( i < 0 || i > n )
         /* wrong value of node */
         { err_no = EN12; goto error; }
-
+
       switch (nd) {
       case 's': /* source line */
-
+
         if ( no_nslines != 0)
- /* more than one source line */
+ /* more than one source line */
           { err_no = EN9; goto error; }
-
+
         no_nslines = 1;
         src = verts[i];
         break;
-
+
       case 't': /* sink line */
-
+
         if ( no_nklines != 0)
           /* more than one sink line */
           { err_no = EN9; goto error; }
-
+
         no_nklines = 1;
         sink = verts[i];
         break;
-
+
       default:
         /* wrong type of node-line */
- err_no = EN12; goto error;
+ err_no = EN12; goto error;
       }
       break;
-
+
     case 'a': /* arc description */
- if ( no_nslines == 0 || no_nklines == 0 )
+ if ( no_nslines == 0 || no_nklines == 0 )
         /* there was not source and sink description above */
         { err_no = EN14; goto error; }
-
+
       if ( no_alines >= m )
         /*too many arcs on input*/
         { err_no = EN16; goto error; }
-
+
       if (
           /* reading an arc description */
           sscanf ( in_line.c_str(),"%*c %ld %ld %ld",
                    &tail, &head, &cap )
           != ARC_FIELDS
- )
+ )
         /* arc description is not correct */
         { err_no = EN15; goto error; }
 
       --tail; // index from 0, not 1
       --head;
       if ( tail < 0 || tail > n ||
- head < 0 || head > n
+ head < 0 || head > n
            )
         /* wrong value of nodes */
         { err_no = EN17; goto error; }
 
- {
- edge_descriptor e1, e2;
+ {
+ edge_descriptor e1, e2;
         bool in1, in2;
         tie(e1, in1) = add_edge(verts[tail], verts[head], g);
         tie(e2, in2) = add_edge(verts[head], verts[tail], g);
         if (!in1 || !in2) {
- std::cerr << "unable to add edge (" << head << "," << tail << ")"
+ std::cerr << "unable to add edge (" << head << "," << tail << ")"
                     << std::endl;
           return -1;
         }
@@ -237,38 +240,38 @@
       }
       ++no_alines;
       break;
-
+
     default:
       /* unknown type of line */
       err_no = EN18; goto error;
-
+
     } /* end of switch */
   } /* end of input loop */
-
- /* ----- all is red or error while reading ----- */
-
+
+ /* ----- all is red or error while reading ----- */
+
   if ( feof (stdin) == 0 ) /* reading error */
- { err_no=EN21; goto error; }
-
+ { err_no=EN21; goto error; }
+
   if ( no_lines == 0 ) /* empty input */
- { err_no = EN22; goto error; }
-
+ { err_no = EN22; goto error; }
+
   if ( no_alines < m ) /* not enough arcs */
- { err_no = EN19; goto error; }
-
- if ( out_degree(src, g) == 0 || out_degree(sink, g) == 0 )
+ { err_no = EN19; goto error; }
+
+ if ( out_degree(src, g) == 0 || out_degree(sink, g) == 0 )
     /* no arc goes out of the source */
     { err_no = EN20; goto error; }
-
+
   /* Thanks God! all is done */
   return (0);
-
+
   /* ---------------------------------- */
  error: /* error found reading input */
-
- printf ( "\nline %ld of input - %s\n",
+
+ printf ( "\nline %ld of input - %s\n",
            no_lines, err_message[err_no] );
-
+
   exit (1);
   return (0); /* to avoid warning */
 }

Modified: branches/proto/v4/boost/numeric/ublas/storage_sparse.hpp
==============================================================================
--- branches/proto/v4/boost/numeric/ublas/storage_sparse.hpp (original)
+++ branches/proto/v4/boost/numeric/ublas/storage_sparse.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -390,7 +390,6 @@
             if (it != end () && it->first == p.first)
                 return std::make_pair (it, false);
             difference_type n = it - begin ();
- BOOST_UBLAS_CHECK (size () == 0 || size () == size_type (n), external_logic ());
             resize (size () + 1);
             it = begin () + n; // allow for invalidation
             std::copy_backward (it, end () - 1, end ());
@@ -410,6 +409,7 @@
         }
         // BOOST_UBLAS_INLINE This function seems to be big. So we do not let the compiler inline it.
         void erase (iterator it1, iterator it2) {
+ if (it1 == it2) return /* nothing to erase */;
             BOOST_UBLAS_CHECK (begin () <= it1 && it1 < it2 && it2 <= end (), bad_index ());
             std::copy (it2, end (), it1);
             resize (size () - (it2 - it1));

Modified: branches/proto/v4/boost/ptr_container/serialize_ptr_circular_buffer.hpp
==============================================================================
Binary files. No diff available.

Modified: branches/proto/v4/boost/ptr_container/serialize_ptr_container.hpp
==============================================================================
Binary files. No diff available.

Modified: branches/proto/v4/boost/spirit/home/support/char_class.hpp
==============================================================================
--- branches/proto/v4/boost/spirit/home/support/char_class.hpp (original)
+++ branches/proto/v4/boost/spirit/home/support/char_class.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -78,88 +78,90 @@
     template <typename CharSet>
     struct classify
     {
+ typedef typename CharSet::char_type char_type;
+
         template <typename Char>
         static bool
         is(tag::alnum, Char ch)
         {
- return CharSet::isalnum(ch);
+ return CharSet::isalnum(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::alpha, Char ch)
         {
- return CharSet::isalpha(ch);
+ return CharSet::isalpha(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::digit, Char ch)
         {
- return CharSet::isdigit(ch);
+ return CharSet::isdigit(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::xdigit, Char ch)
         {
- return CharSet::isxdigit(ch);
+ return CharSet::isxdigit(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::cntrl, Char ch)
         {
- return CharSet::iscntrl(ch);
+ return CharSet::iscntrl(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::graph, Char ch)
         {
- return CharSet::isgraph(ch);
+ return CharSet::isgraph(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::lower, Char ch)
         {
- return CharSet::islower(ch);
+ return CharSet::islower(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::print, Char ch)
         {
- return CharSet::isprint(ch);
+ return CharSet::isprint(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::punct, Char ch)
         {
- return CharSet::ispunct(ch);
+ return CharSet::ispunct(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::space, Char ch)
         {
- return CharSet::isspace(ch);
+ return CharSet::isspace(char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::blank, Char ch)
         {
- return CharSet::isblank BOOST_PREVENT_MACRO_SUBSTITUTION (ch);
+ return CharSet::isblank BOOST_PREVENT_MACRO_SUBSTITUTION (char_type(ch));
         }
 
         template <typename Char>
         static bool
         is(tag::upper, Char ch)
         {
- return CharSet::isupper(ch);
+ return CharSet::isupper(char_type(ch));
         }
     };
 
@@ -167,18 +169,20 @@
     template <typename CharSet>
     struct convert
     {
+ typedef typename CharSet::char_type char_type;
+
         template <typename Char>
         static Char
         to(tag::lower, Char ch)
         {
- return CharSet::tolower(ch);
+ return CharSet::tolower(char_type(ch));
         }
 
         template <typename Char>
         static Char
         to(tag::upper, Char ch)
         {
- return CharSet::toupper(ch);
+ return CharSet::toupper(char_type(ch));
         }
     };
 

Modified: branches/proto/v4/boost/spirit/home/support/char_class/iso8859_1.hpp
==============================================================================
--- branches/proto/v4/boost/spirit/home/support/char_class/iso8859_1.hpp (original)
+++ branches/proto/v4/boost/spirit/home/support/char_class/iso8859_1.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -562,7 +562,7 @@
     ///////////////////////////////////////////////////////////////////////////
     struct iso8859_1
     {
- typedef char char_type;
+ typedef unsigned char char_type;
 
         static bool
         is_ascii(int ch)

Modified: branches/proto/v4/boost/tr1/tr1/array
==============================================================================
--- branches/proto/v4/boost/tr1/tr1/array (original)
+++ branches/proto/v4/boost/tr1/tr1/array 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,34 +1,34 @@
-// (C) Copyright John Maddock 2005.
-// 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)
-
-
-#if !defined(BOOST_TR1_ARRAY_INCLUDED)
-# define BOOST_TR1_ARRAY_INCLUDED
-# include <boost/tr1/detail/config_all.hpp>
-
-# ifdef BOOST_HAS_CPP_0X
-# ifdef BOOST_HAS_INCLUDE_NEXT
-# include_next <array>
-# else
-# include BOOST_TR1_STD_HEADER(array)
-# endif
-# endif
-
-# if !defined(BOOST_TR1_NO_RECURSION)
-# define BOOST_TR1_NO_RECURSION
-# ifdef BOOST_HAS_TR1_ARRAY
-# ifdef BOOST_HAS_INCLUDE_NEXT
-# include_next BOOST_TR1_HEADER(array)
-# else
-# include BOOST_TR1_STD_HEADER(BOOST_TR1_PATH(array))
-# endif
-# else
-# include <boost/tr1/array.hpp>
-# endif
-# undef BOOST_TR1_NO_RECURSION
-#endif
-#endif
-
-
+// (C) Copyright John Maddock 2005.
+// 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)
+
+
+#if !defined(BOOST_TR1_ARRAY_INCLUDED)
+# define BOOST_TR1_ARRAY_INCLUDED
+# include <boost/tr1/detail/config_all.hpp>
+
+# ifdef BOOST_HAS_CPP_0X
+# ifdef BOOST_HAS_INCLUDE_NEXT
+# include_next <array>
+# else
+# include BOOST_TR1_STD_HEADER(array)
+# endif
+# endif
+
+# if !defined(BOOST_TR1_NO_RECURSION)
+# define BOOST_TR1_NO_RECURSION
+# ifdef BOOST_HAS_TR1_ARRAY
+# ifdef BOOST_HAS_INCLUDE_NEXT
+# include_next BOOST_TR1_HEADER(array)
+# else
+# include BOOST_TR1_STD_HEADER(BOOST_TR1_PATH(array))
+# endif
+# else
+# include <boost/tr1/array.hpp>
+# endif
+# undef BOOST_TR1_NO_RECURSION
+#endif
+#endif
+
+

Modified: branches/proto/v4/boost/version.hpp
==============================================================================
--- branches/proto/v4/boost/version.hpp (original)
+++ branches/proto/v4/boost/version.hpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -19,7 +19,7 @@
 // BOOST_VERSION / 100 % 1000 is the minor version
 // BOOST_VERSION / 100000 is the major version
 
-#define BOOST_VERSION 103700
+#define BOOST_VERSION 103800
 
 //
 // BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
@@ -27,7 +27,7 @@
 // number, y is the minor version number, and z is the patch level if not 0.
 // This is used by <config/auto_link.hpp> to select which library version to link to.
 
-#define BOOST_LIB_VERSION "1_37"
+#define BOOST_LIB_VERSION "1_38"
 
 #endif
 

Modified: branches/proto/v4/index.html
==============================================================================
--- branches/proto/v4/index.html (original)
+++ branches/proto/v4/index.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -14,7 +14,7 @@
         <a href="index.html">
         <img src="boost.png" alt="boost.png (6897 bytes)" align="middle" width="277" height="86" border="0"></a></td>
       <td width="337" align="middle">
- <h2 style="text-align: center">Release 1.37.0</h2>
+ <h2 style="text-align: center">Release 1.38.0</h2>
       </td>
     </tr>
   </table>
@@ -55,10 +55,9 @@
 
   <h3>Changes in this release</h3>
 
- <p>This release includes <b><i>one</i></b><i><b> new librar</b></i><b><i>y</i></b>
- (proto) and
+ <p>This release includes <b><i><span style="background-color: #FFFF00">??? new libraries</span></i></b>&nbsp; and
   updates to many existing libraries. See
- <a href="http://www.boost.org/users/history/version_1_37_0">Release
+ <a href="http://www.boost.org/users/history/version_1_38_0">Release
   History</a> for more information.</p>
 
   <h3>Getting Started</h3>

Modified: branches/proto/v4/libs/asio/doc/examples.qbk
==============================================================================
--- branches/proto/v4/libs/asio/doc/examples.qbk (original)
+++ branches/proto/v4/libs/asio/doc/examples.qbk 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -33,6 +33,12 @@
 * [@boost_asio/example/chat/chat_client.cpp]
 * [@boost_asio/example/chat/chat_server.cpp]
 
+The following POSIX-specific chat client demonstrates how to use the
+[link boost_asio.reference.posix__stream_descriptor posix::stream_descriptor]
+class to perform console input and output.
+
+* [@boost_asio/example/chat/posix_chat_client.cpp]
+
 
 [heading Echo]
 

Modified: branches/proto/v4/libs/asio/doc/overview/posix.qbk
==============================================================================
--- branches/proto/v4/libs/asio/doc/overview/posix.qbk (original)
+++ branches/proto/v4/libs/asio/doc/overview/posix.qbk 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -92,7 +92,8 @@
 
 [link boost_asio.reference.posix__stream_descriptor posix::stream_descriptor],
 [link boost_asio.reference.posix__basic_stream_descriptor posix::basic_stream_descriptor],
-[link boost_asio.reference.posix__stream_descriptor_service posix::stream_descriptor_service].
+[link boost_asio.reference.posix__stream_descriptor_service posix::stream_descriptor_service],
+[link boost_asio.examples.chat Chat example].
 
 [heading Notes]
 

Modified: branches/proto/v4/libs/asio/doc/reference.qbk
==============================================================================
--- branches/proto/v4/libs/asio/doc/reference.qbk (original)
+++ branches/proto/v4/libs/asio/doc/reference.qbk 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -26321,14 +26321,14 @@
   [
 
     [[link boost_asio.reference.basic_streambuf.const_buffers_type [*const_buffers_type]]]
- [The type used to represent the get area as a list of buffers. ]
+ [The type used to represent the input sequence as a list of buffers. ]
   
   ]
 
   [
 
     [[link boost_asio.reference.basic_streambuf.mutable_buffers_type [*mutable_buffers_type]]]
- [The type used to represent the put area as a list of buffers. ]
+ [The type used to represent the output sequence as a list of buffers. ]
   
   ]
 
@@ -26340,37 +26340,37 @@
 
   [
     [[link boost_asio.reference.basic_streambuf.basic_streambuf [*basic_streambuf]]]
- [Construct a buffer with a specified maximum size. ]
+ [Construct a basic_streambuf object. ]
   ]
   
   [
     [[link boost_asio.reference.basic_streambuf.commit [*commit]]]
- [Move the start of the put area by the specified number of characters. ]
+ [Move characters from the output sequence to the input sequence. ]
   ]
   
   [
     [[link boost_asio.reference.basic_streambuf.consume [*consume]]]
- [Move the start of the get area by the specified number of characters. ]
+ [Remove characters from the input sequence. ]
   ]
   
   [
     [[link boost_asio.reference.basic_streambuf.data [*data]]]
- [Get a list of buffers that represents the get area. ]
+ [Get a list of buffers that represents the input sequence. ]
   ]
   
   [
     [[link boost_asio.reference.basic_streambuf.max_size [*max_size]]]
- [Return the maximum size of the buffer. ]
+ [Get the maximum size of the basic_streambuf. ]
   ]
   
   [
     [[link boost_asio.reference.basic_streambuf.prepare [*prepare]]]
- [Get a list of buffers that represents the put area, with the given size. ]
+ [Get a list of buffers that represents the output sequence, with the given size. ]
   ]
   
   [
     [[link boost_asio.reference.basic_streambuf.size [*size]]]
- [Return the size of the get area in characters. ]
+ [Get the size of the input sequence. ]
   ]
   
 ]
@@ -26381,7 +26381,7 @@
 
   [
     [[link boost_asio.reference.basic_streambuf.overflow [*overflow]]]
- []
+ [Override std::streambuf behaviour. ]
   ]
   
   [
@@ -26391,21 +26391,79 @@
   
   [
     [[link boost_asio.reference.basic_streambuf.underflow [*underflow]]]
- []
+ [Override std::streambuf behaviour. ]
   ]
   
 ]
 
+The `basic_streambuf` class is derived from `std::streambuf` to associate the streambuf's input and output sequences with one or more character arrays. These character arrays are internal to the `basic_streambuf` object, but direct access to the array elements is provided to permit them to be used efficiently with I/O operations. Characters written to the output sequence of a `basic_streambuf` object are appended to the input sequence of the same object.
+
+The `basic_streambuf` class's public interface is intended to permit the following implementation strategies:
+
+
+* A single contiguous character array, which is reallocated as necessary to accommodate changes in the size of the character sequence. This is the implementation approach currently used in Asio.
+
+* A sequence of one or more character arrays, where each array is of the same size. Additional character array objects are appended to the sequence to accommodate changes in the size of the character sequence.
+
+* A sequence of one or more character arrays of varying sizes. Additional character array objects are appended to the sequence to accommodate changes in the size of the character sequence.
+
+The constructor for basic_streambuf accepts a `size_t` argument specifying the maximum of the sum of the sizes of the input sequence and output sequence. During the lifetime of the `basic_streambuf` object, the following invariant holds:
+
+ size() <= max_size()
+
+
+Any member function that would, if successful, cause the invariant to be violated shall throw an exception of class `std::length_error`.
+
+The constructor for `basic_streambuf` takes an Allocator argument. A copy of this argument is used for any memory allocation performed, by the constructor and by all member functions, during the lifetime of each `basic_streambuf` object.
+
+
+[heading Examples]
+
+Writing directly from an streambuf to a socket:
+
+ boost::asio::streambuf b;
+ std::ostream os(&b);
+ os << "Hello, World!\n";
+
+ // try sending some data in input sequence
+ size_t n = sock.send(b.data());
+
+ b.consume(n); // sent data is removed from input sequence
+
+
+
+
+Reading from a socket directly into a streambuf:
+
+ boost::asio::streambuf b;
+
+ // reserve 512 bytes in output sequence
+ boost::asio::streambuf::const_buffers_type bufs = b.prepare(512);
+
+ size_t n = sock.receive(bufs);
+
+ // received data is "committed" from output sequence to input sequence
+ b.commit(n);
+
+ std::istream is(&b);
+ std::string s;
+ is >> s;
+
+
+
+
 
 [section:basic_streambuf basic_streambuf::basic_streambuf]
 
-[indexterm2 basic_streambuf..basic_streambuf] Construct a buffer with a specified maximum size.
+[indexterm2 basic_streambuf..basic_streambuf] Construct a basic_streambuf object.
 
   basic_streambuf(
       std::size_t max_size = (std::numeric_limits< std::size_t >::max)(),
       const Allocator & allocator = Allocator());
 
 
+Constructs a streambuf with the specified maximum size. The initial size of the streambuf's input sequence is 0.
+
 
 [endsect]
 
@@ -26413,12 +26471,27 @@
 
 [section:commit basic_streambuf::commit]
 
-[indexterm2 commit..basic_streambuf] Move the start of the put area by the specified number of characters.
+[indexterm2 commit..basic_streambuf] Move characters from the output sequence to the input sequence.
 
   void commit(
       std::size_t n);
 
 
+Appends `n` characters from the start of the output sequence to the input sequence. The beginning of the output sequence is advanced by `n` characters.
+
+Requires a preceding call `prepare(x)` where `x >= n`, and no intervening operations that modify the input or output sequence.
+
+
+[heading Exceptions]
+
+
+[variablelist
+
+[[std::length_error][If `n` is greater than the size of the output sequence. ]]
+
+]
+
+
 
 [endsect]
 
@@ -26426,7 +26499,7 @@
 
 [section:const_buffers_type basic_streambuf::const_buffers_type]
 
-[indexterm2 const_buffers_type..basic_streambuf] The type used to represent the get area as a list of buffers.
+[indexterm2 const_buffers_type..basic_streambuf] The type used to represent the input sequence as a list of buffers.
 
   typedef implementation_defined const_buffers_type;
 
@@ -26439,12 +26512,25 @@
 
 [section:consume basic_streambuf::consume]
 
-[indexterm2 consume..basic_streambuf] Move the start of the get area by the specified number of characters.
+[indexterm2 consume..basic_streambuf] Remove characters from the input sequence.
 
   void consume(
       std::size_t n);
 
 
+Removes `n` characters from the beginning of the input sequence.
+
+
+[heading Exceptions]
+
+
+[variablelist
+
+[[std::length_error][If `n > size()`. ]]
+
+]
+
+
 
 [endsect]
 
@@ -26452,31 +26538,47 @@
 
 [section:data basic_streambuf::data]
 
-[indexterm2 data..basic_streambuf] Get a list of buffers that represents the get area.
+[indexterm2 data..basic_streambuf] Get a list of buffers that represents the input sequence.
 
   const_buffers_type data() const;
 
 
 
+[heading Return Value]
+
+An object of type `const_buffers_type` that satisfies ConstBufferSequence requirements, representing all character arrays in the input sequence.
+
+[heading Remarks]
+
+The returned object is invalidated by any `basic_streambuf` member function that modifies the input sequence or output sequence.
+
+
+
 [endsect]
 
 
 
 [section:max_size basic_streambuf::max_size]
 
-[indexterm2 max_size..basic_streambuf] Return the maximum size of the buffer.
+[indexterm2 max_size..basic_streambuf] Get the maximum size of the basic_streambuf.
 
   std::size_t max_size() const;
 
 
 
+[heading Return Value]
+
+The allowed maximum of the sum of the sizes of the input sequence and output sequence.
+
+
+
 [endsect]
 
 
 
 [section:mutable_buffers_type basic_streambuf::mutable_buffers_type]
 
-[indexterm2 mutable_buffers_type..basic_streambuf] The type used to represent the put area as a list of buffers.
+[indexterm2 mutable_buffers_type..basic_streambuf] The type used to represent the output sequence as a list of buffers.
 
   typedef implementation_defined mutable_buffers_type;
 
@@ -26489,12 +26591,14 @@
 
 [section:overflow basic_streambuf::overflow]
 
-[indexterm2 overflow..basic_streambuf]
+[indexterm2 overflow..basic_streambuf] Override std::streambuf behaviour.
 
   int_type overflow(
       int_type c);
 
 
+Behaves according to the specification of `std::streambuf::overflow()`, with the specialisation that `std::length_error` is thrown if appending the character to the input sequence would require the condition `size() > max_size()` to be true.
+
 
 [endsect]
 
@@ -26502,10 +26606,31 @@
 
 [section:prepare basic_streambuf::prepare]
 
-[indexterm2 prepare..basic_streambuf] Get a list of buffers that represents the put area, with the given size.
+[indexterm2 prepare..basic_streambuf] Get a list of buffers that represents the output sequence, with the given size.
 
   mutable_buffers_type prepare(
- std::size_t size);
+ std::size_t n);
+
+
+Ensures that the output sequence can accommodate `n` characters, reallocating character array objects as necessary.
+
+
+[heading Return Value]
+
+An object of type `mutable_buffers_type` that satisfies MutableBufferSequence requirements, representing character array objects at the start of the output sequence such that the sum of the buffer sizes is `n`.
+
+[heading Exceptions]
+
+
+[variablelist
+
+[[std::length_error][If `size() + n > max_size()`.]]
+
+]
+
+[heading Remarks]
+
+The returned object is invalidated by any `basic_streambuf` member function that modifies the input sequence or output sequence.
 
 
 
@@ -26528,23 +26653,43 @@
 
 [section:size basic_streambuf::size]
 
-[indexterm2 size..basic_streambuf] Return the size of the get area in characters.
+[indexterm2 size..basic_streambuf] Get the size of the input sequence.
 
   std::size_t size() const;
 
 
 
+[heading Return Value]
+
+The size of the input sequence. The value is equal to that calculated for `s` in the following code:
+
+ size_t s = 0;
+ const_buffers_type bufs = data();
+ const_buffers_type::const_iterator i = bufs.begin();
+ while (i != bufs.end())
+ {
+ const_buffer buf(*i++);
+ s += buffer_size(buf);
+ }
+
+
+
+
+
+
 [endsect]
 
 
 
 [section:underflow basic_streambuf::underflow]
 
-[indexterm2 underflow..basic_streambuf]
+[indexterm2 underflow..basic_streambuf] Override std::streambuf behaviour.
 
   int_type underflow();
 
 
+Behaves according to the specification of `std::streambuf::underflow()`.
+
 
 [endsect]
 
@@ -56141,14 +56286,14 @@
   [
 
     [[link boost_asio.reference.basic_streambuf.const_buffers_type [*const_buffers_type]]]
- [The type used to represent the get area as a list of buffers. ]
+ [The type used to represent the input sequence as a list of buffers. ]
   
   ]
 
   [
 
     [[link boost_asio.reference.basic_streambuf.mutable_buffers_type [*mutable_buffers_type]]]
- [The type used to represent the put area as a list of buffers. ]
+ [The type used to represent the output sequence as a list of buffers. ]
   
   ]
 
@@ -56160,37 +56305,37 @@
 
   [
     [[link boost_asio.reference.basic_streambuf.basic_streambuf [*basic_streambuf]]]
- [Construct a buffer with a specified maximum size. ]
+ [Construct a basic_streambuf object. ]
   ]
   
   [
     [[link boost_asio.reference.basic_streambuf.commit [*commit]]]
- [Move the start of the put area by the specified number of characters. ]
+ [Move characters from the output sequence to the input sequence. ]
   ]
   
   [
     [[link boost_asio.reference.basic_streambuf.consume [*consume]]]
- [Move the start of the get area by the specified number of characters. ]
+ [Remove characters from the input sequence. ]
   ]
   
   [
     [[link boost_asio.reference.basic_streambuf.data [*data]]]
- [Get a list of buffers that represents the get area. ]
+ [Get a list of buffers that represents the input sequence. ]
   ]
   
   [
     [[link boost_asio.reference.basic_streambuf.max_size [*max_size]]]
- [Return the maximum size of the buffer. ]
+ [Get the maximum size of the basic_streambuf. ]
   ]
   
   [
     [[link boost_asio.reference.basic_streambuf.prepare [*prepare]]]
- [Get a list of buffers that represents the put area, with the given size. ]
+ [Get a list of buffers that represents the output sequence, with the given size. ]
   ]
   
   [
     [[link boost_asio.reference.basic_streambuf.size [*size]]]
- [Return the size of the get area in characters. ]
+ [Get the size of the input sequence. ]
   ]
   
 ]
@@ -56201,7 +56346,7 @@
 
   [
     [[link boost_asio.reference.basic_streambuf.overflow [*overflow]]]
- []
+ [Override std::streambuf behaviour. ]
   ]
   
   [
@@ -56211,11 +56356,67 @@
   
   [
     [[link boost_asio.reference.basic_streambuf.underflow [*underflow]]]
- []
+ [Override std::streambuf behaviour. ]
   ]
   
 ]
 
+The `basic_streambuf` class is derived from `std::streambuf` to associate the streambuf's input and output sequences with one or more character arrays. These character arrays are internal to the `basic_streambuf` object, but direct access to the array elements is provided to permit them to be used efficiently with I/O operations. Characters written to the output sequence of a `basic_streambuf` object are appended to the input sequence of the same object.
+
+The `basic_streambuf` class's public interface is intended to permit the following implementation strategies:
+
+
+* A single contiguous character array, which is reallocated as necessary to accommodate changes in the size of the character sequence. This is the implementation approach currently used in Asio.
+
+* A sequence of one or more character arrays, where each array is of the same size. Additional character array objects are appended to the sequence to accommodate changes in the size of the character sequence.
+
+* A sequence of one or more character arrays of varying sizes. Additional character array objects are appended to the sequence to accommodate changes in the size of the character sequence.
+
+The constructor for basic_streambuf accepts a `size_t` argument specifying the maximum of the sum of the sizes of the input sequence and output sequence. During the lifetime of the `basic_streambuf` object, the following invariant holds:
+
+ size() <= max_size()
+
+
+Any member function that would, if successful, cause the invariant to be violated shall throw an exception of class `std::length_error`.
+
+The constructor for `basic_streambuf` takes an Allocator argument. A copy of this argument is used for any memory allocation performed, by the constructor and by all member functions, during the lifetime of each `basic_streambuf` object.
+
+
+[heading Examples]
+
+Writing directly from an streambuf to a socket:
+
+ boost::asio::streambuf b;
+ std::ostream os(&b);
+ os << "Hello, World!\n";
+
+ // try sending some data in input sequence
+ size_t n = sock.send(b.data());
+
+ b.consume(n); // sent data is removed from input sequence
+
+
+
+
+Reading from a socket directly into a streambuf:
+
+ boost::asio::streambuf b;
+
+ // reserve 512 bytes in output sequence
+ boost::asio::streambuf::const_buffers_type bufs = b.prepare(512);
+
+ size_t n = sock.receive(bufs);
+
+ // received data is "committed" from output sequence to input sequence
+ b.commit(n);
+
+ std::istream is(&b);
+ std::string s;
+ is >> s;
+
+
+
+
 
 
 [endsect]

Modified: branches/proto/v4/libs/asio/example/chat/Jamfile
==============================================================================
--- branches/proto/v4/libs/asio/example/chat/Jamfile (original)
+++ branches/proto/v4/libs/asio/example/chat/Jamfile 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -45,3 +45,16 @@
     <mingw><*><find-library>mswsock
     $(SOCKET_LIBS)
   ;
+
+exe posix_chat_client
+ : <lib>@boost/libs/thread/build/boost_thread
+ <lib>@boost/libs/system/build/boost_system
+ posix_chat_client.cpp
+ : <include>$(BOOST_ROOT)
+ <include>../../../..
+ <define>BOOST_ALL_NO_LIB=1
+ <threading>multi
+ <mingw><*><find-library>ws2_32
+ <mingw><*><find-library>mswsock
+ $(SOCKET_LIBS)
+ ;

Modified: branches/proto/v4/libs/asio/example/chat/Jamfile.v2
==============================================================================
--- branches/proto/v4/libs/asio/example/chat/Jamfile.v2 (original)
+++ branches/proto/v4/libs/asio/example/chat/Jamfile.v2 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -40,3 +40,4 @@
 
 exe chat_server : chat_server.cpp ;
 exe chat_client : chat_client.cpp ;
+exe posix_chat_client : posix_chat_client.cpp ;

Modified: branches/proto/v4/libs/asio/test/read_until.cpp
==============================================================================
--- branches/proto/v4/libs/asio/test/read_until.cpp (original)
+++ branches/proto/v4/libs/asio/test/read_until.cpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -121,52 +121,81 @@
   boost::system::error_code ec;
 
   s.reset(read_data, sizeof(read_data));
+ sb1.consume(sb1.size());
   std::size_t length = boost::asio::read_until(s, sb1, 'Z');
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(1);
+ sb1.consume(sb1.size());
   length = boost::asio::read_until(s, sb1, 'Z');
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(10);
+ sb1.consume(sb1.size());
   length = boost::asio::read_until(s, sb1, 'Z');
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
+ sb1.consume(sb1.size());
   length = boost::asio::read_until(s, sb1, 'Z', ec);
   BOOST_CHECK(!ec);
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(1);
+ sb1.consume(sb1.size());
   length = boost::asio::read_until(s, sb1, 'Z', ec);
   BOOST_CHECK(!ec);
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(10);
+ sb1.consume(sb1.size());
   length = boost::asio::read_until(s, sb1, 'Z', ec);
   BOOST_CHECK(!ec);
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
+ sb2.consume(sb2.size());
   length = boost::asio::read_until(s, sb2, 'Z', ec);
   BOOST_CHECK(ec == boost::asio::error::not_found);
   BOOST_CHECK(length == 0);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(1);
+ sb2.consume(sb2.size());
   length = boost::asio::read_until(s, sb2, 'Z', ec);
   BOOST_CHECK(ec == boost::asio::error::not_found);
   BOOST_CHECK(length == 0);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(10);
+ sb2.consume(sb2.size());
   length = boost::asio::read_until(s, sb2, 'Z', ec);
   BOOST_CHECK(ec == boost::asio::error::not_found);
   BOOST_CHECK(length == 0);
+
+ s.reset(read_data, sizeof(read_data));
+ sb2.consume(sb2.size());
+ length = boost::asio::read_until(s, sb2, 'Y', ec);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
+
+ s.reset(read_data, sizeof(read_data));
+ s.next_read_length(1);
+ sb2.consume(sb2.size());
+ length = boost::asio::read_until(s, sb2, 'Y', ec);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
+
+ s.reset(read_data, sizeof(read_data));
+ s.next_read_length(10);
+ sb2.consume(sb2.size());
+ length = boost::asio::read_until(s, sb2, 'Y', ec);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
 }
 
 void test_string_read_until()
@@ -178,52 +207,81 @@
   boost::system::error_code ec;
 
   s.reset(read_data, sizeof(read_data));
+ sb1.consume(sb1.size());
   std::size_t length = boost::asio::read_until(s, sb1, "XYZ");
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(1);
+ sb1.consume(sb1.size());
   length = boost::asio::read_until(s, sb1, "XYZ");
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(10);
+ sb1.consume(sb1.size());
   length = boost::asio::read_until(s, sb1, "XYZ");
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
+ sb1.consume(sb1.size());
   length = boost::asio::read_until(s, sb1, "XYZ", ec);
   BOOST_CHECK(!ec);
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(1);
+ sb1.consume(sb1.size());
   length = boost::asio::read_until(s, sb1, "XYZ", ec);
   BOOST_CHECK(!ec);
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(10);
+ sb1.consume(sb1.size());
   length = boost::asio::read_until(s, sb1, "XYZ", ec);
   BOOST_CHECK(!ec);
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
+ sb2.consume(sb2.size());
   length = boost::asio::read_until(s, sb2, "XYZ", ec);
   BOOST_CHECK(ec == boost::asio::error::not_found);
   BOOST_CHECK(length == 0);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(1);
+ sb2.consume(sb2.size());
   length = boost::asio::read_until(s, sb2, "XYZ", ec);
   BOOST_CHECK(ec == boost::asio::error::not_found);
   BOOST_CHECK(length == 0);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(10);
+ sb2.consume(sb2.size());
   length = boost::asio::read_until(s, sb2, "XYZ", ec);
   BOOST_CHECK(ec == boost::asio::error::not_found);
   BOOST_CHECK(length == 0);
+
+ s.reset(read_data, sizeof(read_data));
+ sb2.consume(sb2.size());
+ length = boost::asio::read_until(s, sb2, "WXY", ec);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
+
+ s.reset(read_data, sizeof(read_data));
+ s.next_read_length(1);
+ sb2.consume(sb2.size());
+ length = boost::asio::read_until(s, sb2, "WXY", ec);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
+
+ s.reset(read_data, sizeof(read_data));
+ s.next_read_length(10);
+ sb2.consume(sb2.size());
+ length = boost::asio::read_until(s, sb2, "WXY", ec);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
 }
 
 class match_char
@@ -262,52 +320,81 @@
   boost::system::error_code ec;
 
   s.reset(read_data, sizeof(read_data));
+ sb1.consume(sb1.size());
   std::size_t length = boost::asio::read_until(s, sb1, match_char('Z'));
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(1);
+ sb1.consume(sb1.size());
   length = boost::asio::read_until(s, sb1, match_char('Z'));
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(10);
+ sb1.consume(sb1.size());
   length = boost::asio::read_until(s, sb1, match_char('Z'));
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
+ sb1.consume(sb1.size());
   length = boost::asio::read_until(s, sb1, match_char('Z'), ec);
   BOOST_CHECK(!ec);
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(1);
+ sb1.consume(sb1.size());
   length = boost::asio::read_until(s, sb1, match_char('Z'), ec);
   BOOST_CHECK(!ec);
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(10);
+ sb1.consume(sb1.size());
   length = boost::asio::read_until(s, sb1, match_char('Z'), ec);
   BOOST_CHECK(!ec);
   BOOST_CHECK(length == 26);
 
   s.reset(read_data, sizeof(read_data));
+ sb2.consume(sb2.size());
   length = boost::asio::read_until(s, sb2, match_char('Z'), ec);
   BOOST_CHECK(ec == boost::asio::error::not_found);
   BOOST_CHECK(length == 0);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(1);
+ sb2.consume(sb2.size());
   length = boost::asio::read_until(s, sb2, match_char('Z'), ec);
   BOOST_CHECK(ec == boost::asio::error::not_found);
   BOOST_CHECK(length == 0);
 
   s.reset(read_data, sizeof(read_data));
   s.next_read_length(10);
+ sb2.consume(sb2.size());
   length = boost::asio::read_until(s, sb2, match_char('Z'), ec);
   BOOST_CHECK(ec == boost::asio::error::not_found);
   BOOST_CHECK(length == 0);
+
+ s.reset(read_data, sizeof(read_data));
+ sb2.consume(sb2.size());
+ length = boost::asio::read_until(s, sb2, match_char('Y'), ec);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
+
+ s.reset(read_data, sizeof(read_data));
+ s.next_read_length(1);
+ sb2.consume(sb2.size());
+ length = boost::asio::read_until(s, sb2, match_char('Y'), ec);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
+
+ s.reset(read_data, sizeof(read_data));
+ s.next_read_length(10);
+ sb2.consume(sb2.size());
+ length = boost::asio::read_until(s, sb2, match_char('Y'), ec);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
 }
 
 void async_read_handler(
@@ -333,6 +420,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb1.consume(sb1.size());
   boost::asio::async_read_until(s, sb1, 'Z',
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -347,6 +435,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb1.consume(sb1.size());
   boost::asio::async_read_until(s, sb1, 'Z',
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -361,6 +450,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb1.consume(sb1.size());
   boost::asio::async_read_until(s, sb1, 'Z',
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -374,6 +464,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb2.consume(sb2.size());
   boost::asio::async_read_until(s, sb2, 'Z',
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -388,6 +479,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb2.consume(sb2.size());
   boost::asio::async_read_until(s, sb2, 'Z',
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -402,6 +494,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb2.consume(sb2.size());
   boost::asio::async_read_until(s, sb2, 'Z',
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -410,6 +503,50 @@
   BOOST_CHECK(called);
   BOOST_CHECK(ec == boost::asio::error::not_found);
   BOOST_CHECK(length == 0);
+
+ s.reset(read_data, sizeof(read_data));
+ ec = boost::system::error_code();
+ length = 0;
+ called = false;
+ sb2.consume(sb2.size());
+ boost::asio::async_read_until(s, sb2, 'Y',
+ boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
+ boost::asio::placeholders::bytes_transferred, &length, &called));
+ ios.reset();
+ ios.run();
+ BOOST_CHECK(called);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
+
+ s.reset(read_data, sizeof(read_data));
+ s.next_read_length(1);
+ ec = boost::system::error_code();
+ length = 0;
+ called = false;
+ sb2.consume(sb2.size());
+ boost::asio::async_read_until(s, sb2, 'Y',
+ boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
+ boost::asio::placeholders::bytes_transferred, &length, &called));
+ ios.reset();
+ ios.run();
+ BOOST_CHECK(called);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
+
+ s.reset(read_data, sizeof(read_data));
+ s.next_read_length(10);
+ ec = boost::system::error_code();
+ length = 0;
+ called = false;
+ sb2.consume(sb2.size());
+ boost::asio::async_read_until(s, sb2, 'Y',
+ boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
+ boost::asio::placeholders::bytes_transferred, &length, &called));
+ ios.reset();
+ ios.run();
+ BOOST_CHECK(called);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
 }
 
 void test_string_async_read_until()
@@ -426,6 +563,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb1.consume(sb1.size());
   boost::asio::async_read_until(s, sb1, "XYZ",
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -440,6 +578,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb1.consume(sb1.size());
   boost::asio::async_read_until(s, sb1, "XYZ",
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -454,6 +593,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb1.consume(sb1.size());
   boost::asio::async_read_until(s, sb1, "XYZ",
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -467,6 +607,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb2.consume(sb2.size());
   boost::asio::async_read_until(s, sb2, "XYZ",
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -481,6 +622,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb2.consume(sb2.size());
   boost::asio::async_read_until(s, sb2, "XYZ",
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -495,6 +637,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb2.consume(sb2.size());
   boost::asio::async_read_until(s, sb2, "XYZ",
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -503,6 +646,50 @@
   BOOST_CHECK(called);
   BOOST_CHECK(ec == boost::asio::error::not_found);
   BOOST_CHECK(length == 0);
+
+ s.reset(read_data, sizeof(read_data));
+ ec = boost::system::error_code();
+ length = 0;
+ called = false;
+ sb2.consume(sb2.size());
+ boost::asio::async_read_until(s, sb2, "WXY",
+ boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
+ boost::asio::placeholders::bytes_transferred, &length, &called));
+ ios.reset();
+ ios.run();
+ BOOST_CHECK(called);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
+
+ s.reset(read_data, sizeof(read_data));
+ s.next_read_length(1);
+ ec = boost::system::error_code();
+ length = 0;
+ called = false;
+ sb2.consume(sb2.size());
+ boost::asio::async_read_until(s, sb2, "WXY",
+ boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
+ boost::asio::placeholders::bytes_transferred, &length, &called));
+ ios.reset();
+ ios.run();
+ BOOST_CHECK(called);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
+
+ s.reset(read_data, sizeof(read_data));
+ s.next_read_length(10);
+ ec = boost::system::error_code();
+ length = 0;
+ called = false;
+ sb2.consume(sb2.size());
+ boost::asio::async_read_until(s, sb2, "WXY",
+ boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
+ boost::asio::placeholders::bytes_transferred, &length, &called));
+ ios.reset();
+ ios.run();
+ BOOST_CHECK(called);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
 }
 
 void test_match_condition_async_read_until()
@@ -519,6 +706,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb1.consume(sb1.size());
   boost::asio::async_read_until(s, sb1, match_char('Z'),
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -533,6 +721,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb1.consume(sb1.size());
   boost::asio::async_read_until(s, sb1, match_char('Z'),
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -547,6 +736,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb1.consume(sb1.size());
   boost::asio::async_read_until(s, sb1, match_char('Z'),
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -560,6 +750,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb2.consume(sb2.size());
   boost::asio::async_read_until(s, sb2, match_char('Z'),
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -574,6 +765,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb2.consume(sb2.size());
   boost::asio::async_read_until(s, sb2, match_char('Z'),
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -588,6 +780,7 @@
   ec = boost::system::error_code();
   length = 0;
   called = false;
+ sb2.consume(sb2.size());
   boost::asio::async_read_until(s, sb2, match_char('Z'),
       boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
         boost::asio::placeholders::bytes_transferred, &length, &called));
@@ -596,6 +789,50 @@
   BOOST_CHECK(called);
   BOOST_CHECK(ec == boost::asio::error::not_found);
   BOOST_CHECK(length == 0);
+
+ s.reset(read_data, sizeof(read_data));
+ ec = boost::system::error_code();
+ length = 0;
+ called = false;
+ sb2.consume(sb2.size());
+ boost::asio::async_read_until(s, sb2, match_char('Y'),
+ boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
+ boost::asio::placeholders::bytes_transferred, &length, &called));
+ ios.reset();
+ ios.run();
+ BOOST_CHECK(called);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
+
+ s.reset(read_data, sizeof(read_data));
+ s.next_read_length(1);
+ ec = boost::system::error_code();
+ length = 0;
+ called = false;
+ sb2.consume(sb2.size());
+ boost::asio::async_read_until(s, sb2, match_char('Y'),
+ boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
+ boost::asio::placeholders::bytes_transferred, &length, &called));
+ ios.reset();
+ ios.run();
+ BOOST_CHECK(called);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
+
+ s.reset(read_data, sizeof(read_data));
+ s.next_read_length(10);
+ ec = boost::system::error_code();
+ length = 0;
+ called = false;
+ sb2.consume(sb2.size());
+ boost::asio::async_read_until(s, sb2, match_char('Y'),
+ boost::bind(async_read_handler, boost::asio::placeholders::error, &ec,
+ boost::asio::placeholders::bytes_transferred, &length, &called));
+ ios.reset();
+ ios.run();
+ BOOST_CHECK(called);
+ BOOST_CHECK(!ec);
+ BOOST_CHECK(length == 25);
 }
 
 test_suite* init_unit_test_suite(int, char*[])

Modified: branches/proto/v4/libs/config/doc/acknowledgements.qbk
==============================================================================
--- branches/proto/v4/libs/config/doc/acknowledgements.qbk (original)
+++ branches/proto/v4/libs/config/doc/acknowledgements.qbk 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -15,7 +15,7 @@
 Beman Dawes provided the original `config.hpp` and part of this document.
 
 Vesa Karvonen provided a description of the principles (see
-[link config_rationale rationale]) and put together an early version of
+[link boost_config.rationale rationale]) and put together an early version of
 the current configuration setup.
 
 John Maddock put together the configuration current code, the test

Modified: branches/proto/v4/libs/config/doc/html/boost_config/acknowledgements.html
==============================================================================
--- branches/proto/v4/libs/config/doc/html/boost_config/acknowledgements.html (original)
+++ branches/proto/v4/libs/config/doc/html/boost_config/acknowledgements.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -30,7 +30,7 @@
       part of this document.
     </p>
 <p>
- Vesa Karvonen provided a description of the principles (see rationale)
+ Vesa Karvonen provided a description of the principles (see rationale)
       and put together an early version of the current configuration setup.
     </p>
 <p>

Modified: branches/proto/v4/libs/config/doc/html/index.html
==============================================================================
--- branches/proto/v4/libs/config/doc/html/index.html (original)
+++ branches/proto/v4/libs/config/doc/html/index.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -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="id447044"></a><p>
+<a name="id445670"></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>
@@ -958,11 +958,9 @@
       </p>
 </div>
 </div>
-<a name="config_rationale"></a><p>
- </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: September 19, 2008 at 12:01:08 GMT</small></p></td>
+<td align="left"><p><small>Last revised: October 27, 2008 at 16:15:55 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: branches/proto/v4/libs/config/doc/rationale.qbk
==============================================================================
--- branches/proto/v4/libs/config/doc/rationale.qbk (original)
+++ branches/proto/v4/libs/config/doc/rationale.qbk 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -10,8 +10,6 @@
     http://www.boost.org/LICENSE_1_0.txt)
 ]
 
-[#config_rationale]
-
 [section Rationale]
 
 The problem with many traditional "textbook" implementations of configuration

Modified: branches/proto/v4/libs/date_time/test/local_time/testlocal_time_facet.cpp
==============================================================================
--- branches/proto/v4/libs/date_time/test/local_time/testlocal_time_facet.cpp (original)
+++ branches/proto/v4/libs/date_time/test/local_time/testlocal_time_facet.cpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -17,15 +17,21 @@
 template<class temporal_type, typename charT>
 inline
 void
-teststreaming(std::string testname,
+teststreaming(std::string const& testname,
               temporal_type value,
- std::basic_string<charT> expected_result,
+ std::basic_string<charT> const& expected_result,
               const std::locale& locale)
 {
   std::basic_stringstream<charT> ss;
   ss.imbue(locale);
   ss << value;
- check(testname, ss.str() == expected_result);
+
+ if (!check(testname, ss.str() == expected_result))
+#if !defined(BOOST_NO_STD_WSTRING)
+ std::wcout << L"Expected: \"" << expected_result.c_str() << L"\"\nGot: \"" << ss.str().c_str() << L"\"" << std::endl;
+#else
+ std::cout << "Expected: \"" << expected_result.c_str() << "\"\nGot: \"" << ss.str().c_str() << L"\"" << std::endl;
+#endif
 }
 
 int main(){
@@ -72,8 +78,10 @@
   local_date_time ldt4(b_time, la);
   local_date_time ldt5(a_time, nyc);
   local_date_time ldt6(b_time, phx);
-
-
+
+ local_time_period ltp1(ldt1, hours(10) + minutes(24) + seconds(5));
+ local_time_period ltp2(ldt4, hours(15) + minutes(20) + seconds(41));
+
   typedef boost::date_time::time_facet<local_date_time, char> ldt_facet;
   //ldt_facet* timefacet = new ldt_facet("%c %Z"); // full name
   ldt_facet* timefacet = new ldt_facet("%a %b %d %H:%M:%S %Y %Z"); // full name
@@ -94,7 +102,10 @@
   teststreaming("Los Angeles in summer", ldt4, std::string("Sun Aug 15 05:00:00 2004 Pacific Daylight Time"), loc1);
   teststreaming("New York in winter", ldt5, std::string("Wed Dec 15 07:00:00 2004 Eastern Standard Time"), loc1);
   teststreaming("Phoenix in Summer", ldt6, std::string("Sun Aug 15 05:00:00 2004 Mountain Standard Time"), loc1);
-
+
+ teststreaming("UTC local_time_period", ltp1, std::string("[Wed Dec 15 12:00:00 2004 Coordinated Universal Time/Wed Dec 15 22:24:04 2004 Coordinated Universal Time]"), loc1);
+ teststreaming("LA local_time_period", ltp2, std::string("[Sun Aug 15 05:00:00 2004 Pacific Daylight Time/Sun Aug 15 20:20:40 2004 Pacific Daylight Time]"), loc1);
+
   //ptimefacet1->format("%c %z"); // show that zone abbrev is ignored
   ptimefacet1->format("%a %b %d %H:%M:%S %Y %z"); // show that zone abbrev is ignored
   std::cout << "\nTime zone abbreviation tests" << std::endl;
@@ -169,6 +180,9 @@
   teststreaming("UTC local_date_time", ldt1, std::wstring(L"Wed Dec 15 12:00:00 2004 Coordinated Universal Time"), loc3);
   teststreaming("Chicago in summer", ldt2, std::wstring(L"Sun Aug 15 07:00:00 2004 Central Daylight Time") , loc3);
  
+ teststreaming("UTC local_time_period", ltp1, std::wstring(L"[Wed Dec 15 12:00:00 2004 Coordinated Universal Time/Wed Dec 15 22:24:04 2004 Coordinated Universal Time]"), loc3);
+ teststreaming("LA local_time_period", ltp2, std::wstring(L"[Sun Aug 15 05:00:00 2004 Pacific Daylight Time/Sun Aug 15 20:20:40 2004 Pacific Daylight Time]"), loc3);
+
   //wtimefacet->format(L"%c %z"); // abbrev
   wtimefacet->format(L"%a %b %d %H:%M:%S %Y %z"); // abbrev
   std::cout << "\nAbbreviated time zone names tests - wide stream" << std::endl;

Modified: branches/proto/v4/libs/date_time/test/posix_time/testmicrosec_time_clock.cpp
==============================================================================
--- branches/proto/v4/libs/date_time/test/posix_time/testmicrosec_time_clock.cpp (original)
+++ branches/proto/v4/libs/date_time/test/posix_time/testmicrosec_time_clock.cpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -8,7 +8,9 @@
 #include "boost/date_time/posix_time/posix_time.hpp"
 #include "boost/date_time/microsec_time_clock.hpp"
 #include "boost/date_time/testfrmwk.hpp"
-
+#if defined(BOOST_HAS_FTIME)
+#include <windows.h>
+#endif
 
 int
 main()

Modified: branches/proto/v4/libs/date_time/xmldoc/changes.xml
==============================================================================
--- branches/proto/v4/libs/date_time/xmldoc/changes.xml (original)
+++ branches/proto/v4/libs/date_time/xmldoc/changes.xml 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -12,6 +12,98 @@
   
   <!-- if each new change tgroup has a "Bug Fix" as the first "Type", the columns will line up nicely -->
 
+ <bridgehead renderas="sect3">Changes from Boost 1.34 to 1.37 (date_time 1.05 to 1.06)</bridgehead>
+ <informaltable frame="all">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Type</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>Feature</entry>
+ <entry>
+ Added support for formatting and reading time durations longer than 24 hours.
+ A new formatter <code>%O</code> is used indicate such long durations in the
+ format string. The old <code>%H</code> format specifier is thus restricted
+ to represent durations that fit into two characters, in order to retain support
+ for reading durations in ISO format.
+ </entry>
+ </row>
+
+ <row>
+ <entry>Bug fix</entry>
+ <entry>
+ Added support for GCC 4.3. Several compilation issues were solved, as well as
+ compiler warnings were taken care of.
+ </entry>
+ </row>
+
+ <row>
+ <entry>Bug fix</entry>
+ <entry>
+ Added missing streaming operators for the <code>local_time_period</code> class.
+ </entry>
+ </row>
+
+ <row>
+ <entry>Bug fix</entry>
+ <entry>
+ Added several missing includes in different places. Some includes that are
+ not needed in some configurations were made conditional.
+ </entry>
+ </row>
+
+ <row>
+ <entry>Bug fix</entry>
+ <entry>
+ Solved compilation problem that was caused by not finding streaming operators
+ for <code>gregorian::date_duration</code> via ADL. The type is now made actually
+ a class rather a typedef for the <code>date_time::date_duration</code> template.
+ The similar change was done for <code>gregorian::weeks</code>.
+ </entry>
+ </row>
+
+ <row>
+ <entry>Bug fix</entry>
+ <entry>
+ Added a correctly spelled <code>date_time::hundredth</code> time resolution enum
+ value. The old one <code>date_time::hundreth</code> is considered deprecated and
+ to be removed in future releases.
+ </entry>
+ </row>
+
+ <row>
+ <entry>Bug fix</entry>
+ <entry>
+ Fixed compilation error in <code>format_date_parser.hpp</code> because of incorrect
+ stream type being used.
+ </entry>
+ </row>
+
+ <row>
+ <entry>Bug fix</entry>
+ <entry>
+ On Windows platform made inclusion of <code>windows.h</code> optional. The header is only used
+ when the <code>BOOST_USE_WINDOWS_H</code> macro is defined. Otherwise (and by default),
+ the library uses internal definitions of symbols from this header.
+ </entry>
+ </row>
+
+ <row>
+ <entry>Bug Fix</entry>
+ <entry>
+ </entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+
+
   <bridgehead renderas="sect3">Changes from Boost 1.33 to 1.34 (date_time 1.04 to 1.05)</bridgehead>
   <informaltable frame="all">
     <tgroup cols="2">

Modified: branches/proto/v4/libs/date_time/xmldoc/date_class.xml
==============================================================================
--- branches/proto/v4/libs/date_time/xmldoc/date_class.xml (original)
+++ branches/proto/v4/libs/date_time/xmldoc/date_class.xml 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -40,7 +40,7 @@
 
   <para>
     The construction of a date validates all input so that it is not possible to
- construct and 'invalid' date. That is 2001-Feb-29 cannot be constructed as a date.
+ construct an 'invalid' date. That is 2001-Feb-29 cannot be constructed as a date.
     Various exceptions derived from std::out_of_range are thrown to indicate which aspect
     of the date input is invalid. Note that the
     special value not-a-date-time can be used as 'invalid' or 'null' date if so desired.
@@ -230,7 +230,7 @@
         
         <row>
           <entry valign="top" morerows="1"><screen>greg_day_of_week day_of_week() const</screen></entry>
- <entry>Get the day of the week (eg: Sunday, Monday, etc.</entry>
+ <entry>Get the day of the week (Sunday, Monday, etc.)</entry>
         </row>
         <row>
           <entry><screen>date d(2002,Jan,10);
@@ -364,7 +364,7 @@
       <tbody>
         <row>
           <entry valign="top" morerows="1"><screen>std::string to_simple_string(date d)</screen></entry>
- <entry>To <code>YYYY-mmm-DD</code> string where <code>mmm</code> 3 char month name.</entry>
+ <entry>To <code>YYYY-mmm-DD</code> string where <code>mmm</code> is a 3 char month name.</entry>
         </row>
         <row>
           <entry><screen>"2002-Jan-01"</screen></entry>
@@ -447,7 +447,7 @@
         
         <row>
           <entry valign="top" morerows="1"><screen>date operator-(date_duration) const</screen></entry>
- <entry>Return a date by adding a day offset</entry>
+ <entry>Return a date by substracting a day offset</entry>
         </row>
         <row>
           <entry><screen>date d(2002,Jan,1);

Modified: branches/proto/v4/libs/date_time/xmldoc/format_flags.xml
==============================================================================
--- branches/proto/v4/libs/date_time/xmldoc/format_flags.xml (original)
+++ branches/proto/v4/libs/date_time/xmldoc/format_flags.xml 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -301,6 +301,14 @@
           </row>
 
           <row>
+ <entry valign="top" morerows="1"><screen>%O</screen></entry>
+ <entry>The number of hours in a time duration as a decimal number (range 0 to max. representable duration); single digits are preceded by a zero.</entry>
+ </row>
+ <row>
+ <entry><screen></screen></entry>
+ </row>
+
+ <row>
             <entry valign="top" morerows="1"><screen>%I !</screen></entry>
             <entry>The hour as a decimal number using a 12-hour clock</entry>
           </row>

Modified: branches/proto/v4/libs/date_time/xmldoc/gregorian.xml
==============================================================================
--- branches/proto/v4/libs/date_time/xmldoc/gregorian.xml (original)
+++ branches/proto/v4/libs/date_time/xmldoc/gregorian.xml 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -24,7 +24,7 @@
   </para>
   <para>All types for the gregorian system are found in namespace boost::gregorian. The library supports a convenience header boost/date_time/gregorian/gregorian_types.hpp that will include all the classes of the library with no input/output dependency. Another header boost/date_time/gregorian/gregorian.hpp will include the types and the input/output code.
   </para>
- <para>The class <link linkend="date_time.gregorian.date_class">boost::gregorian::date</link> is the primary temporal type for users. If you are interested in learning about writing programs do specialized date calculations such as finding the "first sunday in april" see the date <link linkend="date_time.gregorian.date_algorithms">generators and algorithms page</link>.
+ <para>The class <link linkend="date_time.gregorian.date_class">boost::gregorian::date</link> is the primary temporal type for users. If you are interested in learning about writing programs that do specialized date calculations such as finding the "first sunday in april" see the date <link linkend="date_time.gregorian.date_algorithms">generators and algorithms page</link>.
   </para>
 
   <anchor id="greg_ex" />

Modified: branches/proto/v4/libs/date_time/xmldoc/snap_to_details.xml
==============================================================================
--- branches/proto/v4/libs/date_time/xmldoc/snap_to_details.xml (original)
+++ branches/proto/v4/libs/date_time/xmldoc/snap_to_details.xml 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -11,7 +11,7 @@
 <para>
 <anchor id="snap_to_details" />
 <bridgehead renderas="sect4">Reversibility of Operations Pitfall</bridgehead>
-<para>A natural expectation when adding a number of months to a date, and then subtracting the same number of months, is to end up exactly where you started. This is most often the result the <code>date_time</code> library provides but there is one significant exception: The snap-to-end-of-month behavior implemented by the <link linkend="additional_duration_types">months</link> duration type. The <link linkend="additional_duration_types">months</link> duration type may provide unexpected results when the starting day is the 28th, 29th, or 30th in a 31 day month. The <link linkend="iterators_intro">month_iterator</link> is not effected by this issue and is therefore included in the examples to illustrate a possible alternative.
+<para>A natural expectation when adding a number of months to a date, and then subtracting the same number of months, is to end up exactly where you started. This is most often the result the <code>date_time</code> library provides but there is one significant exception: The snap-to-end-of-month behavior implemented by the <link linkend="additional_duration_types">months</link> duration type. The <link linkend="additional_duration_types">months</link> duration type may provide unexpected results when the starting day is the 28th, 29th, or 30th in a 31 day month. The <link linkend="iterators_intro">month_iterator</link> is not affected by this issue and is therefore included in the examples to illustrate a possible alternative.
 </para>
 
 <para>When the starting date is in the middle of a month, adding or subtracting any number of months will result in a date that is the same day of month (e.g. if you start on the 15th, you will end on the 15th). When a date is the last day of the month, adding or subtracting any number of months will give a result that is also the last day of the month (e.g if you start on Jan 31st, you will land on: Feb 28th, Mar 31st, etc).
@@ -29,7 +29,7 @@
   </programlisting>
 </para>
 
-<para>If the start date is the 28th, 29th, or 30th in a 31 day month, the result of adding or subtracting a month may result in the snap-to-end-of-month behavior kicking in unexpectedly. This would cause the final result to be different that the starting date.
+<para>If the start date is the 28th, 29th, or 30th in a 31 day month, the result of adding or subtracting a month may result in the snap-to-end-of-month behavior kicking in unexpectedly. This would cause the final result to be different than the starting date.
   <programlisting>
     // using months duration type
     date d(2005, Nov, 29);

Modified: branches/proto/v4/libs/filesystem/doc/index.htm
==============================================================================
--- branches/proto/v4/libs/filesystem/doc/index.htm (original)
+++ branches/proto/v4/libs/filesystem/doc/index.htm 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -41,7 +41,6 @@
     <a href="#Using">Using the library</a><br>
     <a href="#tutorial">Two-minute tutorial</a><br>
     <a href="#Cautions">Cautions</a><br>
- Using the Reference Documentation<br>
     <a href="#Examples">Example programs</a><br>
     <a href="#Implementation">Implementation</a><br>
     <a href="#Macros">Macros</a><br>
@@ -676,7 +675,44 @@
 
 <h2><a name="Change-history">Change history</a></h2>
 
-<h3>Version 1.35.0</h3>
+<h3>Version 1.37.0</h3>
+
+<ul>
+ <li>Doc fixes: Update release history, add tables of macros and deprecated
+ names.</li>
+ <li>Bug fix: convenience.hpp didn't fully apply BOOST_FILESYSTEM_NO_DEPRECATED
+ to name changes.</li>
+ <li>Bug fix: Ticket #1972 'remove' fixes.</li>
+ <li>Bug fix: Restore deprecated basic_directory_entry names inadvertently
+ removed.</li>
+ <li>Bug fix: Provide deprecated functions has_branch_path and has_leaf,
+ inadvertently omitted from 1.36.0</li>
+ <li>Add workarounds for Codegear/Borland C++ Builder 2009.</li>
+</ul>
+
+<h3>Version 1.36.0 - August 14th, 2008</h3>
+
+<ul>
+ <li>Added stem(), extension(), and replace_extension() member functions to
+ basic_path, based on the basename(), extension(), and change_extension()
+ functions from convenience.hpp.</li>
+ <li>Changed path.hpp function names:<ul>
+ <li>leaf() -&gt; filename().</li>
+ <li>has_leaf() -&gt; has_filename().</li>
+ <li>branch_path() -&gt; parent_path().</li>
+ <li>has_branch_path() -&gt; has_parent_path().</li>
+ <li>remove_leaf() -&gt; remove_filename().</li>
+ </ul>
+ </li>
+ <li>Changed operations.hpp function names:<ul>
+ <li>is_regular() -&gt; is_regular_file().</li>
+ </ul>
+ </li>
+ <li>Bug fix: Add path.cpp #include &lt;cwchar&gt;</li>
+ <li>Cleared path.hpp gcc shadow warnings.</li>
+</ul>
+
+<h3>Version 1.35.0 - March 29th, 2008</h3>
 
 <ul>
   <li>Diagnostics moved to the separate <a href="../../system/doc/index.html">
@@ -686,7 +722,9 @@
   <li>A few minor implementation fixes.</li>
 </ul>
 
-<h3>Version 1.34.0</h3>
+<h3>Version 1.34.1 - July 24th, 2007</h3>
+
+<h3>Version 1.34.0 - May 12th, 2007</h3>
 
 <ul>
   <li>Internationalization, provided by
@@ -718,13 +756,13 @@
   <li>Numerous small implementation fixes.</li>
 </ul>
 
-<h3>Version 1.33.0</h3>
+<h3>Version 1.33.0 - August 11th, 2005</h3>
 
 <ul>
   <li>Some small implementation fixes.</li>
 </ul>
 
-<h3>Version 1.32.0</h3>
+<h3>Version 1.32.0 - November 19th, 2004</h3>
 
 <ul>
   <li>file_size() function added.</li>
@@ -743,7 +781,7 @@
   very long paths correctly.</li>
 </ul>
 
-<h3>Version 1.31.0</h3>
+<h3>Version 1.31.0 - January 26th, 2004</h3>
 
 <ul>
   <li>The object library can now be built for either
@@ -755,12 +793,18 @@
   function normalize(). This changes behavior,
   in that canonical form is now different, but eliminates a subtle
   <a href="design.htm#symbolic-link-use-case">bug</a> when symbolic links to
- directories are present. </li>
+ directories are present.</li>
+</ul>
+
+<h3>&nbsp;<br>
+Version 1.30.0 - March 19th, 2003</h3>
+<ul>
+ <li>Initial official Boost version.</li>
 </ul>
 
 <hr>
 <p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->13 October, 2008<!--webbot bot="Timestamp" endspan i-checksum="39192" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->28 October, 2008<!--webbot bot="Timestamp" endspan i-checksum="39203" --></p>
 
 <p>&copy; Copyright Beman Dawes, 2002-2005</p>
 <p> Use, modification, and distribution are subject to the Boost Software

Modified: branches/proto/v4/libs/fusion/test/compile_time/Makefile
==============================================================================
--- branches/proto/v4/libs/fusion/test/compile_time/Makefile (original)
+++ branches/proto/v4/libs/fusion/test/compile_time/Makefile 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -9,16 +9,21 @@
 CXX=g++
 CXXFLAGS=-I$(BOOST_ROOT)
 
-all: vector_construction vector_iteration vector_intrinsic
+TEST_SRCS=\
+ vector_construction.cpp\
+ vector_iteration.cpp\
+ vector_intrinsic.cpp\
+ fold.cpp\
+ transform.cpp
 
-vector_construction: vector_construction.cpp
- time $(CXX) $(CXXFLAGS) vector_construction.cpp -o vector_construction
+TEST_OBJS=$(TEST_SRCS:.cpp=.o)
 
-vector_iteration: vector_iteration.cpp
- time $(CXX) $(CXXFLAGS) vector_iteration.cpp -o vector_iteration
+TEST_TARGETS=$(TEST_SRCS:.cpp=.test)
 
-vector_intrinsic: vector_intrinsic.cpp
- time $(CXX) $(CXXFLAGS) vector_intrinsic.cpp -o vector_intrinsic
+all: $(TEST_TARGETS)
+
+%.test : %.cpp
+ time $(CXX) $(CXXFLAGS) $< -o $@
 
 clean:
- rm -f vector_construction vector_construction.o vector_iteration vector_iteration.o vector_intrinsic vector_intrinsic.o
+ rm -f $(TEST_TARGETS) $(TEST_OBJS)

Modified: branches/proto/v4/libs/graph/doc/table_of_contents.html
==============================================================================
--- branches/proto/v4/libs/graph/doc/table_of_contents.html (original)
+++ branches/proto/v4/libs/graph/doc/table_of_contents.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -8,10 +8,10 @@
   -->
 <Head>
 <Title>Table of Contents: Boost Graph Library</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
- ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
- ALT="C++ Boost" width="277" height="86">
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+ ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+ ALT="C++ Boost" width="277" height="86">
 
 <BR Clear>
 
@@ -70,25 +70,28 @@
             <LI>DFS Visitor
             <LI>Dijkstra Visitor
             <LI>Bellman Ford Visitor
- <LI>A* Visitor</LI>
+ <LI>A* Visitor</LI>
             <LI>Event Visitor
- <LI>Planar Face Visitor
+ <LI>Planar Face Visitor
+ <li>TSP Tour Visitor</li>
           </OL>
         <li>EventVisitorList Adaptors
           <OL>
- <LI>Event Visitor List
- <LI>bfs_visitor
- <LI>dfs_visitor
- <LI>dijkstra_visitor
- <LI>bellman_visitor
- <li>astar_visitor</li>
+ <LI>Event Visitor List
+ <LI>bfs_visitor
+ <LI>dfs_visitor
+ <LI>dijkstra_visitor
+ <LI>bellman_visitor
+ <li>astar_visitor</li>
           </OL>
         <li>Event Visitors
           <OL>
- <LI>predecessor_recorder
- <LI>distance_recorder
- <LI>time_stamper
- <LI>property_writer
+ <LI>predecessor_recorder
+ <LI>distance_recorder
+ <LI>time_stamper
+ <LI>property_writer
+ <li>tsp_tour_visitor</li>
+ <li>tsp_tour_len_visitor</li>
           </OL>
         <LI>Graph classes
           <OL>
@@ -152,28 +155,28 @@
                     <LI><A
                     href="./prim_minimum_spanning_tree.html"><tt>prim_minimum_spanning_tree</tt></A>
                   </OL>
- <LI>Connected Components Algorithms
- <OL>
- <LI>connected_components
- <LI>strong_components
-
- <LI>biconnected_components
- <LI>articulation_points
- <LI>Incremental Connected Components
- <OL>
- <LI>initialize_incremental_components
- <LI>incremental_components
- <LI><A
- href="./incremental_components.html#sec:same-component"><tt>same_component</tt></A>
- <LI>component_index
- </OL>
- </OL></LI>
+ <LI>Connected Components Algorithms
+ <OL>
+ <LI>connected_components
+ <LI>strong_components
+
+ <LI>biconnected_components
+ <LI>articulation_points
+ <LI>Incremental Connected Components
+ <OL>
+ <LI>initialize_incremental_components
+ <LI>incremental_components
+ <LI><A
+ href="./incremental_components.html#sec:same-component"><tt>same_component</tt></A>
+ <LI>component_index
+ </OL>
+ </OL></LI>
                 <LI>Maximum Flow and Matching Algorithms
                   <OL>
                     <LI>edmunds_karp_max_flow
                     <LI>push_relabel_max_flow
                     <li>kolmogorov_max_flow</li>
- <LI>edmonds_maximum_cardinality_matching
+ <LI>edmonds_maximum_cardinality_matching
                   </OL>
 
                 <li>Sparse Matrix Ordering Algorithms
@@ -184,34 +187,39 @@
                     <LI>minimum_degree_ordering
                   </ol>
                 </li>
- <LI>topological_sort
- <li>transitive_closure
- <LI>copy_graph
- <LI>transpose_graph
- <LI>isomorphism
-
- <LI><A
- href="sequential_vertex_coloring.html"><tt>sequential_vertex_coloring</tt></A>
- <li>sloan_ordering</li>
+ <LI>topological_sort
+ <li>transitive_closure
+ <LI>copy_graph
+ <LI>transpose_graph
+ <LI>isomorphism
+
+ <li>Path and Tour Algorithms
+ <ol>
+ <li>metric_tsp_approx</li>
+ </ol>
+ </li>
+
+ <LI>sequential_vertex_coloring
+ <li>sloan_ordering</li>
                 <li>sloan_start_end_vertices</li>
 
                 <LI>ith_wavefront, max_wavefront, aver_wavefront, and rms_wavefront</LI>
                 <LI>brandes_betweenness_centrality</LI>
                 <li>Layout algorithms
                   <ol>
- <li>random_graph_layout</li>
+ <li>random_graph_layout</li>
                     <li>circle_layout</li>
                     <li>kamada_kawai_spring_layout</li>
- <li>fruchterman_reingold_force_directed_layout</li>
+ <li>fruchterman_reingold_force_directed_layout</li>
                     <li>gursoy_atun_layout</li>
- </ol>
- </li>
+ </ol>
+ </li>
                 <li>Clustering algorithms
- <ol>
+ <ol>
                     <li>betweenness_centrality_clustering</li>
- </ol>
+ </ol>
                 </li>
- <li>astar_search</li>
+ <li>astar_search</li>
                 <li>lengauer_tarjan_dominator_tree</li>
                 <li>minimum_cycle_ratio and maximum_cycle_ratio</li>
                 <li>Planar Graph Algorithms
@@ -293,4 +301,4 @@
 </TD></TR></TABLE>
 
 </BODY>
-</HTML>
+</HTML>

Modified: branches/proto/v4/libs/graph/test/Jamfile.v2
==============================================================================
--- branches/proto/v4/libs/graph/test/Jamfile.v2 (original)
+++ branches/proto/v4/libs/graph/test/Jamfile.v2 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -4,7 +4,7 @@
 # (See accompanying file LICENSE_1_0.txt or copy at
 # http://www.boost.org/LICENSE_1_0.txt)
 
-# Define SGB (stanford graph base top level directory) and
+# Define SGB (stanford graph base top level directory) and
 # LEDA (also top level directory) at the command line of jam using -s
 
 import modules ;
@@ -20,66 +20,44 @@
   optional_tests += [ run graphml_test.cpp ../build//boost_graph : : "graphml_test.xml" ] ;
 }
 
-test-suite graph_test :
+test-suite graph_test :
 
     [ run transitive_closure_test.cpp ]
-
     [ compile adj_list_cc.cpp ]
 
     # adj_list_test needs some work -JGS
     # unit-test adj_list_test : adj_list_test.cpp ;
 
     [ run adj_list_edge_list_set.cpp ]
-
     [ compile adj_matrix_cc.cpp ]
-
     [ run bfs.cpp ../../test/build//boost_test_exec_monitor ]
-
     [ compile bfs_cc.cpp ]
-
     [ run bellman-test.cpp ]
-
- [ run betweenness_centrality_test.cpp ]
-
+ [ run betweenness_centrality_test.cpp ]
     [ run bidir_remove_edge.cpp ]
-
     [ run csr_graph_test.cpp : : : : : <variant>release ]
-
     [ run dag_longest_paths.cpp ]
-
     [ run dfs.cpp ../../test/build//boost_test_exec_monitor ]
-
     [ compile dfs_cc.cpp ]
-
     [ compile dijkstra_cc.cpp ]
-
     [ run dijkstra_heap_performance.cpp : 10000 ]
-
     [ run dominator_tree_test.cpp ]
-
     [ run relaxed_heap_test.cpp : 5000 15000 ]
-
     [ compile edge_list_cc.cpp ]
-
     [ compile filtered_graph_cc.cpp ]
-
     [ run graph.cpp ]
-
     [ compile graph_concepts.cpp ]
-
- [ run graphviz_test.cpp
- /boost/test//boost_test_exec_monitor/<link>static
+ [ run graphviz_test.cpp
+ /boost/test//boost_test_exec_monitor/<link>static
             ../build//boost_graph ]
-
     [ run gursoy_atun_layout_test.cpp ]
-
     [ run layout_test.cpp : : : <test-info>always_show_run_output <toolset>intel:<debug-symbols>off ]
 
- [ run serialize.cpp
+ [ run serialize.cpp
           ../../serialization/build//boost_serialization
       : : : ]
 
- [ compile reverse_graph_cc.cpp ]
+ [ compile reverse_graph_cc.cpp ]
 
     [ run sequential_vertex_coloring.cpp ]
 
@@ -87,13 +65,13 @@
 
     [ run isomorphism.cpp ../../test/build//boost_test_exec_monitor ]
 
- [ run adjacency_matrix_test.cpp ]
+ [ run adjacency_matrix_test.cpp ]
 
     [ compile vector_graph_cc.cpp ]
 
     [ compile copy.cpp ]
-
- [ compile property_iter.cpp ]
+
+ [ compile property_iter.cpp ]
 
     [ run bundled_properties.cpp ]
 
@@ -125,19 +103,20 @@
 
     [ run named_vertices_test.cpp ]
 
- [ run all_planar_input_files_test.cpp
- ../../filesystem/build
+ [ run all_planar_input_files_test.cpp
+ ../../filesystem/build
         ../../system/build
         : $(PLANAR_INPUT_FILES) ]
 
- [ run parallel_edges_loops_test.cpp
- ../../filesystem/build
+ [ run parallel_edges_loops_test.cpp
+ ../../filesystem/build
         ../../system/build
         : $(PLANAR_INPUT_FILES) ]
 
     [ run r_c_shortest_paths_test.cpp ]
-
     [ run is_straight_line_draw_test.cpp ]
+ [ run metric_tsp_approx.cpp : metric_tsp_approx.txt ]
+ [ compile dimacs.cpp ]
 
     $(optional_tests)
     ;
@@ -148,18 +127,18 @@
     local SDB_DEPENDCIES =
         <include>$(SGB) <library-file>$(SGB)/libgb.a ;
 
- compile stanford_graph_cc.cpp
+ compile stanford_graph_cc.cpp
         $(SDB_DEPENDCIES) ;
 }
 
 # Run LEDA tests only when -sLEDA= is set.
 if [ modules.peek : LEDA ] != ""
 {
- local LEDA_DEPENDENCIES =
- <include>$(LEDA)/incl
+ local LEDA_DEPENDENCIES =
+ <include>$(LEDA)/incl
         <library-file>$(LEDA)/libG.a
         ;
 
- compile leda_graph_cc.cpp
+ compile leda_graph_cc.cpp
        $(LEDA_DEPENDENCIES) ;
 }

Modified: branches/proto/v4/libs/proto/doc/Jamfile.v2
==============================================================================
--- branches/proto/v4/libs/proto/doc/Jamfile.v2 (original)
+++ branches/proto/v4/libs/proto/doc/Jamfile.v2 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -3,63 +3,8 @@
 # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 import path ;
-import doxygen ;
 import quickbook ;
 
-wave-command = [ path.native $(BOOST_ROOT)/dist/bin/wave ] ;
-
-# Generate reference section using Doxygen
-doxygen protodoc
- :
- ../../../boost/proto/args.hpp
- ../../../boost/proto/context.hpp
- ../../../boost/proto/core.hpp
- ../../../boost/proto/debug.hpp
- ../../../boost/proto/deep_copy.hpp
- ../../../boost/proto/domain.hpp
- ../../../boost/proto/eval.hpp
- ../../../boost/proto/expr.hpp
- ../../../boost/proto/extends.hpp
- ../../../boost/proto/fusion.hpp
- ../../../boost/proto/generate.hpp
- ../../../boost/proto/literal.hpp
- ../../../boost/proto/make_expr.hpp
- ../../../boost/proto/matches.hpp
- ../../../boost/proto/operators.hpp
- ../../../boost/proto/proto.hpp
- ../../../boost/proto/proto_fwd.hpp
-# ../../../boost/proto/proto_typeof.hpp
- ../../../boost/proto/tags.hpp
- ../../../boost/proto/traits.hpp
- ../../../boost/proto/transform.hpp
- ../../../boost/proto/context/callable.hpp
- ../../../boost/proto/context/default.hpp
- ../../../boost/proto/context/null.hpp
- ../../../boost/proto/transform/arg.hpp
- ../../../boost/proto/transform/call.hpp
- ../../../boost/proto/transform/default.hpp
- ../../../boost/proto/transform/fold.hpp
- ../../../boost/proto/transform/fold_tree.hpp
- ../../../boost/proto/transform/impl.hpp
- ../../../boost/proto/transform/lazy.hpp
- ../../../boost/proto/transform/make.hpp
- ../../../boost/proto/transform/pass_through.hpp
- ../../../boost/proto/transform/when.hpp
- :
- <doxygen:param>EXTRACT_ALL=YES
- <doxygen:param>HIDE_UNDOC_MEMBERS=NO
- # Use Boost.Wave to preprocess Proto's source
-# <doxygen:param>INPUT_FILTER=./wave.sh
- <doxygen:param>"INPUT_FILTER=\"$(wave-command) -S ../../.. \\
- -S $(BOOST_ROOT) \\
- -S \\\"C:\\Program Files\\Microsoft Visual Studio .NET 2003\\vc7\\include\\\" \\
- -D _WIN32 \\
- -D BOOST_PROTO_BUILDING_DOCS \\
- -p 1 \""
- # This ensures that Wave is actually built before we try to execute it
- <dependency>$(BOOST_ROOT)/tools/wave/build release
- ;
-
 xml proto
     :
         proto.qbk
@@ -105,7 +50,8 @@
         # Set this one for PDF generation *only*:
         # default png graphics are awful in PDF form,
         # better use SVG's instead:
- # <format>pdf:<xsl:param>admon.graphics.extension=".svg"
-
-# <dependency>protodoc
+ #<format>pdf:<xsl:param>admon.graphics.extension=".svg"
+ #<format>pdf:<xsl:param>img.src.path="C:/Program Files/docbook-xsl-1.73.2/images/"
+ #<format>pdf:<xsl:param>admon.graphics.path="C:/Program Files/docbook-xsl-1.73.2/images/"
+ #<format>pdf:<xsl:param>callout.graphics.path="C:/Program Files/docbook-xsl-1.73.2/images/callouts/"
     ;

Modified: branches/proto/v4/libs/proto/doc/back_end.qbk
==============================================================================
--- branches/proto/v4/libs/proto/doc/back_end.qbk (original)
+++ branches/proto/v4/libs/proto/doc/back_end.qbk 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -171,7 +171,7 @@
 nested `eval<>` class template. Each specialization handles a different
 expression type.
 
-In the [link boost_proto.users_guide.hello_calculator Hello Calculator]
+In the [link boost_proto.users_guide.getting_started.hello_calculator Hello Calculator]
 section, we saw an example of a user-defined context class for evaluating
 calculator expressions. That context class was implemented with the help
 of Proto's _callable_context_. If we were to implement it from scratch, it
@@ -246,7 +246,7 @@
 
 Defining a context from scratch this way is tedious and verbose, but it gives
 you complete control over how the expression is evaluated. The context class in
-the [link boost_proto.users_guide.hello_calculator Hello Calculator] example
+the [link boost_proto.users_guide.getting_started.hello_calculator Hello Calculator] example
 was much simpler. In the next section we'll see the helper class Proto provides
 to ease the job of implementing context classes.
 
@@ -260,15 +260,15 @@
 you can use to help while implementing your own contexts. They are:
 
 [variablelist
- [ [[link boost_proto.users_guide.expression_evaluation.canned_contexts.default_context [^default_context]]]
+ [ [[link boost_proto.users_guide.back_end.expression_evaluation.canned_contexts.default_context [^default_context]]]
     [An evaluation context that assigns the usual C++ meanings to all the
      operators. For example, addition nodes are handled by evaluating the
      left and right children and then adding the results. The _default_context_
      uses Boost.Typeof to deduce the types of the expressions it evaluates.] ]
- [ [[link boost_proto.users_guide.expression_evaluation.canned_contexts.null_context [^null_context]]]
+ [ [[link boost_proto.users_guide.back_end.expression_evaluation.canned_contexts.null_context [^null_context]]]
     [A simple context that recursively evaluates children but does not combine
      the results in any way and returns void.] ]
- [ [[link boost_proto.users_guide.expression_evaluation.canned_contexts.callable_context [^callable_context<>]]]
+ [ [[link boost_proto.users_guide.back_end.expression_evaluation.canned_contexts.callable_context [^callable_context<>]]]
     [A helper that simplifies the job of writing context classes. Rather than
      writing template specializations, with _callable_context_ you write a
      function object with an overloaded function call operator. Any expressions
@@ -452,7 +452,7 @@
 properly thought of as a context adaptor. To use it, you must define your own
 context that inherits from _callable_context_.
 
-In the [link boost_proto.users_guide.expression_evaluation.canned_contexts.null_context [^null_context]]
+In the [link boost_proto.users_guide.back_end.expression_evaluation.canned_contexts.null_context [^null_context]]
 section, we saw how to implement an evaluation context that increments all the
 integers within an expression tree. Here is how to do the same thing with the
 _callable_context_:
@@ -1472,7 +1472,7 @@
 
 You'll notice that `_child_c::impl::operator()` takes arguments of types `expr_param`, `state_param`, and `data_param`. The typedefs make it easy to accept arguments by reference or const reference accordingly.
 
-The only other interesting bit is the `is_callable<>` specialization, which will be described in the [link boost_proto.users_guide.expression_transformation.is_callable next section].
+The only other interesting bit is the `is_callable<>` specialization, which will be described in the [link boost_proto.users_guide.back_end.expression_transformation.is_callable next section].
 
 [endsect]
 

Modified: branches/proto/v4/libs/proto/doc/intermediate_form.qbk
==============================================================================
--- branches/proto/v4/libs/proto/doc/intermediate_form.qbk (original)
+++ branches/proto/v4/libs/proto/doc/intermediate_form.qbk 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1084,7 +1084,7 @@
 [pre
 group ::= '(' expression ')'
 factor ::= double | '_1' | '_2' | group
-term ::= factor (('*' factor) | ('/' factor))*
+term ::= factor (('\*' factor) | ('/' factor))\*
 expression ::= term (('+' term) | ('-' term))*
 ]
 

Modified: branches/proto/v4/libs/proto/doc/proto.qbk
==============================================================================
--- branches/proto/v4/libs/proto/doc/proto.qbk (original)
+++ branches/proto/v4/libs/proto/doc/proto.qbk 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -46,7 +46,7 @@
 [def _typeof_
   [@../../libs/typeof/index.html Boost.Typeof]]
 [def _expr_
- [classref boost::proto::expr<Tag,Args,1> `proto::expr<>`]]
+ [classref boost::proto::expr `proto::expr<>`]]
 [def _deep_copy_
   [funcref boost::proto::deep_copy `proto::deep_copy()`]]
 [def _domain_
@@ -62,25 +62,25 @@
 [def _unpack_expr_
   [funcref boost::proto::unpack_expr `proto::unpack_expr()`]]
 [def _matches_
- [classref boost::proto::result_of::matches `proto::matches<>`]]
+ [classref boost::proto::matches `proto::matches<>`]]
 [def _or_
- [classref boost::proto::control::or_ `proto::or_<>`]]
+ [classref boost::proto::or_ `proto::or_<>`]]
 [def _and_
- [classref boost::proto::control::and_ `proto::and_<>`]]
+ [classref boost::proto::and_ `proto::and_<>`]]
 [def _if_
- [classref boost::proto::control::if_ `proto::if_<>`]]
+ [classref boost::proto::if_ `proto::if_<>`]]
 [def _not_
- [classref boost::proto::control::not_ `proto::not_<>`]]
+ [classref boost::proto::not_ `proto::not_<>`]]
 [def _switch_
- [classref boost::proto::control::switch_ `proto::switch_<>`]]
+ [classref boost::proto::switch_ `proto::switch_<>`]]
 [def _exact_
- [classref boost::proto::control::exact `proto::exact<>`]]
+ [classref boost::proto::exact `proto::exact<>`]]
 [def _convertible_to_
- [classref boost::proto::control::convertible_to `proto::convertible_to<>`]]
+ [classref boost::proto::convertible_to `proto::convertible_to<>`]]
 [def _is_expr_
- [classref boost::proto::result_of::is_expr `proto::is_expr<>`]]
+ [classref boost::proto::is_expr `proto::is_expr<>`]]
 [def _tag_of_
- [classref boost::proto::result_of::tag_of `proto::tag_of<>`]]
+ [classref boost::proto::tag_of `proto::tag_of<>`]]
 [def _child_
   [funcref boost::proto::child `proto::child()`]]
 [def _child_c_
@@ -94,23 +94,23 @@
 [def _value_
   [funcref boost::proto::value `proto::value()`]]
 [def _terminal_
- [classref boost::proto::op::terminal `proto::terminal<>`]]
+ [classref boost::proto::terminal `proto::terminal<>`]]
 [def _unary_plus_
- [classref boost::proto::op::unary_plus `proto::unary_plus<>`]]
+ [classref boost::proto::unary_plus `proto::unary_plus<>`]]
 [def _plus_
- [classref boost::proto::op::plus `proto::plus<>`]]
+ [classref boost::proto::plus `proto::plus<>`]]
 [def _unary_expr_
- [classref boost::proto::op::unary_expr `proto::unary_expr<>`]]
+ [classref boost::proto::unary_expr `proto::unary_expr<>`]]
 [def _binary_expr_
- [classref boost::proto::op::binary_expr `proto::binary_expr<>`]]
+ [classref boost::proto::binary_expr `proto::binary_expr<>`]]
 [def _nary_expr_
- [classref boost::proto::op::nary_expr `proto::nary_expr<>`]]
+ [classref boost::proto::nary_expr `proto::nary_expr<>`]]
 [def _literal_
- [classref boost::proto::utility::literal `proto::literal<>`]]
+ [classref boost::proto::literal `proto::literal<>`]]
 [def _lit_
   [funcref boost::proto::lit `proto::lit()`]]
 [def _vararg_
- [classref boost::proto::control::vararg `proto::vararg<>`]]
+ [classref boost::proto::vararg `proto::vararg<>`]]
 [def _default_context_
   [classref boost::proto::context::default_context `proto::default_context`]]
 [def _callable_context_
@@ -207,7 +207,7 @@
 
 [endsect]
 
-[xinclude proto.xml]
+[xinclude reference.xml]
 
 [/=================]
 [section Appendices]

Deleted: branches/proto/v4/libs/proto/doc/proto.xml
==============================================================================
--- branches/proto/v4/libs/proto/doc/proto.xml 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
+++ (empty file)
@@ -1,11 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<!--id="reference"-->
-<library-reference xmlns:xi="http://www.w3.org/2001/XInclude">
- <title>Reference</title>
- <xi:include href="concepts/CallableTransform.xml"/>
- <xi:include href="concepts/ObjectTransform.xml"/>
- <xi:include href="concepts/PrimitiveTransform.xml"/>
- <xi:include href="concepts/Transform.xml"/>
- <xi:include href="concepts/PolymorphicFunctionObject.xml"/>
- <xi:include href="protodoc.xml" xpointer="xpointer(//header)"/>
-</library-reference>

Deleted: branches/proto/v4/libs/proto/doc/protodoc.xml
==============================================================================
--- branches/proto/v4/libs/proto/doc/protodoc.xml 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
+++ (empty file)
@@ -1,3435 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<library-reference><header name="boost/proto/args.hpp"><para>Contains definition of args&lt;&gt; class template. </para><namespace name="boost"><namespace name="proto"><struct name="term"><template>
- <template-type-parameter name="Arg0"/>
- </template><purpose>A type sequence, for use as the 2nd parameter to the <computeroutput>expr&lt;&gt;</computeroutput> class template. </purpose><description><para>A type sequence, for use as the 2nd parameter to the <computeroutput>expr&lt;&gt;</computeroutput> class template. The types in the sequence correspond to the children of a node in an expression tree. </para></description><data-member name="arity" specifiers="static"><type>const long</type></data-member><typedef name="child0"><type>Arg0</type></typedef><typedef name="child_ref0"><type><classname>term_ref</classname>&lt; Arg0 &gt;</type></typedef></struct><struct name="list1"><template>
- <template-type-parameter name="Arg0"/>
- </template><purpose>A type sequence, for use as the 2nd parameter to the <computeroutput>expr&lt;&gt;</computeroutput> class template. </purpose><description><para>A type sequence, for use as the 2nd parameter to the <computeroutput>expr&lt;&gt;</computeroutput> class template. The types in the sequence correspond to the children of a node in an expression tree. </para></description><data-member name="arity" specifiers="static"><type>const long</type></data-member><typedef name="child0"><type>Arg0</type></typedef><typedef name="child_ref0"><type><classname>expr_ref</classname>&lt; Arg0 &gt;</type></typedef></struct><struct name="list2"><template>
- <template-type-parameter name="Arg0"/>
- <template-type-parameter name="Arg1"/>
- </template><purpose>A type sequence, for use as the 2nd parameter to the <computeroutput>expr&lt;&gt;</computeroutput> class template. </purpose><description><para>A type sequence, for use as the 2nd parameter to the <computeroutput>expr&lt;&gt;</computeroutput> class template. The types in the sequence correspond to the children of a node in an expression tree. </para></description><data-member name="arity" specifiers="static"><type>const long</type></data-member><typedef name="child0"><type>Arg0</type></typedef><typedef name="child_ref0"><type><classname>expr_ref</classname>&lt; Arg0 &gt;</type></typedef><typedef name="child1"><type>Arg1</type></typedef><typedef name="child_ref1"><type><classname>expr_ref</classname>&lt; Arg1 &gt;</type></typedef></struct><struct name="list3"><template>
- <template-type-parameter name="Arg0"/>
- <template-type-parameter name="Arg1"/>
- <template-type-parameter name="Arg2"/>
- </template><purpose>A type sequence, for use as the 2nd parameter to the <computeroutput>expr&lt;&gt;</computeroutput> class template. </purpose><description><para>A type sequence, for use as the 2nd parameter to the <computeroutput>expr&lt;&gt;</computeroutput> class template. The types in the sequence correspond to the children of a node in an expression tree. </para></description><data-member name="arity" specifiers="static"><type>const long</type></data-member><typedef name="child0"><type>Arg0</type></typedef><typedef name="child_ref0"><type><classname>expr_ref</classname>&lt; Arg0 &gt;</type></typedef><typedef name="child1"><type>Arg1</type></typedef><typedef name="child_ref1"><type><classname>expr_ref</classname>&lt; Arg1 &gt;</type></typedef><typedef name="child2"><type>Arg2</type></typedef><typedef name="child_ref2"><type><classname>expr_ref</classname>&lt; Arg2 &gt;</type></typedef></struct><struct name="list4"><template>
- <template-type-parameter name="Arg0"/>
- <template-type-parameter name="Arg1"/>
- <template-type-parameter name="Arg2"/>
- <template-type-parameter name="Arg3"/>
- </template><purpose>A type sequence, for use as the 2nd parameter to the <computeroutput>expr&lt;&gt;</computeroutput> class template. </purpose><description><para>A type sequence, for use as the 2nd parameter to the <computeroutput>expr&lt;&gt;</computeroutput> class template. The types in the sequence correspond to the children of a node in an expression tree. </para></description><data-member name="arity" specifiers="static"><type>const long</type></data-member><typedef name="child0"><type>Arg0</type></typedef><typedef name="child_ref0"><type><classname>expr_ref</classname>&lt; Arg0 &gt;</type></typedef><typedef name="child1"><type>Arg1</type></typedef><typedef name="child_ref1"><type><classname>expr_ref</classname>&lt; Arg1 &gt;</type></typedef><typedef name="child2"><type>Arg2</type></typedef><typedef name="child_ref2"><type><classname>expr_ref</classname>&lt; Arg2 &gt;</type></typedef><typedef name="child3"><type>Arg3</type></typedef><typedef name="child_ref3"><type><classname>expr_ref</classname>
&lt; Arg3 &gt;</type></typedef></struct><struct name="list5"><template>
- <template-type-parameter name="Arg0"/>
- <template-type-parameter name="Arg1"/>
- <template-type-parameter name="Arg2"/>
- <template-type-parameter name="Arg3"/>
- <template-type-parameter name="Arg4"/>
- </template><purpose>A type sequence, for use as the 2nd parameter to the <computeroutput>expr&lt;&gt;</computeroutput> class template. </purpose><description><para>A type sequence, for use as the 2nd parameter to the <computeroutput>expr&lt;&gt;</computeroutput> class template. The types in the sequence correspond to the children of a node in an expression tree. </para></description><data-member name="arity" specifiers="static"><type>const long</type></data-member><typedef name="child0"><type>Arg0</type></typedef><typedef name="child_ref0"><type><classname>expr_ref</classname>&lt; Arg0 &gt;</type></typedef><typedef name="child1"><type>Arg1</type></typedef><typedef name="child_ref1"><type><classname>expr_ref</classname>&lt; Arg1 &gt;</type></typedef><typedef name="child2"><type>Arg2</type></typedef><typedef name="child_ref2"><type><classname>expr_ref</classname>&lt; Arg2 &gt;</type></typedef><typedef name="child3"><type>Arg3</type></typedef><typedef name="child_ref3"><type><classname>expr_ref</classname>
&lt; Arg3 &gt;</type></typedef><typedef name="child4"><type>Arg4</type></typedef><typedef name="child_ref4"><type><classname>expr_ref</classname>&lt; Arg4 &gt;</type></typedef></struct></namespace></namespace></header><header name="boost/proto/context.hpp"><para>Includes all the context classes in the context/ sub-directory. </para></header><header name="boost/proto/context/callable.hpp"><para>Definintion of callable_context&lt;&gt;, an evaluation context for proto::eval() that explodes each node and calls the derived context type with the expressions constituents. If the derived context doesn't have an overload that handles this node, fall back to some other context. </para><namespace name="boost"><namespace name="proto"><namespace name="context"><struct name="callable_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- <template-nontype-parameter name="Arity"><type>long</type><default>Expr::proto_arity::value</default></template-nontype-parameter>
- </template><purpose>A BinaryFunction that accepts a Proto expression and a callable context and calls the context with the expression tag and children as arguments, effectively fanning the expression out. </purpose><description><para><computeroutput>callable_eval&lt;&gt;</computeroutput> requires that <computeroutput>Context</computeroutput> is a PolymorphicFunctionObject that can be invoked with <computeroutput>Expr's</computeroutput> tag and children as expressions, as follows:</para><para><programlisting> context(Expr::proto_tag(), child_c&lt;0&gt;(expr), child_c&lt;1&gt;(expr), ...)
-</programlisting> </para></description></struct><struct-specialization name="callable_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>0</template-arg></specialization><purpose>A BinaryFunction that accepts a Proto expression and a callable context and calls the context with the expression tag and children as arguments, effectively fanning the expression out. </purpose><description><para><computeroutput>callable_eval&lt;&gt;</computeroutput> requires that <computeroutput>Context</computeroutput> is a PolymorphicFunctionObject that can be invoked with <computeroutput>Expr's</computeroutput> tag and children as expressions, as follows:</para><para><programlisting> context(Expr::proto_tag(), value(expr))
-</programlisting> </para></description><typedef name="value_type"><type><classname>proto::result_of::value</classname>&lt; Expr const &amp; &gt;::type</type></typedef><typedef name="result_type"><type>boost::result_of&lt; Context(typename Expr::proto_tag, value_type)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The current expression </para></description></parameter><parameter name="context"><paramtype>Context &amp;</paramtype><description><para>The callable evaluation context </para></description></parameter><description><para>
-
-</para></description><returns><para><computeroutput>context(Expr::proto_tag(), value(expr))</computeroutput> </para></returns></method></method-group></struct-specialization><struct name="callable_context"><template>
- <template-type-parameter name="Context"/>
- <template-type-parameter name="DefaultCtx"><default>default_context</default></template-type-parameter>
- </template><purpose>An evaluation context adaptor that makes authoring a context a simple matter of writing function overloads, rather then writing template specializations. </purpose><description><para><computeroutput>callable_context&lt;&gt;</computeroutput> is a base class that implements the context protocol by passing fanned-out expression nodes to the derived context, making it easy to customize the handling of expression types by writing function overloads. Only those expression types needing special handling require explicit handling. All others are dispatched to a user-specified default context, <computeroutput>DefaultCtx</computeroutput>.</para><para><computeroutput>callable_context&lt;&gt;</computeroutput> is defined simply as:</para><para><programlisting> template&lt;typename Context, typename DefaultCtx = default_context&gt;
- struct callable_context
- {
- template&lt;typename Expr, typename ThisContext = Context&gt;
- struct eval
- : mpl::if_&lt;
- is_expr_handled_&lt;Expr, Context&gt; // For exposition
- , callable_eval&lt;Expr, ThisContext&gt;
- , typename DefaultCtx::template eval&lt;Expr, Context&gt;
- &gt;::type
- {};
- };
-</programlisting></para><para>The Boolean metafunction <computeroutput>is_expr_handled_&lt;&gt;</computeroutput> uses metaprogramming tricks to determine whether <computeroutput>Context</computeroutput> has an overloaded function call operator that accepts the fanned-out constituents of an expression of type <computeroutput>Expr</computeroutput>. If so, the handling of the expression is dispatched to <computeroutput>callable_eval&lt;&gt;</computeroutput>. If not, it is dispatched to the user-specified <computeroutput>DefaultCtx</computeroutput>.</para><para>Below is an example of how to use <computeroutput>callable_context&lt;&gt;</computeroutput>:</para><para><programlisting> // An evaluation context that increments all
- // integer terminals in-place.
- struct increment_ints
- : callable_context&lt;
- increment_ints const // derived context
- , null_context const // fall-back context
- &gt;
- {
- typedef void result_type;
-
- // Handle int terminals here:
- void operator()(proto::tag::terminal, int &amp;i) const
- {
- ++i;
- }
- };
-</programlisting></para><para>With <computeroutput>increment_ints</computeroutput>, we can do the following:</para><para><programlisting> literal&lt;int&gt; i = 0, j = 10;
- proto::eval( i - j * 3.14, increment_ints() );
-
- assert( i.get() == 1 &amp;&amp; j.get() == 11 );
-</programlisting> </para></description><struct name="eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="ThisContext"><default>Context</default></template-type-parameter>
- </template><description><para>A BinaryFunction that accepts an <computeroutput>Expr</computeroutput> and a <computeroutput>Context</computeroutput>, and either fans out the expression and passes it to the context, or else hands off the expression to <computeroutput>DefaultCtx</computeroutput>.</para><para>If <computeroutput>Context</computeroutput> is a PolymorphicFunctionObject such that it can be invoked with the tag and children of <computeroutput>Expr</computeroutput>, as <computeroutput>ctx(Expr::proto_tag(), child_c&lt;0&gt;(expr), child_c&lt;1&gt;(expr)...)</computeroutput>, then <computeroutput>eval&lt;Expr, ThisContext&gt;</computeroutput> inherits from <computeroutput>callable_eval&lt;Expr, ThisContext&gt;</computeroutput>. Otherwise, <computeroutput>eval&lt;Expr, ThisContext&gt;</computeroutput> inherits from <computeroutput>DefaultCtx::eval&lt;Expr, Context&gt;</computeroutput>. </para></description></struct></struct><struct-specialization name="callable_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>1</template-arg></specialization><purpose>A BinaryFunction that accepts a Proto expression and a callable context and calls the context with the expression tag and children as arguments, effectively fanning the expression out. </purpose><description><para><computeroutput>callable_eval&lt;&gt;</computeroutput> requires that <computeroutput>Context</computeroutput> is a PolymorphicFunctionObject that can be invoked with <computeroutput>Expr's</computeroutput> tag and children as expressions, as follows:</para><para><programlisting> context(Expr::proto_tag(), child_c\&lt;0\&gt;(expr), child_c\&lt;1\&gt;(expr), ...)
-</programlisting> </para></description><typedef name="child0"><type>proto::result_of::child_c&lt; Expr const &amp;, 0 &gt;::type</type></typedef><typedef name="result_type"><type>boost::result_of&lt; Context(typename Expr::proto_tag, child0)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The current expression </para></description></parameter><parameter name="context"><paramtype>Context &amp;</paramtype><description><para>The callable evaluation context </para></description></parameter><description><para>
-
-</para></description><returns><para><computeroutput>context(Expr::proto_tag(), child_c&lt;0&gt;(expr), child_c&lt;1&gt;(expr), ...)</computeroutput> </para></returns></method></method-group></struct-specialization><struct-specialization name="callable_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>2</template-arg></specialization><purpose>A BinaryFunction that accepts a Proto expression and a callable context and calls the context with the expression tag and children as arguments, effectively fanning the expression out. </purpose><description><para><computeroutput>callable_eval&lt;&gt;</computeroutput> requires that <computeroutput>Context</computeroutput> is a PolymorphicFunctionObject that can be invoked with <computeroutput>Expr's</computeroutput> tag and children as expressions, as follows:</para><para><programlisting> context(Expr::proto_tag(), child_c\&lt;0\&gt;(expr), child_c\&lt;1\&gt;(expr), ...)
-</programlisting> </para></description><typedef name="child0"><type>proto::result_of::child_c&lt; Expr const &amp;, 0 &gt;::type</type></typedef><typedef name="child1"><type>proto::result_of::child_c&lt; Expr const &amp;, 1 &gt;::type</type></typedef><typedef name="result_type"><type>boost::result_of&lt; Context(typename Expr::proto_tag, child0, child1)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The current expression </para></description></parameter><parameter name="context"><paramtype>Context &amp;</paramtype><description><para>The callable evaluation context </para></description></parameter><description><para>
-
-</para></description><returns><para><computeroutput>context(Expr::proto_tag(), child_c&lt;0&gt;(expr), child_c&lt;1&gt;(expr), ...)</computeroutput> </para></returns></method></method-group></struct-specialization><struct-specialization name="callable_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>3</template-arg></specialization><purpose>A BinaryFunction that accepts a Proto expression and a callable context and calls the context with the expression tag and children as arguments, effectively fanning the expression out. </purpose><description><para><computeroutput>callable_eval&lt;&gt;</computeroutput> requires that <computeroutput>Context</computeroutput> is a PolymorphicFunctionObject that can be invoked with <computeroutput>Expr's</computeroutput> tag and children as expressions, as follows:</para><para><programlisting> context(Expr::proto_tag(), child_c\&lt;0\&gt;(expr), child_c\&lt;1\&gt;(expr), ...)
-</programlisting> </para></description><typedef name="child0"><type>proto::result_of::child_c&lt; Expr const &amp;, 0 &gt;::type</type></typedef><typedef name="child1"><type>proto::result_of::child_c&lt; Expr const &amp;, 1 &gt;::type</type></typedef><typedef name="child2"><type>proto::result_of::child_c&lt; Expr const &amp;, 2 &gt;::type</type></typedef><typedef name="result_type"><type>boost::result_of&lt; Context(typename Expr::proto_tag, child0, child1, child2)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The current expression </para></description></parameter><parameter name="context"><paramtype>Context &amp;</paramtype><description><para>The callable evaluation context </para></description></parameter><description><para>
-
-</para></description><returns><para><computeroutput>context(Expr::proto_tag(), child_c&lt;0&gt;(expr), child_c&lt;1&gt;(expr), ...)</computeroutput> </para></returns></method></method-group></struct-specialization><struct-specialization name="callable_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>4</template-arg></specialization><purpose>A BinaryFunction that accepts a Proto expression and a callable context and calls the context with the expression tag and children as arguments, effectively fanning the expression out. </purpose><description><para><computeroutput>callable_eval&lt;&gt;</computeroutput> requires that <computeroutput>Context</computeroutput> is a PolymorphicFunctionObject that can be invoked with <computeroutput>Expr's</computeroutput> tag and children as expressions, as follows:</para><para><programlisting> context(Expr::proto_tag(), child_c\&lt;0\&gt;(expr), child_c\&lt;1\&gt;(expr), ...)
-</programlisting> </para></description><typedef name="child0"><type>proto::result_of::child_c&lt; Expr const &amp;, 0 &gt;::type</type></typedef><typedef name="child1"><type>proto::result_of::child_c&lt; Expr const &amp;, 1 &gt;::type</type></typedef><typedef name="child2"><type>proto::result_of::child_c&lt; Expr const &amp;, 2 &gt;::type</type></typedef><typedef name="child3"><type>proto::result_of::child_c&lt; Expr const &amp;, 3 &gt;::type</type></typedef><typedef name="result_type"><type>boost::result_of&lt; Context(typename Expr::proto_tag, child0, child1, child2, child3)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The current expression </para></description></parameter><parameter name="context"><paramtype>Context &amp;</paramtype><description><para>The callable evaluation context </para></description></parameter><description><para>
-
-</para></description><returns><para><computeroutput>context(Expr::proto_tag(), child_c&lt;0&gt;(expr), child_c&lt;1&gt;(expr), ...)</computeroutput> </para></returns></method></method-group></struct-specialization><struct-specialization name="callable_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>5</template-arg></specialization><purpose>A BinaryFunction that accepts a Proto expression and a callable context and calls the context with the expression tag and children as arguments, effectively fanning the expression out. </purpose><description><para><computeroutput>callable_eval&lt;&gt;</computeroutput> requires that <computeroutput>Context</computeroutput> is a PolymorphicFunctionObject that can be invoked with <computeroutput>Expr's</computeroutput> tag and children as expressions, as follows:</para><para><programlisting> context(Expr::proto_tag(), child_c\&lt;0\&gt;(expr), child_c\&lt;1\&gt;(expr), ...)
-</programlisting> </para></description><typedef name="child0"><type>proto::result_of::child_c&lt; Expr const &amp;, 0 &gt;::type</type></typedef><typedef name="child1"><type>proto::result_of::child_c&lt; Expr const &amp;, 1 &gt;::type</type></typedef><typedef name="child2"><type>proto::result_of::child_c&lt; Expr const &amp;, 2 &gt;::type</type></typedef><typedef name="child3"><type>proto::result_of::child_c&lt; Expr const &amp;, 3 &gt;::type</type></typedef><typedef name="child4"><type>proto::result_of::child_c&lt; Expr const &amp;, 4 &gt;::type</type></typedef><typedef name="result_type"><type>boost::result_of&lt; Context(typename Expr::proto_tag, child0, child1, child2, child3, child4)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The current expression </para></description></parameter><parameter name="context"><paramtype>Context &amp;</paramtype
><description><para>The callable evaluation context </para></description></parameter><description><para>
-
-</para></description><returns><para><computeroutput>context(Expr::proto_tag(), child_c&lt;0&gt;(expr), child_c&lt;1&gt;(expr), ...)</computeroutput> </para></returns></method></method-group></struct-specialization></namespace></namespace></namespace></header><header name="boost/proto/context/default.hpp"><namespace name="boost"><namespace name="proto"><struct name="_default"><template>
- <template-type-parameter name="Grammar"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::address_of</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::bitwise_and</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::bitwise_and_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::bitwise_or</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::bitwise_or_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::bitwise_xor</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::bitwise_xor_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::comma</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::complement</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::dereference</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::divides</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::divides_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::equal_to</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::function</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="e0"><type>result_of::child_c&lt; Expr, 0 &gt;::type</type></typedef><typedef name="r0"><type>Grammar::template <classname>impl</classname>&lt; e0, State, Data &gt;::result_type</type></typedef><typedef name="function_type"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="result_type"><type>boost::result_of&lt; function_type()&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename imp
l2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::function</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="e0"><type>result_of::child_c&lt; Expr, 0 &gt;::type</type></typedef><typedef name="r0"><type>Grammar::template <classname>impl</classname>&lt; e0, State, Data &gt;::result_type</type></typedef><typedef name="e1"><type>result_of::child_c&lt; Expr, 1 &gt;::type</type></typedef><typedef name="r1"><type>Grammar::template <classname>impl</classname>&lt; e1, State, Data &gt;::result_type</type></typedef><typedef name="function_type"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"
><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group><method-group name="private member functions"><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter></method><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></paramete
r><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::true_</classname></paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter></method><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter><parameter name=""><paramtype><classname>mpl::true_</classname></paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::function</template-arg><template-arg>3</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="e0"><type>result_of::child_c&lt; Expr, 0 &gt;::type</type></typedef><typedef name="r0"><type>Grammar::template <classname>impl</classname>&lt; e0, State, Data &gt;::result_type</type></typedef><typedef name="e1"><type>result_of::child_c&lt; Expr, 1 &gt;::type</type></typedef><typedef name="r1"><type>Grammar::template <classname>impl</classname>&lt; e1, State, Data &gt;::result_type</type></typedef><typedef name="e2"><type>result_of::child_c&lt; Expr, 2 &gt;::type</type></typedef><typedef name="r2"><type>Grammar::template <classname>impl</classname>&lt; e2, State, Data &gt;::result_type</type></typedef><typedef name="function_type"><type><emphasis>unspecified</emphasis></type></typedef><ty
pedef name="result_type"><type>boost::result_of&lt; function_type(r1, r2)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group><method-group name="private member functions"><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter></method><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><para
mtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::true_</classname></paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::function</template-arg><template-arg>4</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="e0"><type>result_of::child_c&lt; Expr, 0 &gt;::type</type></typedef><typedef name="r0"><type>Grammar::template <classname>impl</classname>&lt; e0, State, Data &gt;::result_type</type></typedef><typedef name="e1"><type>result_of::child_c&lt; Expr, 1 &gt;::type</type></typedef><typedef name="r1"><type>Grammar::template <classname>impl</classname>&lt; e1, State, Data &gt;::result_type</type></typedef><typedef name="e2"><type>result_of::child_c&lt; Expr, 2 &gt;::type</type></typedef><typedef name="r2"><type>Grammar::template <classname>impl</classname>&lt; e2, State, Data &gt;::result_type</type></typedef><typedef name="e3"><type>result_of::child_c&lt; Expr, 3 &gt;::type</type></typedef><type
def name="r3"><type>Grammar::template <classname>impl</classname>&lt; e3, State, Data &gt;::result_type</type></typedef><typedef name="function_type"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="result_type"><type>boost::result_of&lt; function_type(r1, r2, r3)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group><method-group name="private member functions"><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data
_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter></method><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::true_</classname></paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::function</template-arg><template-arg>5</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="e0"><type>result_of::child_c&lt; Expr, 0 &gt;::type</type></typedef><typedef name="r0"><type>Grammar::template <classname>impl</classname>&lt; e0, State, Data &gt;::result_type</type></typedef><typedef name="e1"><type>result_of::child_c&lt; Expr, 1 &gt;::type</type></typedef><typedef name="r1"><type>Grammar::template <classname>impl</classname>&lt; e1, State, Data &gt;::result_type</type></typedef><typedef name="e2"><type>result_of::child_c&lt; Expr, 2 &gt;::type</type></typedef><typedef name="r2"><type>Grammar::template <classname>impl</classname>&lt; e2, State, Data &gt;::result_type</type></typedef><typedef name="e3"><type>result_of::child_c&lt; Expr, 3 &gt;::type</type></typedef><type
def name="r3"><type>Grammar::template <classname>impl</classname>&lt; e3, State, Data &gt;::result_type</type></typedef><typedef name="e4"><type>result_of::child_c&lt; Expr, 4 &gt;::type</type></typedef><typedef name="r4"><type>Grammar::template <classname>impl</classname>&lt; e4, State, Data &gt;::result_type</type></typedef><typedef name="function_type"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="result_type"><type>boost::result_of&lt; function_type(r1, r2, r3, r4)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group><method-group name="private member functions"><method name="invoke" cv="const"><type>result_type</type><parameter n
ame="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter></method><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::true_</classname></paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::greater</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::greater_equal</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::if_else_</template-arg><template-arg>3</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::less</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::less_equal</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::logical_and</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::logical_not</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::logical_or</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::mem_ptr</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::_default&lt; Grammar &gt;::memfun_impl&lt; Expr, State, Data, IsMemFunCall &gt;</inherit></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::minus</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::minus_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::modulus</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::modulus_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::multiplies</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::multiplies_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::negate</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::not_equal_to</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::plus</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::plus_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::post_dec</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::post_inc</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::pre_dec</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::pre_inc</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::shift_left</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::shift_left_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::shift_right</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::shift_right_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::subscript</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::terminal</template-arg><template-arg>0</template-arg></specialization><inherit access="public">boost::proto::_value::impl&lt; Expr, State, Data &gt;</inherit></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::unary_plus</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization></struct><struct-specialization name="is_callable"><template>
- <template-type-parameter name="Grammar"/>
- </template><specialization><template-arg>_default&lt; Grammar &gt;</template-arg></specialization><inherit access="public">boost::mpl::true_</inherit></struct-specialization><namespace name="context"><struct name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- <template-type-parameter name="Tag"><default>typename Expr::proto_tag</default></template-type-parameter>
- <template-nontype-parameter name="Arity"><type>long</type><default>Expr::proto_arity::value</default></template-nontype-parameter>
- </template></struct><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::unary_plus</template-arg><template-arg>1</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::negate</template-arg><template-arg>1</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::dereference</template-arg><template-arg>1</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::complement</template-arg><template-arg>1</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::address_of</template-arg><template-arg>1</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::logical_not</template-arg><template-arg>1</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::pre_inc</template-arg><template-arg>1</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::pre_dec</template-arg><template-arg>1</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::shift_left</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::shift_right</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::multiplies</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::divides</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::modulus</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::plus</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::minus</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::less</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::greater</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::less_equal</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::greater_equal</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::equal_to</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::not_equal_to</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::logical_or</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::logical_and</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::bitwise_and</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::bitwise_or</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::bitwise_xor</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::assign</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::shift_left_assign</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::shift_right_assign</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::multiplies_assign</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::divides_assign</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::modulus_assign</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::plus_assign</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::minus_assign</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::bitwise_and_assign</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::bitwise_or_assign</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::bitwise_xor_assign</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>tag::mem_ptr</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::context::memfun_eval&lt; Expr, Context, IsMemFunCall &gt;</inherit></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::terminal</template-arg><template-arg>0</template-arg></specialization><typedef name="result_type"><type><classname>proto::result_of::value</classname>&lt; Expr &amp; &gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name=""><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::post_inc</template-arg><template-arg>1</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::post_dec</template-arg><template-arg>1</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::subscript</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::if_else_</template-arg><template-arg>3</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::comma</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::function</template-arg><template-arg>1</template-arg></specialization><typedef name="function_type"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="result_type"><type>boost::result_of&lt; function_type()&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="context"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::function</template-arg><template-arg>2</template-arg></specialization><typedef name="function_type"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="context"><paramtype>Context &amp;</paramtype></parameter></method></method-group><method-group name="private member functions"><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="context"><paramtype>Context &amp;</paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_<
/classname></paramtype></parameter></method><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="context"><paramtype>Context &amp;</paramtype></parameter><parameter name=""><paramtype><classname>mpl::true_</classname></paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter></method><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="context"><paramtype>Context &amp;</paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter><parameter name=""><paramtype><classname>mpl::true_</classname></paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::function</template-arg><template-arg>3</template-arg></specialization><typedef name="function_type"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="result_type"><type>boost::result_of&lt; function_type(typename <classname>proto::result_of::eval</classname>&lt; typename remove_reference&lt; typename proto::result_of::child_c&lt; Expr, 1 &gt;::type &gt;::type, Context &gt;::type, typename <classname>proto::result_of::eval</classname>&lt; typename remove_reference&lt; typename proto::result_of::child_c&lt; Expr, 2 &gt;::type &gt;::type, Context &gt;::type)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="context"><paramtype>Context &amp;</paramtype></parameter></method></method-group><method-group na
me="private member functions"><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="context"><paramtype>Context &amp;</paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter></method><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="context"><paramtype>Context &amp;</paramtype></parameter><parameter name=""><paramtype><classname>mpl::true_</classname></paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::function</template-arg><template-arg>4</template-arg></specialization><typedef name="function_type"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="result_type"><type>boost::result_of&lt; function_type(typename <classname>proto::result_of::eval</classname>&lt; typename remove_reference&lt; typename proto::result_of::child_c&lt; Expr, 1 &gt;::type &gt;::type, Context &gt;::type, typename <classname>proto::result_of::eval</classname>&lt; typename remove_reference&lt; typename proto::result_of::child_c&lt; Expr, 2 &gt;::type &gt;::type, Context &gt;::type, typename <classname>proto::result_of::eval</classname>&lt; typename remove_reference&lt; typename proto::result_of::child_c&lt; Expr, 3 &gt;::type &gt;::type, Context &gt;::type)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><pa
rameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="context"><paramtype>Context &amp;</paramtype></parameter></method></method-group><method-group name="private member functions"><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="context"><paramtype>Context &amp;</paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter></method><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="context"><paramtype>Context &amp;</paramtype></parameter><parameter name=""><paramtype><classname>mpl::true_</classname></paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="default_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>proto::tag::function</template-arg><template-arg>5</template-arg></specialization><typedef name="function_type"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="result_type"><type>boost::result_of&lt; function_type(typename <classname>proto::result_of::eval</classname>&lt; typename remove_reference&lt; typename proto::result_of::child_c&lt; Expr, 1 &gt;::type &gt;::type, Context &gt;::type, typename <classname>proto::result_of::eval</classname>&lt; typename remove_reference&lt; typename proto::result_of::child_c&lt; Expr, 2 &gt;::type &gt;::type, Context &gt;::type, typename <classname>proto::result_of::eval</classname>&lt; typename remove_reference&lt; typename proto::result_of::child_c&lt; Expr, 3 &gt;::type &gt;::type, Context &gt;::type, typename <classname>proto::result_of::eval</classname>&lt; typename remove_reference&lt; typename proto::result_of::child_c&lt; Expr, 4
 &gt;::type &gt;::type, Context &gt;::type)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="context"><paramtype>Context &amp;</paramtype></parameter></method></method-group><method-group name="private member functions"><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="context"><paramtype>Context &amp;</paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter></method><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="context"><paramtype>Context &amp;</paramtype></parameter><parameter name=""><paramtype><classname>mpl::true_</classname></paramtype></parameter></method></method-group></struct-specialization><stru
ct name="default_context"><description><para>default_context </para></description><struct name="eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="ThisContext"><default>default_context const</default></template-type-parameter>
- </template><inherit access="public">boost::proto::context::default_eval&lt; Expr, ThisContext &gt;</inherit><description><para>default_context::eval </para></description></struct></struct></namespace></namespace></namespace></header><header name="boost/proto/transform/default.hpp"><namespace name="boost"><namespace name="proto"><struct name="_default"><template>
- <template-type-parameter name="Grammar"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::address_of</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::bitwise_and</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::bitwise_and_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::bitwise_or</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::bitwise_or_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::bitwise_xor</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::bitwise_xor_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::comma</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::complement</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::dereference</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::divides</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::divides_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::equal_to</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::function</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="e0"><type>result_of::child_c&lt; Expr, 0 &gt;::type</type></typedef><typedef name="r0"><type>Grammar::template <classname>impl</classname>&lt; e0, State, Data &gt;::result_type</type></typedef><typedef name="function_type"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="result_type"><type>boost::result_of&lt; function_type()&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename imp
l2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::function</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="e0"><type>result_of::child_c&lt; Expr, 0 &gt;::type</type></typedef><typedef name="r0"><type>Grammar::template <classname>impl</classname>&lt; e0, State, Data &gt;::result_type</type></typedef><typedef name="e1"><type>result_of::child_c&lt; Expr, 1 &gt;::type</type></typedef><typedef name="r1"><type>Grammar::template <classname>impl</classname>&lt; e1, State, Data &gt;::result_type</type></typedef><typedef name="function_type"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"
><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group><method-group name="private member functions"><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter></method><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></paramete
r><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::true_</classname></paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter></method><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter><parameter name=""><paramtype><classname>mpl::true_</classname></paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::function</template-arg><template-arg>3</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="e0"><type>result_of::child_c&lt; Expr, 0 &gt;::type</type></typedef><typedef name="r0"><type>Grammar::template <classname>impl</classname>&lt; e0, State, Data &gt;::result_type</type></typedef><typedef name="e1"><type>result_of::child_c&lt; Expr, 1 &gt;::type</type></typedef><typedef name="r1"><type>Grammar::template <classname>impl</classname>&lt; e1, State, Data &gt;::result_type</type></typedef><typedef name="e2"><type>result_of::child_c&lt; Expr, 2 &gt;::type</type></typedef><typedef name="r2"><type>Grammar::template <classname>impl</classname>&lt; e2, State, Data &gt;::result_type</type></typedef><typedef name="function_type"><type><emphasis>unspecified</emphasis></type></typedef><ty
pedef name="result_type"><type>boost::result_of&lt; function_type(r1, r2)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group><method-group name="private member functions"><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter></method><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><para
mtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::true_</classname></paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::function</template-arg><template-arg>4</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="e0"><type>result_of::child_c&lt; Expr, 0 &gt;::type</type></typedef><typedef name="r0"><type>Grammar::template <classname>impl</classname>&lt; e0, State, Data &gt;::result_type</type></typedef><typedef name="e1"><type>result_of::child_c&lt; Expr, 1 &gt;::type</type></typedef><typedef name="r1"><type>Grammar::template <classname>impl</classname>&lt; e1, State, Data &gt;::result_type</type></typedef><typedef name="e2"><type>result_of::child_c&lt; Expr, 2 &gt;::type</type></typedef><typedef name="r2"><type>Grammar::template <classname>impl</classname>&lt; e2, State, Data &gt;::result_type</type></typedef><typedef name="e3"><type>result_of::child_c&lt; Expr, 3 &gt;::type</type></typedef><type
def name="r3"><type>Grammar::template <classname>impl</classname>&lt; e3, State, Data &gt;::result_type</type></typedef><typedef name="function_type"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="result_type"><type>boost::result_of&lt; function_type(r1, r2, r3)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group><method-group name="private member functions"><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data
_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter></method><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::true_</classname></paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::function</template-arg><template-arg>5</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="e0"><type>result_of::child_c&lt; Expr, 0 &gt;::type</type></typedef><typedef name="r0"><type>Grammar::template <classname>impl</classname>&lt; e0, State, Data &gt;::result_type</type></typedef><typedef name="e1"><type>result_of::child_c&lt; Expr, 1 &gt;::type</type></typedef><typedef name="r1"><type>Grammar::template <classname>impl</classname>&lt; e1, State, Data &gt;::result_type</type></typedef><typedef name="e2"><type>result_of::child_c&lt; Expr, 2 &gt;::type</type></typedef><typedef name="r2"><type>Grammar::template <classname>impl</classname>&lt; e2, State, Data &gt;::result_type</type></typedef><typedef name="e3"><type>result_of::child_c&lt; Expr, 3 &gt;::type</type></typedef><type
def name="r3"><type>Grammar::template <classname>impl</classname>&lt; e3, State, Data &gt;::result_type</type></typedef><typedef name="e4"><type>result_of::child_c&lt; Expr, 4 &gt;::type</type></typedef><typedef name="r4"><type>Grammar::template <classname>impl</classname>&lt; e4, State, Data &gt;::result_type</type></typedef><typedef name="function_type"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="result_type"><type>boost::result_of&lt; function_type(r1, r2, r3, r4)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group><method-group name="private member functions"><method name="invoke" cv="const"><type>result_type</type><parameter n
ame="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::false_</classname></paramtype></parameter></method><method name="invoke" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter><parameter name=""><paramtype><classname>mpl::true_</classname></paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::greater</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::greater_equal</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::if_else_</template-arg><template-arg>3</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::less</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::less_equal</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::logical_and</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::logical_not</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::logical_or</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::mem_ptr</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::_default&lt; Grammar &gt;::memfun_impl&lt; Expr, State, Data, IsMemFunCall &gt;</inherit></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::minus</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::minus_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::modulus</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::modulus_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::multiplies</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::multiplies_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::negate</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::not_equal_to</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::plus</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::plus_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::post_dec</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::post_inc</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::pre_dec</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::pre_inc</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::shift_left</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::shift_left_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::shift_right</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::shift_right_assign</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::subscript</template-arg><template-arg>2</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::terminal</template-arg><template-arg>0</template-arg></specialization><inherit access="public">boost::proto::_value::impl&lt; Expr, State, Data &gt;</inherit></struct-specialization><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>tag::unary_plus</template-arg><template-arg>1</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization></struct><struct-specialization name="is_callable"><template>
- <template-type-parameter name="Grammar"/>
- </template><specialization><template-arg>_default&lt; Grammar &gt;</template-arg></specialization><inherit access="public">boost::mpl::true_</inherit></struct-specialization></namespace></namespace></header><header name="boost/proto/context/null.hpp"><para>Definintion of null_context&lt;&gt;, an evaluation context for proto::eval() that simply evaluates each child expression, doesn't combine the results at all, and returns void. </para><namespace name="boost"><namespace name="proto"><namespace name="context"><struct name="null_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- <template-nontype-parameter name="Arity"><type>long</type><default>Expr::proto_arity::value</default></template-nontype-parameter>
- </template></struct><struct-specialization name="null_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>0</template-arg></specialization><typedef name="result_type"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>void</type><parameter name=""><paramtype>Expr &amp;</paramtype></parameter><parameter name=""><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="null_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>1</template-arg></specialization><typedef name="result_type"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>void</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="null_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>2</template-arg></specialization><typedef name="result_type"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>void</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="null_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>3</template-arg></specialization><typedef name="result_type"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>void</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="null_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>4</template-arg></specialization><typedef name="result_type"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>void</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct-specialization name="null_eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Context</template-arg><template-arg>5</template-arg></specialization><typedef name="result_type"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>void</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="ctx"><paramtype>Context &amp;</paramtype></parameter></method></method-group></struct-specialization><struct name="null_context"><description><para>null_context </para></description><struct name="eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="ThisContext"><default>null_context const</default></template-type-parameter>
- </template><inherit access="public">boost::proto::context::null_eval&lt; Expr, ThisContext &gt;</inherit><description><para>null_context::eval </para></description></struct></struct></namespace></namespace></namespace></header><header name="boost/proto/core.hpp"><para>Includes the core of Proto. Not included are the contexts, transforms and debugging utilities. </para></header><header name="boost/proto/debug.hpp"><para>Utilities for debugging Proto expression trees </para><namespace name="boost"><namespace name="proto"><namespace name="functional"><struct name="display_expr"><purpose>Pretty-print a Proto expression tree. </purpose><description><para>A PolymorphicFunctionObject which accepts a Proto expression tree and pretty-prints it to an <computeroutput>ostream</computeroutput> for debugging purposes. </para></description><typedef name="result_type"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>void</type><template>
- <template-type-parameter name="Args"/>
- </template><parameter name="expr"><paramtype>proto::expr&lt; <classname>tag::terminal</classname>, Args, 0 &gt; const &amp;</paramtype></parameter><purpose>Pretty-print the current node in a Proto expression tree. </purpose></method><method name="operator()" cv="const"><type>void</type><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Args"/>
- </template><parameter name="expr"><paramtype>proto::expr&lt; Tag, Args, 1 &gt; const &amp;</paramtype></parameter></method><method name="operator()" cv="const"><type>void</type><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Args"/>
- </template><parameter name="expr"><paramtype>proto::expr&lt; Tag, Args, 2 &gt; const &amp;</paramtype></parameter></method><method name="operator()" cv="const"><type>void</type><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Args"/>
- </template><parameter name="expr"><paramtype>proto::expr&lt; Tag, Args, 3 &gt; const &amp;</paramtype></parameter></method><method name="operator()" cv="const"><type>void</type><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Args"/>
- </template><parameter name="expr"><paramtype>proto::expr&lt; Tag, Args, 4 &gt; const &amp;</paramtype></parameter></method><method name="operator()" cv="const"><type>void</type><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Args"/>
- </template><parameter name="expr"><paramtype>proto::expr&lt; Tag, Args, 5 &gt; const &amp;</paramtype></parameter></method><method name="operator()" cv="const"><type>void</type><template>
- <template-type-parameter name="T"/>
- </template><parameter name="t"><paramtype>T const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group><constructor><parameter name="sout"><paramtype>std::ostream &amp;</paramtype><default>std::cout</default><description><para>The <computeroutput>ostream</computeroutput> to which the expression tree will be written. </para></description></parameter><parameter name="depth"><paramtype>int</paramtype><default>0</default><description><para>The starting indentation depth for this node. Children nodes will be displayed at a starting depth of <computeroutput>depth+4</computeroutput>. </para></description></parameter><description><para>
-</para></description></constructor><method-group name="private member functions"/><copy-assignment><parameter name=""><paramtype><classname>display_expr</classname> const &amp;</paramtype></parameter></copy-assignment></struct></namespace><namespace name="tag"><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::unary_plus</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::negate</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::dereference</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::complement</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::address_of</classname
></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::logical_not</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::pre_inc</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::pre_dec</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::post_inc</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::post_dec</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::shift_left</classname></paramtype></parameter></function><function name="proto_tag_name"><typ
e>char const *</type><parameter name=""><paramtype><classname>tag::shift_right</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::multiplies</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::divides</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::modulus</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::plus</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::minus</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::less</classn
ame></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::greater</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::less_equal</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::greater_equal</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::equal_to</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::not_equal_to</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::logical_or</classname></paramtype></parameter></function><function name="proto_ta
g_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::logical_and</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::bitwise_and</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::bitwise_or</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::bitwise_xor</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::comma</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::mem_ptr</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><clas
sname>tag::assign</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::shift_left_assign</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::shift_right_assign</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::multiplies_assign</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::divides_assign</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::modulus_assign</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::plus_assign</classname></p
aramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::minus_assign</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::bitwise_and_assign</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::bitwise_or_assign</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::bitwise_xor_assign</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::subscript</classname></paramtype></parameter></function><function name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::if_else_</classname></paramtype></parameter></function><function
 name="proto_tag_name"><type>char const *</type><parameter name=""><paramtype><classname>tag::function</classname></paramtype></parameter></function></namespace><overloaded-function name="display_expr"><signature><type>void</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype><description><para>The Proto expression tree to pretty-print </para></description></parameter><parameter name="sout"><paramtype>std::ostream &amp;</paramtype><description><para>The <computeroutput>ostream</computeroutput> to which the output should be written. If not specified, defaults to <computeroutput>std::cout</computeroutput>. </para></description></parameter></signature><signature><type>void</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter></signature><purpose>Pretty-print a Proto expression tree. </purpose><description><para>
-
-</para></description><notes><para>Equivalent to <computeroutput>functional::display_expr(0, sout)(expr)</computeroutput> </para></notes></overloaded-function></namespace></namespace></header><header name="boost/proto/deep_copy.hpp"><para>Replace all nodes stored by reference by nodes stored by value. </para><namespace name="boost"><namespace name="proto"><namespace name="functional"><struct name="deep_copy"><purpose>A PolymorphicFunctionObject type for deep-copying Proto expression trees. </purpose><description><para>A PolymorphicFunctionObject type for deep-copying Proto expression trees. When a tree is deep-copied, all internal nodes and most terminals held by reference are instead held by value.</para><para>
-</para></description><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr)</template-arg></specialization><typedef name="type"><type><classname>result_of::deep_copy</classname>&lt; Expr &gt;::type</type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type><classname>result_of::deep_copy</classname>&lt; Expr &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter><purpose>Deep-copies a Proto expression tree, turning all nodes and terminals held by reference into ones held by value. </purpose></method></method-group></struct></namespace><namespace name="result_of"><struct name="deep_copy"><template>
- <template-type-parameter name="Expr"/>
- </template><purpose>A metafunction for calculating the return type of <computeroutput>proto::deep_copy()</computeroutput>. </purpose><description><para>A metafunction for calculating the return type of <computeroutput>proto::deep_copy()</computeroutput>. The type parameter <computeroutput>Expr</computeroutput> should be the type of a Proto expression tree. It should not be a reference type, nor should it be cv-qualified. </para></description><typedef name="type"><type><emphasis>unspecified</emphasis></type></typedef></struct></namespace><function name="deep_copy"><type><classname>proto::result_of::deep_copy</classname>&lt; Expr &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter><purpose>A function for deep-copying Proto expression trees. </purpose><description><para>A function for deep-copying Proto expression trees. When a tree is deep-copied, all internal nodes and most terminals held by reference are instead held by value.</para><para>
-<para>proto::functional::deep_copy. </para>
-</para></description><notes><para>Terminals of reference-to-array type and of reference-to-function type are left unchanged.</para></notes></function></namespace></namespace></header><header name="boost/proto/domain.hpp"><para>Contains definition of domain&lt;&gt; class template and helpers for defining domains with a generator and a grammar for controlling operator overloading. </para><namespace name="boost"><namespace name="proto"><struct name="domain"><template>
- <template-type-parameter name="Generator"><default>default_generator</default></template-type-parameter>
- <template-type-parameter name="Grammar"><default>proto::_</default></template-type-parameter>
- </template><purpose>For use in defining domain tags to be used with <computeroutput>proto::extends&lt;&gt;</computeroutput>. A Domain associates an expression type with a Generator, and optionally a Grammar. </purpose><description><para>The Generator determines how new expressions in the domain are constructed. Typically, a generator wraps all new expressions in a wrapper that imparts domain-specific behaviors to expressions within its domain. (See <computeroutput>proto::extends&lt;&gt;</computeroutput>.)</para><para>The Grammar determines whether a given expression is valid within the domain, and automatically disables any operator overloads which would cause an invalid expression to be created. By default, the Grammar parameter defaults to the wildcard, <computeroutput>proto::_</computeroutput>, which makes all expressions valid within the domain.</para><para>Example: <programlisting> template&lt;typename Expr&gt;
- struct MyExpr;
-
- struct MyGrammar
- : or_&lt; terminal&lt;_&gt;, plus&lt;MyGrammar, MyGrammar&gt; &gt;
- {};
-
- // Define MyDomain, in which all expressions are
- // wrapped in MyExpr&lt;&gt; and only expressions that
- // conform to MyGrammar are allowed.
- struct MyDomain
- : domain&lt;generator&lt;MyExpr&gt;, MyGrammar&gt;
- {};
-
- // Use MyDomain to define MyExpr
- template&lt;typename Expr&gt;
- struct MyExpr
- : extends&lt;Expr, MyExpr&lt;Expr&gt;, MyDomain&gt;
- {
- // ...
- };
-</programlisting> </para></description><typedef name="proto_grammar"><type>Grammar</type></typedef><typedef name="proto_is_domain_"><type>void</type></typedef></struct><struct name="default_domain"><inherit access="public">boost::proto::domain&lt; Generator, Grammar &gt;</inherit><purpose>The domain expressions have by default, if <computeroutput>proto::extends&lt;&gt;</computeroutput> has not been used to associate a domain with an expression. </purpose></struct><struct name="deduce_domain"><inherit access="public">boost::proto::domain&lt; Generator, Grammar &gt;</inherit><purpose>A pseudo-domain for use in functions and metafunctions that require a domain parameter. It indicates that the domain of the parent node should be inferred from the domains of the child nodes. </purpose><description><para>
-</para></description></struct><namespace name="result_of"><struct name="is_domain"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="Void"><default>void</default></template-type-parameter>
- </template><inherit access="public">boost::mpl::false_</inherit><description><para>A metafunction that returns <computeroutput>mpl::true_</computeroutput> if the type <computeroutput>T</computeroutput> is the type of a Proto domain; <computeroutput>mpl::false_</computeroutput> otherwise. If <computeroutput>T</computeroutput> inherits from <computeroutput>proto::domain&lt;&gt;</computeroutput>, <computeroutput>is_domain&lt;T&gt;</computeroutput> is <computeroutput>mpl::true_</computeroutput>. </para></description></struct><struct name="domain_of"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="Void"><default>void</default></template-type-parameter>
- </template><description><para>A metafunction that returns the domain of a given type. If <computeroutput>T</computeroutput> is a Proto expression type, it returns that expression's associated domain. If not, it returns <computeroutput>proto::default_domain</computeroutput>. </para></description><typedef name="type"><type><classname>default_domain</classname></type></typedef></struct></namespace></namespace></namespace></header><header name="boost/proto/eval.hpp"><para>Contains the eval() expression evaluator. </para><namespace name="boost"><namespace name="proto"><namespace name="functional"><struct name="eval"><purpose>A PolymorphicFunctionObject type for evaluating a given Proto expression with a given context. </purpose><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><specialization><template-arg>This(Expr</template-arg><template-arg>Context)</template-arg></specialization><typedef name="type"><type><classname>proto::result_of::eval</classname>&lt; typename remove_reference&lt; Expr &gt;::type, typename remove_reference&lt; Context &gt;::type &gt;::type</type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type><classname>proto::result_of::eval</classname>&lt; Expr, Context &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The Proto expression to evaluate </para></description></parameter><parameter name="context"><paramtype>Context &amp;</paramtype><description><para>The context in which the expression should be evaluated. </para></description></parameter><purpose>Evaluate a given Proto expression with a given context. </purpose><description><para>
-
-</para></description><returns><para><computeroutput>typename Context::template eval&lt;Expr&gt;()(expr, context)</computeroutput> </para></returns></method><method name="operator()" cv="const"><type><classname>proto::result_of::eval</classname>&lt; Expr, Context &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="context"><paramtype>Context const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group></struct></namespace><namespace name="result_of"><struct name="eval"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><purpose>A metafunction for calculating the return type of <computeroutput>proto::eval()</computeroutput> given a certain <computeroutput>Expr</computeroutput> and <computeroutput>Context</computeroutput> types. </purpose><description><para>
-</para></description><typedef name="type"><type>Context::template <classname>eval</classname>&lt; Expr &gt;::result_type</type></typedef></struct></namespace><overloaded-function name="eval"><signature><type><classname>proto::result_of::eval</classname>&lt; Expr, Context &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The Proto expression to evaluate </para></description></parameter><parameter name="context"><paramtype>Context &amp;</paramtype><description><para>The context in which the expression should be evaluated. </para></description></parameter></signature><signature><type><classname>proto::result_of::eval</classname>&lt; Expr, Context &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Context"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="context"><paramtype>Context const &amp;</paramtype></parameter></signature><purpose>Evaluate a given Proto expression with a given context. </purpose><description><para>
-
-</para></description><returns><para><computeroutput>typename Context::template eval&lt;Expr&gt;()(expr, context)</computeroutput> </para></returns></overloaded-function></namespace></namespace></header><header name="boost/proto/expr.hpp"><para>Contains definition of expr&lt;&gt; class template. </para><namespace name="boost"><namespace name="proto"><struct-specialization name="expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Args"/>
- </template><specialization><template-arg>Tag</template-arg><template-arg>Args</template-arg><template-arg>0</template-arg></specialization><purpose>Representation of a node in an expression tree. </purpose><description><para><computeroutput>proto::expr&lt;&gt;</computeroutput> is a node in an expression template tree. It is a container for its child sub-trees. It also serves as the terminal nodes of the tree.</para><para><computeroutput>Tag</computeroutput> is type that represents the operation encoded by this expression. It is typically one of the structs in the <computeroutput>boost::proto::tag</computeroutput> namespace, but it doesn't have to be. If the <computeroutput>Tag</computeroutput> type is <computeroutput>boost::proto::tag::terminal</computeroutput> then this <computeroutput>expr&lt;&gt;</computeroutput> type represents a leaf in the expression tree.</para><para><computeroutput>Args</computeroutput> is a type list representing the type of the children of this expression. It is an instantiati
on of one of <computeroutput>proto::list1&lt;&gt;</computeroutput>, <computeroutput>proto::list2&lt;&gt;</computeroutput>, etc. The child types must all themselves be either <computeroutput>expr&lt;&gt;</computeroutput> or <computeroutput>proto::expr&lt;&gt;&amp;</computeroutput>, unless the <computeroutput>Tag</computeroutput> type is <computeroutput>boost::proto::tag::terminal</computeroutput>, in which case <computeroutput>Args</computeroutput> must be <computeroutput>proto::term&lt;T&gt;</computeroutput>, where <computeroutput>T</computeroutput> can be any type.</para><para><computeroutput>proto::expr&lt;&gt;</computeroutput> is a valid Fusion random-access sequence, where the elements of the sequence are the child expressions. </para></description><struct name="result"><template>
- <template-type-parameter name="Sig"/>
- </template><description><para>Encodes the return type of <computeroutput>expr&lt;&gt;operator()</computeroutput>, for use with <computeroutput>boost::result_of&lt;&gt;</computeroutput> </para></description><typedef name="type"><type>result_of::funop&lt; Sig, expr, <classname>default_domain</classname> &gt;::type</type></typedef></struct><typedef name="proto_tag"><type>Tag</type></typedef><typedef name="proto_arity"><type>mpl::long_&lt; 0 &gt;</type></typedef><typedef name="proto_base_expr"><type>expr</type></typedef><typedef name="proto_args"><type>Args</type></typedef><typedef name="proto_domain"><type><classname>default_domain</classname></type></typedef><typedef name="fusion_tag"><type>proto::tag::proto_expr</type></typedef><typedef name="proto_is_expr_"><type>void</type></typedef><typedef name="proto_derived_expr"><type>expr</type></typedef><typedef name="proto_child0"><type>Args::child0</type></typedef><typedef name="proto_child_ref0"><type>Args::child_ref0</type></typedef><typedef name="proto_chil
d1"><type>void</type></typedef><typedef name="proto_child_ref1"><type>void</type></typedef><typedef name="proto_child2"><type>void</type></typedef><typedef name="proto_child_ref2"><type>void</type></typedef><typedef name="proto_child3"><type>void</type></typedef><typedef name="proto_child_ref3"><type>void</type></typedef><typedef name="proto_child4"><type>void</type></typedef><typedef name="proto_child_ref4"><type>void</type></typedef><data-member name="child0"><type>proto_child0</type></data-member><method-group name="public member functions"><method name="proto_base" cv="const"><type>expr const &amp;</type><description><para>
-</para></description><returns><para>*this </para></returns></method><method name="proto_base" cv=""><type>expr &amp;</type><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator[]" cv="const"><type>proto::expr&lt; <classname>proto::tag::subscript</classname>, <classname>list2</classname>&lt; expr const &amp;, typename <classname>result_of::as_child</classname>&lt; A &gt;::type &gt;&gt; const</type><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A &amp;</paramtype><description><para>The rhs. </para></description></parameter><description><para>Subscript</para><para>
-
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing <computeroutput>*this</computeroutput> subscripted with <computeroutput>a</computeroutput>. </para></returns></method><method name="operator[]" cv="const"><type>proto::expr&lt; <classname>proto::tag::subscript</classname>, <classname>list2</classname>&lt; expr const &amp;, typename <classname>result_of::as_child</classname>&lt; A const &gt;::type &gt; &gt; const</type><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator[]" cv=""><type>proto::expr&lt; <classname>proto::tag::subscript</classname>, <classname>list2</classname>&lt; expr &amp;, typename <classname>result_of::as_child</classname>&lt; A &gt;::type &gt;&gt; const</type><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator[]" cv=""><type>proto::expr&lt; <classname>proto::tag::subscript</classname>, <classname>list2</classname>&lt; expr &amp;, typename <classname>result_of::as_child</classname>&lt; A const &gt;::type &gt;&gt; const</type><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type>proto::expr&lt; <classname>proto::tag::function</classname>, <classname>list1</classname>&lt; expr const &amp; &gt; &gt; const</type><description><para>Function call</para><para>
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing the function invocation of <computeroutput/>(*this)(). </para></returns></method><method name="operator()" cv=""><type>proto::expr&lt; <classname>proto::tag::function</classname>, <classname>list1</classname>&lt; expr &amp; &gt; &gt; const</type><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop1</classname>&lt; expr const, <classname>default_domain</classname>, const A0 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop2</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop3</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1, const A2 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop4</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1, const A2, const A3 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 const &amp;</paramtype></parameter><parameter name="a3"><paramtype>A3 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group><copy-assignment><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A &amp;</paramtype><description><para>The rhs. </para></description></parameter><description><para>Assignment</para><para>
-
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing an assignment of <computeroutput>a</computeroutput> to <computeroutput>*this</computeroutput>. </para></returns></copy-assignment><copy-assignment><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></copy-assignment><copy-assignment><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></copy-assignment><copy-assignment><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></copy-assignment><method-group name="public static functions"><method name="make" cv=""><type>static expr const</type><template>
- <template-type-parameter name="A0"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><description><para>
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> object initialized with the specified arguments. </para></returns></method><method name="make" cv=""><type>static expr const</type><template>
- <template-type-parameter name="A0"/>
- </template><parameter name="a0"><paramtype>A0 &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="make" cv=""><type>static expr const</type><template>
- <template-type-parameter name="A0"/>
- <template-nontype-parameter name="N"><type>std::size_t</type></template-nontype-parameter>
- </template><parameter name="a0"><paramtype>A0 &amp;</paramtype></parameter><parameter name=""><paramtype><emphasis>unspecified</emphasis></paramtype><default>0</default></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="make" cv=""><type>static expr const</type><template>
- <template-type-parameter name="A0"/>
- <template-nontype-parameter name="N"><type>std::size_t</type></template-nontype-parameter>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name=""><paramtype><emphasis>unspecified</emphasis></paramtype><default>0</default></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group></struct-specialization><struct-specialization name="expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Args"/>
- </template><specialization><template-arg>Tag</template-arg><template-arg>Args</template-arg><template-arg>1</template-arg></specialization><purpose>Representation of a node in an expression tree. </purpose><description><para><computeroutput>proto::expr&lt;&gt;</computeroutput> is a node in an expression template tree. It is a container for its child sub-trees. It also serves as the terminal nodes of the tree.</para><para><computeroutput>Tag</computeroutput> is type that represents the operation encoded by this expression. It is typically one of the structs in the <computeroutput>boost::proto::tag</computeroutput> namespace, but it doesn't have to be. If the <computeroutput>Tag</computeroutput> type is <computeroutput>boost::proto::tag::terminal</computeroutput> then this <computeroutput>expr&lt;&gt;</computeroutput> type represents a leaf in the expression tree.</para><para><computeroutput>Args</computeroutput> is a type list representing the type of the children of this expression. It is an instantiati
on of one of <computeroutput>proto::list1&lt;&gt;</computeroutput>, <computeroutput>proto::list2&lt;&gt;</computeroutput>, etc. The child types must all themselves be either <computeroutput>expr&lt;&gt;</computeroutput> or <computeroutput>proto::expr&lt;&gt;&amp;</computeroutput>, unless the <computeroutput>Tag</computeroutput> type is <computeroutput>boost::proto::tag::terminal</computeroutput>, in which case <computeroutput>Args</computeroutput> must be <computeroutput>proto::term&lt;T&gt;</computeroutput>, where <computeroutput>T</computeroutput> can be any type.</para><para><computeroutput>proto::expr&lt;&gt;</computeroutput> is a valid Fusion random-access sequence, where the elements of the sequence are the child expressions. </para></description><struct name="result"><template>
- <template-type-parameter name="Sig"/>
- </template><description><para>Encodes the return type of <computeroutput>expr&lt;&gt;operator()</computeroutput>, for use with <computeroutput>boost::result_of&lt;&gt;</computeroutput> </para></description><typedef name="type"><type>result_of::funop&lt; Sig, expr, <classname>default_domain</classname> &gt;::type</type></typedef></struct><typedef name="proto_tag"><type>Tag</type></typedef><typedef name="proto_arity"><type>mpl::long_&lt; 1 &gt;</type></typedef><typedef name="proto_base_expr"><type>expr</type></typedef><typedef name="proto_args"><type>Args</type></typedef><typedef name="proto_domain"><type><classname>default_domain</classname></type></typedef><typedef name="fusion_tag"><type>proto::tag::proto_expr</type></typedef><typedef name="proto_is_expr_"><type>void</type></typedef><typedef name="proto_derived_expr"><type>expr</type></typedef><typedef name="proto_child0"><type>Args::child0</type></typedef><typedef name="proto_child_ref0"><type>Args::child_ref0</type></typedef><typedef name="proto_chil
d1"><type>void</type></typedef><typedef name="proto_child_ref1"><type>void</type></typedef><typedef name="proto_child2"><type>void</type></typedef><typedef name="proto_child_ref2"><type>void</type></typedef><typedef name="proto_child3"><type>void</type></typedef><typedef name="proto_child_ref3"><type>void</type></typedef><typedef name="proto_child4"><type>void</type></typedef><typedef name="proto_child_ref4"><type>void</type></typedef><typedef name="address_of_hack_type_"><description><para>If <computeroutput>Tag</computeroutput> is <computeroutput>boost::proto::tag::address_of</computeroutput> and <computeroutput>proto_child0</computeroutput> is <computeroutput>T&amp;</computeroutput>, then <computeroutput>address_of_hack_type_</computeroutput> is <computeroutput>T*</computeroutput>. Otherwise, it is some undefined type. </para></description><type><emphasis>unspecified</emphasis></type></typedef><data-member name="child0"><type>proto_child0</type></data-member><method-group name="public member functions"><m
ethod name="proto_base" cv="const"><type>expr const &amp;</type><description><para>
-</para></description><returns><para>*this </para></returns></method><method name="proto_base" cv=""><type>expr &amp;</type><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="conversion-operator" cv="const"><type>address_of_hack_type_</type><description><para>
-
-</para></description><returns><para>The address of <computeroutput>this-&gt;child0</computeroutput> if <computeroutput>Tag</computeroutput> is <computeroutput>boost::proto::tag::address_of</computeroutput>. Otherwise, this function will fail to compile.</para></returns><notes><para>Proto overloads <computeroutput>operator&amp;</computeroutput>, which means that proto-ified objects cannot have their addresses taken, unless we use the following hack to make <computeroutput>&amp;x</computeroutput> implicitly convertible to <computeroutput>X*</computeroutput>. </para></notes></method><method name="operator[]" cv="const"><type>proto::expr&lt; <classname>proto::tag::subscript</classname>, <classname>list2</classname>&lt; expr const &amp;, typename <classname>result_of::as_child</classname>&lt; A &gt;::type &gt;&gt; const</type><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A &amp;</paramtype><description><para>The rhs. </para></description></parameter><description><para>Subscript</para><para>
-
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing <computeroutput>*this</computeroutput> subscripted with <computeroutput>a</computeroutput>. </para></returns></method><method name="operator[]" cv="const"><type>proto::expr&lt; <classname>proto::tag::subscript</classname>, <classname>list2</classname>&lt; expr const &amp;, typename <classname>result_of::as_child</classname>&lt; A const &gt;::type &gt; &gt; const</type><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type>proto::expr&lt; <classname>proto::tag::function</classname>, <classname>list1</classname>&lt; expr const &amp; &gt; &gt; const</type><description><para>Function call</para><para>
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing the function invocation of <computeroutput/>(*this)(). </para></returns></method><method name="operator()" cv="const"><type><classname>result_of::funop1</classname>&lt; expr const, <classname>default_domain</classname>, const A0 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop2</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop3</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1, const A2 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop4</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1, const A2, const A3 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 const &amp;</paramtype></parameter><parameter name="a3"><paramtype>A3 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group><copy-assignment><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A &amp;</paramtype><description><para>The rhs. </para></description></parameter><description><para>Assignment</para><para>
-
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing an assignment of <computeroutput>a</computeroutput> to <computeroutput>*this</computeroutput>. </para></returns></copy-assignment><copy-assignment><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></copy-assignment><method-group name="public static functions"><method name="make" cv=""><type>static expr const</type><template>
- <template-type-parameter name="A0"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><description><para>
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> object initialized with the specified arguments. </para></returns></method></method-group></struct-specialization><struct-specialization name="expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Args"/>
- </template><specialization><template-arg>Tag</template-arg><template-arg>Args</template-arg><template-arg>2</template-arg></specialization><purpose>Representation of a node in an expression tree. </purpose><description><para><computeroutput>proto::expr&lt;&gt;</computeroutput> is a node in an expression template tree. It is a container for its child sub-trees. It also serves as the terminal nodes of the tree.</para><para><computeroutput>Tag</computeroutput> is type that represents the operation encoded by this expression. It is typically one of the structs in the <computeroutput>boost::proto::tag</computeroutput> namespace, but it doesn't have to be. If the <computeroutput>Tag</computeroutput> type is <computeroutput>boost::proto::tag::terminal</computeroutput> then this <computeroutput>expr&lt;&gt;</computeroutput> type represents a leaf in the expression tree.</para><para><computeroutput>Args</computeroutput> is a type list representing the type of the children of this expression. It is an instantiati
on of one of <computeroutput>proto::list1&lt;&gt;</computeroutput>, <computeroutput>proto::list2&lt;&gt;</computeroutput>, etc. The child types must all themselves be either <computeroutput>expr&lt;&gt;</computeroutput> or <computeroutput>proto::expr&lt;&gt;&amp;</computeroutput>, unless the <computeroutput>Tag</computeroutput> type is <computeroutput>boost::proto::tag::terminal</computeroutput>, in which case <computeroutput>Args</computeroutput> must be <computeroutput>proto::term&lt;T&gt;</computeroutput>, where <computeroutput>T</computeroutput> can be any type.</para><para><computeroutput>proto::expr&lt;&gt;</computeroutput> is a valid Fusion random-access sequence, where the elements of the sequence are the child expressions. </para></description><struct name="result"><template>
- <template-type-parameter name="Sig"/>
- </template><description><para>Encodes the return type of <computeroutput>expr&lt;&gt;operator()</computeroutput>, for use with <computeroutput>boost::result_of&lt;&gt;</computeroutput> </para></description><typedef name="type"><type>result_of::funop&lt; Sig, expr, <classname>default_domain</classname> &gt;::type</type></typedef></struct><typedef name="proto_tag"><type>Tag</type></typedef><typedef name="proto_arity"><type>mpl::long_&lt; 2 &gt;</type></typedef><typedef name="proto_base_expr"><type>expr</type></typedef><typedef name="proto_args"><type>Args</type></typedef><typedef name="proto_domain"><type><classname>default_domain</classname></type></typedef><typedef name="fusion_tag"><type>proto::tag::proto_expr</type></typedef><typedef name="proto_is_expr_"><type>void</type></typedef><typedef name="proto_derived_expr"><type>expr</type></typedef><typedef name="proto_child0"><type>Args::child0</type></typedef><typedef name="proto_child_ref0"><type>Args::child_ref0</type></typedef><typedef name="proto_chil
d1"><type>Args::child1</type></typedef><typedef name="proto_child_ref1"><type>Args::child_ref1</type></typedef><typedef name="proto_child2"><type>void</type></typedef><typedef name="proto_child_ref2"><type>void</type></typedef><typedef name="proto_child3"><type>void</type></typedef><typedef name="proto_child_ref3"><type>void</type></typedef><typedef name="proto_child4"><type>void</type></typedef><typedef name="proto_child_ref4"><type>void</type></typedef><data-member name="child0"><type>proto_child0</type></data-member><data-member name="child1"><type>proto_child1</type></data-member><method-group name="public member functions"><method name="proto_base" cv="const"><type>expr const &amp;</type><description><para>
-</para></description><returns><para>*this </para></returns></method><method name="proto_base" cv=""><type>expr &amp;</type><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator[]" cv="const"><type>proto::expr&lt; <classname>proto::tag::subscript</classname>, <classname>list2</classname>&lt; expr const &amp;, typename <classname>result_of::as_child</classname>&lt; A &gt;::type &gt;&gt; const</type><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A &amp;</paramtype><description><para>The rhs. </para></description></parameter><description><para>Subscript</para><para>
-
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing <computeroutput>*this</computeroutput> subscripted with <computeroutput>a</computeroutput>. </para></returns></method><method name="operator[]" cv="const"><type>proto::expr&lt; <classname>proto::tag::subscript</classname>, <classname>list2</classname>&lt; expr const &amp;, typename <classname>result_of::as_child</classname>&lt; A const &gt;::type &gt; &gt; const</type><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type>proto::expr&lt; <classname>proto::tag::function</classname>, <classname>list1</classname>&lt; expr const &amp; &gt; &gt; const</type><description><para>Function call</para><para>
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing the function invocation of <computeroutput/>(*this)(). </para></returns></method><method name="operator()" cv="const"><type><classname>result_of::funop1</classname>&lt; expr const, <classname>default_domain</classname>, const A0 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop2</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop3</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1, const A2 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop4</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1, const A2, const A3 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 const &amp;</paramtype></parameter><parameter name="a3"><paramtype>A3 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group><copy-assignment><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A &amp;</paramtype><description><para>The rhs. </para></description></parameter><description><para>Assignment</para><para>
-
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing an assignment of <computeroutput>a</computeroutput> to <computeroutput>*this</computeroutput>. </para></returns></copy-assignment><copy-assignment><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></copy-assignment><method-group name="public static functions"><method name="make" cv=""><type>static expr const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><description><para>
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> object initialized with the specified arguments. </para></returns></method></method-group></struct-specialization><struct-specialization name="expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Args"/>
- </template><specialization><template-arg>Tag</template-arg><template-arg>Args</template-arg><template-arg>3</template-arg></specialization><purpose>Representation of a node in an expression tree. </purpose><description><para><computeroutput>proto::expr&lt;&gt;</computeroutput> is a node in an expression template tree. It is a container for its child sub-trees. It also serves as the terminal nodes of the tree.</para><para><computeroutput>Tag</computeroutput> is type that represents the operation encoded by this expression. It is typically one of the structs in the <computeroutput>boost::proto::tag</computeroutput> namespace, but it doesn't have to be. If the <computeroutput>Tag</computeroutput> type is <computeroutput>boost::proto::tag::terminal</computeroutput> then this <computeroutput>expr&lt;&gt;</computeroutput> type represents a leaf in the expression tree.</para><para><computeroutput>Args</computeroutput> is a type list representing the type of the children of this expression. It is an instantiati
on of one of <computeroutput>proto::list1&lt;&gt;</computeroutput>, <computeroutput>proto::list2&lt;&gt;</computeroutput>, etc. The child types must all themselves be either <computeroutput>expr&lt;&gt;</computeroutput> or <computeroutput>proto::expr&lt;&gt;&amp;</computeroutput>, unless the <computeroutput>Tag</computeroutput> type is <computeroutput>boost::proto::tag::terminal</computeroutput>, in which case <computeroutput>Args</computeroutput> must be <computeroutput>proto::term&lt;T&gt;</computeroutput>, where <computeroutput>T</computeroutput> can be any type.</para><para><computeroutput>proto::expr&lt;&gt;</computeroutput> is a valid Fusion random-access sequence, where the elements of the sequence are the child expressions. </para></description><struct name="result"><template>
- <template-type-parameter name="Sig"/>
- </template><description><para>Encodes the return type of <computeroutput>expr&lt;&gt;operator()</computeroutput>, for use with <computeroutput>boost::result_of&lt;&gt;</computeroutput> </para></description><typedef name="type"><type>result_of::funop&lt; Sig, expr, <classname>default_domain</classname> &gt;::type</type></typedef></struct><typedef name="proto_tag"><type>Tag</type></typedef><typedef name="proto_arity"><type>mpl::long_&lt; 3 &gt;</type></typedef><typedef name="proto_base_expr"><type>expr</type></typedef><typedef name="proto_args"><type>Args</type></typedef><typedef name="proto_domain"><type><classname>default_domain</classname></type></typedef><typedef name="fusion_tag"><type>proto::tag::proto_expr</type></typedef><typedef name="proto_is_expr_"><type>void</type></typedef><typedef name="proto_derived_expr"><type>expr</type></typedef><typedef name="proto_child0"><type>Args::child0</type></typedef><typedef name="proto_child_ref0"><type>Args::child_ref0</type></typedef><typedef name="proto_chil
d1"><type>Args::child1</type></typedef><typedef name="proto_child_ref1"><type>Args::child_ref1</type></typedef><typedef name="proto_child2"><type>Args::child2</type></typedef><typedef name="proto_child_ref2"><type>Args::child_ref2</type></typedef><typedef name="proto_child3"><type>void</type></typedef><typedef name="proto_child_ref3"><type>void</type></typedef><typedef name="proto_child4"><type>void</type></typedef><typedef name="proto_child_ref4"><type>void</type></typedef><data-member name="child0"><type>proto_child0</type></data-member><data-member name="child1"><type>proto_child1</type></data-member><data-member name="child2"><type>proto_child2</type></data-member><method-group name="public member functions"><method name="proto_base" cv="const"><type>expr const &amp;</type><description><para>
-</para></description><returns><para>*this </para></returns></method><method name="proto_base" cv=""><type>expr &amp;</type><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator[]" cv="const"><type>proto::expr&lt; <classname>proto::tag::subscript</classname>, <classname>list2</classname>&lt; expr const &amp;, typename <classname>result_of::as_child</classname>&lt; A &gt;::type &gt;&gt; const</type><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A &amp;</paramtype><description><para>The rhs. </para></description></parameter><description><para>Subscript</para><para>
-
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing <computeroutput>*this</computeroutput> subscripted with <computeroutput>a</computeroutput>. </para></returns></method><method name="operator[]" cv="const"><type>proto::expr&lt; <classname>proto::tag::subscript</classname>, <classname>list2</classname>&lt; expr const &amp;, typename <classname>result_of::as_child</classname>&lt; A const &gt;::type &gt; &gt; const</type><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type>proto::expr&lt; <classname>proto::tag::function</classname>, <classname>list1</classname>&lt; expr const &amp; &gt; &gt; const</type><description><para>Function call</para><para>
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing the function invocation of <computeroutput/>(*this)(). </para></returns></method><method name="operator()" cv="const"><type><classname>result_of::funop1</classname>&lt; expr const, <classname>default_domain</classname>, const A0 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop2</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop3</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1, const A2 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop4</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1, const A2, const A3 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 const &amp;</paramtype></parameter><parameter name="a3"><paramtype>A3 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group><copy-assignment><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A &amp;</paramtype><description><para>The rhs. </para></description></parameter><description><para>Assignment</para><para>
-
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing an assignment of <computeroutput>a</computeroutput> to <computeroutput>*this</computeroutput>. </para></returns></copy-assignment><copy-assignment><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></copy-assignment><method-group name="public static functions"><method name="make" cv=""><type>static expr const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 const &amp;</paramtype></parameter><description><para>
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> object initialized with the specified arguments. </para></returns></method></method-group></struct-specialization><struct-specialization name="expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Args"/>
- </template><specialization><template-arg>Tag</template-arg><template-arg>Args</template-arg><template-arg>4</template-arg></specialization><purpose>Representation of a node in an expression tree. </purpose><description><para><computeroutput>proto::expr&lt;&gt;</computeroutput> is a node in an expression template tree. It is a container for its child sub-trees. It also serves as the terminal nodes of the tree.</para><para><computeroutput>Tag</computeroutput> is type that represents the operation encoded by this expression. It is typically one of the structs in the <computeroutput>boost::proto::tag</computeroutput> namespace, but it doesn't have to be. If the <computeroutput>Tag</computeroutput> type is <computeroutput>boost::proto::tag::terminal</computeroutput> then this <computeroutput>expr&lt;&gt;</computeroutput> type represents a leaf in the expression tree.</para><para><computeroutput>Args</computeroutput> is a type list representing the type of the children of this expression. It is an instantiati
on of one of <computeroutput>proto::list1&lt;&gt;</computeroutput>, <computeroutput>proto::list2&lt;&gt;</computeroutput>, etc. The child types must all themselves be either <computeroutput>expr&lt;&gt;</computeroutput> or <computeroutput>proto::expr&lt;&gt;&amp;</computeroutput>, unless the <computeroutput>Tag</computeroutput> type is <computeroutput>boost::proto::tag::terminal</computeroutput>, in which case <computeroutput>Args</computeroutput> must be <computeroutput>proto::term&lt;T&gt;</computeroutput>, where <computeroutput>T</computeroutput> can be any type.</para><para><computeroutput>proto::expr&lt;&gt;</computeroutput> is a valid Fusion random-access sequence, where the elements of the sequence are the child expressions. </para></description><struct name="result"><template>
- <template-type-parameter name="Sig"/>
- </template><description><para>Encodes the return type of <computeroutput>expr&lt;&gt;operator()</computeroutput>, for use with <computeroutput>boost::result_of&lt;&gt;</computeroutput> </para></description><typedef name="type"><type>result_of::funop&lt; Sig, expr, <classname>default_domain</classname> &gt;::type</type></typedef></struct><typedef name="proto_tag"><type>Tag</type></typedef><typedef name="proto_arity"><type>mpl::long_&lt; 4 &gt;</type></typedef><typedef name="proto_base_expr"><type>expr</type></typedef><typedef name="proto_args"><type>Args</type></typedef><typedef name="proto_domain"><type><classname>default_domain</classname></type></typedef><typedef name="fusion_tag"><type>proto::tag::proto_expr</type></typedef><typedef name="proto_is_expr_"><type>void</type></typedef><typedef name="proto_derived_expr"><type>expr</type></typedef><typedef name="proto_child0"><type>Args::child0</type></typedef><typedef name="proto_child_ref0"><type>Args::child_ref0</type></typedef><typedef name="proto_chil
d1"><type>Args::child1</type></typedef><typedef name="proto_child_ref1"><type>Args::child_ref1</type></typedef><typedef name="proto_child2"><type>Args::child2</type></typedef><typedef name="proto_child_ref2"><type>Args::child_ref2</type></typedef><typedef name="proto_child3"><type>Args::child3</type></typedef><typedef name="proto_child_ref3"><type>Args::child_ref3</type></typedef><typedef name="proto_child4"><type>void</type></typedef><typedef name="proto_child_ref4"><type>void</type></typedef><data-member name="child0"><type>proto_child0</type></data-member><data-member name="child1"><type>proto_child1</type></data-member><data-member name="child2"><type>proto_child2</type></data-member><data-member name="child3"><type>proto_child3</type></data-member><method-group name="public member functions"><method name="proto_base" cv="const"><type>expr const &amp;</type><description><para>
-</para></description><returns><para>*this </para></returns></method><method name="proto_base" cv=""><type>expr &amp;</type><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator[]" cv="const"><type>proto::expr&lt; <classname>proto::tag::subscript</classname>, <classname>list2</classname>&lt; expr const &amp;, typename <classname>result_of::as_child</classname>&lt; A &gt;::type &gt;&gt; const</type><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A &amp;</paramtype><description><para>The rhs. </para></description></parameter><description><para>Subscript</para><para>
-
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing <computeroutput>*this</computeroutput> subscripted with <computeroutput>a</computeroutput>. </para></returns></method><method name="operator[]" cv="const"><type>proto::expr&lt; <classname>proto::tag::subscript</classname>, <classname>list2</classname>&lt; expr const &amp;, typename <classname>result_of::as_child</classname>&lt; A const &gt;::type &gt; &gt; const</type><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type>proto::expr&lt; <classname>proto::tag::function</classname>, <classname>list1</classname>&lt; expr const &amp; &gt; &gt; const</type><description><para>Function call</para><para>
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing the function invocation of <computeroutput/>(*this)(). </para></returns></method><method name="operator()" cv="const"><type><classname>result_of::funop1</classname>&lt; expr const, <classname>default_domain</classname>, const A0 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop2</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop3</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1, const A2 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop4</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1, const A2, const A3 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 const &amp;</paramtype></parameter><parameter name="a3"><paramtype>A3 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group><copy-assignment><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A &amp;</paramtype><description><para>The rhs. </para></description></parameter><description><para>Assignment</para><para>
-
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing an assignment of <computeroutput>a</computeroutput> to <computeroutput>*this</computeroutput>. </para></returns></copy-assignment><copy-assignment><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></copy-assignment><method-group name="public static functions"><method name="make" cv=""><type>static expr const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 const &amp;</paramtype></parameter><parameter name="a3"><paramtype>A3 const &amp;</paramtype></parameter><description><para>
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> object initialized with the specified arguments. </para></returns></method></method-group></struct-specialization><struct-specialization name="expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Args"/>
- </template><specialization><template-arg>Tag</template-arg><template-arg>Args</template-arg><template-arg>5</template-arg></specialization><purpose>Representation of a node in an expression tree. </purpose><description><para><computeroutput>proto::expr&lt;&gt;</computeroutput> is a node in an expression template tree. It is a container for its child sub-trees. It also serves as the terminal nodes of the tree.</para><para><computeroutput>Tag</computeroutput> is type that represents the operation encoded by this expression. It is typically one of the structs in the <computeroutput>boost::proto::tag</computeroutput> namespace, but it doesn't have to be. If the <computeroutput>Tag</computeroutput> type is <computeroutput>boost::proto::tag::terminal</computeroutput> then this <computeroutput>expr&lt;&gt;</computeroutput> type represents a leaf in the expression tree.</para><para><computeroutput>Args</computeroutput> is a type list representing the type of the children of this expression. It is an instantiati
on of one of <computeroutput>proto::list1&lt;&gt;</computeroutput>, <computeroutput>proto::list2&lt;&gt;</computeroutput>, etc. The child types must all themselves be either <computeroutput>expr&lt;&gt;</computeroutput> or <computeroutput>proto::expr&lt;&gt;&amp;</computeroutput>, unless the <computeroutput>Tag</computeroutput> type is <computeroutput>boost::proto::tag::terminal</computeroutput>, in which case <computeroutput>Args</computeroutput> must be <computeroutput>proto::term&lt;T&gt;</computeroutput>, where <computeroutput>T</computeroutput> can be any type.</para><para><computeroutput>proto::expr&lt;&gt;</computeroutput> is a valid Fusion random-access sequence, where the elements of the sequence are the child expressions. </para></description><struct name="result"><template>
- <template-type-parameter name="Sig"/>
- </template><description><para>Encodes the return type of <computeroutput>expr&lt;&gt;operator()</computeroutput>, for use with <computeroutput>boost::result_of&lt;&gt;</computeroutput> </para></description><typedef name="type"><type>result_of::funop&lt; Sig, expr, <classname>default_domain</classname> &gt;::type</type></typedef></struct><typedef name="proto_tag"><type>Tag</type></typedef><typedef name="proto_arity"><type>mpl::long_&lt; 5 &gt;</type></typedef><typedef name="proto_base_expr"><type>expr</type></typedef><typedef name="proto_args"><type>Args</type></typedef><typedef name="proto_domain"><type><classname>default_domain</classname></type></typedef><typedef name="fusion_tag"><type>proto::tag::proto_expr</type></typedef><typedef name="proto_is_expr_"><type>void</type></typedef><typedef name="proto_derived_expr"><type>expr</type></typedef><typedef name="proto_child0"><type>Args::child0</type></typedef><typedef name="proto_child_ref0"><type>Args::child_ref0</type></typedef><typedef name="proto_chil
d1"><type>Args::child1</type></typedef><typedef name="proto_child_ref1"><type>Args::child_ref1</type></typedef><typedef name="proto_child2"><type>Args::child2</type></typedef><typedef name="proto_child_ref2"><type>Args::child_ref2</type></typedef><typedef name="proto_child3"><type>Args::child3</type></typedef><typedef name="proto_child_ref3"><type>Args::child_ref3</type></typedef><typedef name="proto_child4"><type>Args::child4</type></typedef><typedef name="proto_child_ref4"><type>Args::child_ref4</type></typedef><data-member name="child0"><type>proto_child0</type></data-member><data-member name="child1"><type>proto_child1</type></data-member><data-member name="child2"><type>proto_child2</type></data-member><data-member name="child3"><type>proto_child3</type></data-member><data-member name="child4"><type>proto_child4</type></data-member><method-group name="public member functions"><method name="proto_base" cv="const"><type>expr const &amp;</type><description><para>
-</para></description><returns><para>*this </para></returns></method><method name="proto_base" cv=""><type>expr &amp;</type><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator[]" cv="const"><type>proto::expr&lt; <classname>proto::tag::subscript</classname>, <classname>list2</classname>&lt; expr const &amp;, typename <classname>result_of::as_child</classname>&lt; A &gt;::type &gt;&gt; const</type><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A &amp;</paramtype><description><para>The rhs. </para></description></parameter><description><para>Subscript</para><para>
-
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing <computeroutput>*this</computeroutput> subscripted with <computeroutput>a</computeroutput>. </para></returns></method><method name="operator[]" cv="const"><type>proto::expr&lt; <classname>proto::tag::subscript</classname>, <classname>list2</classname>&lt; expr const &amp;, typename <classname>result_of::as_child</classname>&lt; A const &gt;::type &gt; &gt; const</type><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type>proto::expr&lt; <classname>proto::tag::function</classname>, <classname>list1</classname>&lt; expr const &amp; &gt; &gt; const</type><description><para>Function call</para><para>
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing the function invocation of <computeroutput/>(*this)(). </para></returns></method><method name="operator()" cv="const"><type><classname>result_of::funop1</classname>&lt; expr const, <classname>default_domain</classname>, const A0 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop2</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop3</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1, const A2 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::funop4</classname>&lt; expr const, <classname>default_domain</classname>, const A0, const A1, const A2, const A3 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 const &amp;</paramtype></parameter><parameter name="a3"><paramtype>A3 const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group><copy-assignment><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A &amp;</paramtype><description><para>The rhs. </para></description></parameter><description><para>Assignment</para><para>
-
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> node representing an assignment of <computeroutput>a</computeroutput> to <computeroutput>*this</computeroutput>. </para></returns></copy-assignment><copy-assignment><template>
- <template-type-parameter name="A"/>
- </template><parameter name="a"><paramtype>A const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></copy-assignment><method-group name="public static functions"><method name="make" cv=""><type>static expr const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- <template-type-parameter name="A4"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 const &amp;</paramtype></parameter><parameter name="a3"><paramtype>A3 const &amp;</paramtype></parameter><parameter name="a4"><paramtype>A4 const &amp;</paramtype></parameter><description><para>
-</para></description><returns><para>A new <computeroutput>expr&lt;&gt;</computeroutput> object initialized with the specified arguments. </para></returns></method></method-group></struct-specialization><struct name="unexpr"><template>
- <template-type-parameter name="Expr"/>
- </template><purpose>Lets you inherit the interface of an expression while hiding from Proto the fact that the type is a Proto expression. </purpose><typedef name="proto_is_expr_"><type>int</type></typedef><method-group name="public member functions"/><constructor><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter></constructor></struct><namespace name="result_of"><struct name="funop0"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Domain"/>
- </template><purpose>A helper metafunction for computing the return type of <computeroutput>proto::expr&lt;&gt;operator()</computeroutput>. </purpose><typedef name="type"><type>proto::expr&lt; <classname>tag::function</classname>, <classname>list1</classname>&lt; Expr &amp; &gt;&gt;</type></typedef><method-group name="public static functions"><method name="call" cv=""><type>static type const</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter></method></method-group></struct><struct-specialization name="funop"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Domain"/>
- </template><specialization><template-arg>Expr()</template-arg><template-arg>This</template-arg><template-arg>Domain</template-arg></specialization><inherit access="public">boost::proto::result_of::funop0&lt; This, Domain &gt;</inherit><purpose>A helper metafunction for computing the return type of <computeroutput>proto::expr&lt;&gt;operator()</computeroutput>. </purpose></struct-specialization><struct-specialization name="funop"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Domain"/>
- </template><specialization><template-arg>Expr const ()</template-arg><template-arg>This</template-arg><template-arg>Domain</template-arg></specialization><inherit access="public">boost::proto::result_of::funop0&lt; Expr, Domain &gt;</inherit><purpose>A helper metafunction for computing the return type of <computeroutput>proto::expr&lt;&gt;operator()</computeroutput>. </purpose></struct-specialization><struct name="funop1"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Domain"/>
- <template-type-parameter name="A0"/>
- </template><purpose>A helper metafunction for computing the return type of <computeroutput>proto::expr&lt;&gt;operator()</computeroutput>. </purpose><typedef name="type"><type>proto::expr&lt; <classname>tag::function</classname>, <classname>list2</classname>&lt; Expr &amp;, typename <classname>proto::result_of::as_child</classname>&lt; A0, Domain &gt;::type &gt;&gt;</type></typedef><method-group name="public static functions"><method name="call" cv=""><type>static type const</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="a0"><paramtype>A0 &amp;</paramtype></parameter></method></method-group></struct><struct-specialization name="funop"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Domain"/>
- </template><specialization><template-arg>Expr(A0)</template-arg><template-arg>This</template-arg><template-arg>Domain</template-arg></specialization><inherit access="public">boost::proto::result_of::funop1&lt; This, Domain, remove_reference&lt; A0 &gt;::type &gt;</inherit><purpose>A helper metafunction for computing the return type of <computeroutput>proto::expr&lt;&gt;operator()</computeroutput>. </purpose></struct-specialization><struct-specialization name="funop"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Domain"/>
- </template><specialization><template-arg>Expr const (A0)</template-arg><template-arg>This</template-arg><template-arg>Domain</template-arg></specialization><inherit access="public">boost::proto::result_of::funop1&lt; Expr, Domain, A0 &gt;</inherit><purpose>A helper metafunction for computing the return type of <computeroutput>proto::expr&lt;&gt;operator()</computeroutput>. </purpose></struct-specialization><struct name="funop2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Domain"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><purpose>A helper metafunction for computing the return type of <computeroutput>proto::expr&lt;&gt;operator()</computeroutput>. </purpose><typedef name="type"><type>proto::expr&lt; <classname>tag::function</classname>, <classname>list3</classname>&lt; Expr &amp;, typename <classname>proto::result_of::as_child</classname>&lt; A0, Domain &gt;::type, typename <classname>proto::result_of::as_child</classname>&lt; A1, Domain &gt;::type &gt;&gt;</type></typedef><method-group name="public static functions"><method name="call" cv=""><type>static type const</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="a0"><paramtype>A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 &amp;</paramtype></parameter></method></method-group></struct><struct-specialization name="funop"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Domain"/>
- </template><specialization><template-arg>Expr(A0</template-arg><template-arg>A1)</template-arg><template-arg>This</template-arg><template-arg>Domain</template-arg></specialization><inherit access="public">boost::proto::result_of::funop2&lt; This, Domain, remove_reference&lt; A0 &gt;::type, remove_reference&lt; A1 &gt;::type &gt;</inherit><purpose>A helper metafunction for computing the return type of <computeroutput>proto::expr&lt;&gt;operator()</computeroutput>. </purpose></struct-specialization><struct-specialization name="funop"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Domain"/>
- </template><specialization><template-arg>Expr const (A0</template-arg><template-arg>A1)</template-arg><template-arg>This</template-arg><template-arg>Domain</template-arg></specialization><inherit access="public">boost::proto::result_of::funop2&lt; Expr, Domain, A0, A1 &gt;</inherit><purpose>A helper metafunction for computing the return type of <computeroutput>proto::expr&lt;&gt;operator()</computeroutput>. </purpose></struct-specialization><struct name="funop3"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Domain"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><purpose>A helper metafunction for computing the return type of <computeroutput>proto::expr&lt;&gt;operator()</computeroutput>. </purpose><typedef name="type"><type>proto::expr&lt; <classname>tag::function</classname>, <classname>list4</classname>&lt; Expr &amp;, typename <classname>proto::result_of::as_child</classname>&lt; A0, Domain &gt;::type, typename <classname>proto::result_of::as_child</classname>&lt; A1, Domain &gt;::type, typename <classname>proto::result_of::as_child</classname>&lt; A2, Domain &gt;::type &gt;&gt;</type></typedef><method-group name="public static functions"><method name="call" cv=""><type>static type const</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="a0"><paramtype>A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 &amp;</paramtype></parameter></method></method-group></struct><struct-specialization name="funop"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Domain"/>
- </template><specialization><template-arg>Expr(A0</template-arg><template-arg>A1</template-arg><template-arg>A2)</template-arg><template-arg>This</template-arg><template-arg>Domain</template-arg></specialization><inherit access="public">boost::proto::result_of::funop3&lt; This, Domain, remove_reference&lt; A0 &gt;::type, remove_reference&lt; A1 &gt;::type, remove_reference&lt; A2 &gt;::type &gt;</inherit><purpose>A helper metafunction for computing the return type of <computeroutput>proto::expr&lt;&gt;operator()</computeroutput>. </purpose></struct-specialization><struct-specialization name="funop"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Domain"/>
- </template><specialization><template-arg>Expr const (A0</template-arg><template-arg>A1</template-arg><template-arg>A2)</template-arg><template-arg>This</template-arg><template-arg>Domain</template-arg></specialization><inherit access="public">boost::proto::result_of::funop3&lt; Expr, Domain, A0, A1, A2 &gt;</inherit><purpose>A helper metafunction for computing the return type of <computeroutput>proto::expr&lt;&gt;operator()</computeroutput>. </purpose></struct-specialization><struct name="funop4"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Domain"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><purpose>A helper metafunction for computing the return type of <computeroutput>proto::expr&lt;&gt;operator()</computeroutput>. </purpose><typedef name="type"><type>proto::expr&lt; <classname>tag::function</classname>, <classname>list5</classname>&lt; Expr &amp;, typename <classname>proto::result_of::as_child</classname>&lt; A0, Domain &gt;::type, typename <classname>proto::result_of::as_child</classname>&lt; A1, Domain &gt;::type, typename <classname>proto::result_of::as_child</classname>&lt; A2, Domain &gt;::type, typename <classname>proto::result_of::as_child</classname>&lt; A3, Domain &gt;::type &gt;&gt;</type></typedef><method-group name="public static functions"><method name="call" cv=""><type>static type const</type><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="a0"><paramtype>A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 &amp;</paramtype></parameter><parameter nam
e="a3"><paramtype>A3 &amp;</paramtype></parameter></method></method-group></struct><struct-specialization name="funop"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Domain"/>
- </template><specialization><template-arg>Expr(A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>A3)</template-arg><template-arg>This</template-arg><template-arg>Domain</template-arg></specialization><inherit access="public">boost::proto::result_of::funop4&lt; This, Domain, remove_reference&lt; A0 &gt;::type, remove_reference&lt; A1 &gt;::type, remove_reference&lt; A2 &gt;::type, remove_reference&lt; A3 &gt;::type &gt;</inherit><purpose>A helper metafunction for computing the return type of <computeroutput>proto::expr&lt;&gt;operator()</computeroutput>. </purpose></struct-specialization><struct-specialization name="funop"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Domain"/>
- </template><specialization><template-arg>Expr const (A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>A3)</template-arg><template-arg>This</template-arg><template-arg>Domain</template-arg></specialization><inherit access="public">boost::proto::result_of::funop4&lt; Expr, Domain, A0, A1, A2, A3 &gt;</inherit><purpose>A helper metafunction for computing the return type of <computeroutput>proto::expr&lt;&gt;operator()</computeroutput>. </purpose></struct-specialization></namespace></namespace></namespace></header><header name="boost/proto/extends.hpp"><para>Macros and a base class for defining end-user expression types </para><namespace name="boost"><namespace name="proto"><struct name="is_proto_expr"><purpose>Empty type to be used as a dummy template parameter of POD expression wrappers. It allows argument-dependent lookup to find Proto's operator overloads. </purpose><description><para><computeroutput>proto::is_proto_expr</computeroutput> allows argument-depend
ent lookup to find Proto's operator overloads. For example:</para><para><programlisting> template&lt;typename T, typename Dummy = proto::is_proto_expr&gt;
- struct my_terminal
- {
- BOOST_PROTO_BASIC_EXTENDS(
- typename proto::terminal&lt;T&gt;::type
- , my_terminal&lt;T&gt;
- , default_domain
- )
- };
-
- // ...
- my_terminal&lt;int&gt; _1, _2;
- _1 + _2; // OK, uses proto::operator+
-</programlisting></para><para>Without the second <computeroutput>Dummy</computeroutput> template parameter, Proto's operator overloads would not be considered by name lookup. </para></description></struct><struct name="extends"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Derived"/>
- <template-type-parameter name="Domain"><default>default_domain</default></template-type-parameter>
- <template-type-parameter name="Tag"><default>typename Expr::proto_tag</default></template-type-parameter>
- </template><purpose>extends&lt;&gt; class template for adding behaviors to a Proto expression template </purpose><struct name="result"><template>
- <template-type-parameter name="Sig"/>
- </template><typedef name="type"><type>boost::result_of&lt; proto_domain(typename boost::proto::result_of::funop&lt; Sig, proto_derived_expr, proto_domain &gt;::type) &gt;::type</type></typedef></struct><data-member name="proto_expr_"><type>Expr</type></data-member><typedef name="proto_base_expr"><type>Expr::proto_base_expr</type></typedef><typedef name="proto_domain"><type>Domain</type></typedef><typedef name="proto_derived_expr"><type>Derived</type></typedef><typedef name="proto_tag"><type>proto_base_expr::proto_tag</type></typedef><typedef name="proto_args"><type>proto_base_expr::proto_args</type></typedef><typedef name="proto_arity"><type>proto_base_expr::proto_arity</type></typedef><typedef name="proto_address_of_hack_type_"><type>proto_base_expr::address_of_hack_type_</type></typedef><typedef name="proto_is_expr_"><type>void</type></typedef><typedef name="fusion_tag"><type>boost::proto::tag::proto_expr</type></typedef><typedef name="proto_child0"><type>proto_base_expr::proto_child0</type></typedef>
<typedef name="proto_child_ref0"><type>proto_base_expr::proto_child_ref0</type></typedef><typedef name="proto_child1"><type>proto_base_expr::proto_child1</type></typedef><typedef name="proto_child_ref1"><type>proto_base_expr::proto_child_ref1</type></typedef><typedef name="proto_child2"><type>proto_base_expr::proto_child2</type></typedef><typedef name="proto_child_ref2"><type>proto_base_expr::proto_child_ref2</type></typedef><typedef name="proto_child3"><type>proto_base_expr::proto_child3</type></typedef><typedef name="proto_child_ref3"><type>proto_base_expr::proto_child_ref3</type></typedef><typedef name="proto_child4"><type>proto_base_expr::proto_child4</type></typedef><typedef name="proto_child_ref4"><type>proto_base_expr::proto_child_ref4</type></typedef><method-group name="public member functions"><method name="proto_base" cv=""><type>proto_base_expr &amp;</type></method><method name="proto_base" cv="const"><type>proto_base_expr const &amp;</type></method><method name="conversion-operator" cv="const"><t
ype>proto_address_of_hack_type_</type></method></method-group><constructor/><constructor><parameter name="that"><paramtype><classname>extends</classname> const &amp;</paramtype></parameter></constructor><constructor><parameter name="expr_"><paramtype>Expr const &amp;</paramtype></parameter></constructor><method-group name="public static functions"><method name="make" cv=""><type>static proto_derived_expr const</type><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter></method></method-group></struct><struct-specialization name="extends"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Derived"/>
- <template-type-parameter name="Domain"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>Derived</template-arg><template-arg>Domain</template-arg><template-arg>tag::terminal</template-arg></specialization><purpose>extends&lt;&gt; class template for adding behaviors to a Proto expression template </purpose><struct name="result"><template>
- <template-type-parameter name="Sig"/>
- </template><typedef name="type"><type>boost::result_of&lt; proto_domain(typename boost::proto::result_of::funop&lt; Sig, proto_derived_expr, proto_domain &gt;::type) &gt;::type</type></typedef></struct><data-member name="proto_expr_"><type>Expr</type></data-member><typedef name="proto_base_expr"><type>Expr::proto_base_expr</type></typedef><typedef name="proto_domain"><type>Domain</type></typedef><typedef name="proto_derived_expr"><type>Derived</type></typedef><typedef name="proto_tag"><type>proto_base_expr::proto_tag</type></typedef><typedef name="proto_args"><type>proto_base_expr::proto_args</type></typedef><typedef name="proto_arity"><type>proto_base_expr::proto_arity</type></typedef><typedef name="proto_address_of_hack_type_"><type>proto_base_expr::address_of_hack_type_</type></typedef><typedef name="proto_is_expr_"><type>void</type></typedef><typedef name="fusion_tag"><type>boost::proto::tag::proto_expr</type></typedef><typedef name="proto_child0"><type>proto_base_expr::proto_child0</type></typedef>
<typedef name="proto_child_ref0"><type>proto_base_expr::proto_child_ref0</type></typedef><typedef name="proto_child1"><type>proto_base_expr::proto_child1</type></typedef><typedef name="proto_child_ref1"><type>proto_base_expr::proto_child_ref1</type></typedef><typedef name="proto_child2"><type>proto_base_expr::proto_child2</type></typedef><typedef name="proto_child_ref2"><type>proto_base_expr::proto_child_ref2</type></typedef><typedef name="proto_child3"><type>proto_base_expr::proto_child3</type></typedef><typedef name="proto_child_ref3"><type>proto_base_expr::proto_child_ref3</type></typedef><typedef name="proto_child4"><type>proto_base_expr::proto_child4</type></typedef><typedef name="proto_child_ref4"><type>proto_base_expr::proto_child_ref4</type></typedef><method-group name="public member functions"><method name="extends" cv=""><type/></method><method name="extends" cv=""><type/><parameter name="that"><paramtype><classname>extends</classname> const &amp;</paramtype></parameter></method><method name="exten
ds" cv=""><type/><parameter name="expr_"><paramtype>Expr const &amp;</paramtype></parameter></method><method name="proto_base" cv=""><type>proto_base_expr &amp;</type></method><method name="proto_base" cv="const"><type>proto_base_expr const &amp;</type></method><method name="conversion-operator" cv="const"><type>proto_address_of_hack_type_</type></method></method-group><method-group name="public static functions"><method name="make" cv=""><type>static proto_derived_expr const</type><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter></method></method-group></struct-specialization></namespace></namespace></header><header name="boost/proto/fusion.hpp"><para>Make any Proto expression a valid Fusion sequence </para><namespace name="boost"><namespace name="proto"><namespace name="functional"><struct name="flatten"><purpose>A PolymorphicFunctionObject type that returns a "flattened" view of a Proto expression tree. </purpose><description><para>A PolymorphicFunctionObject type that returns a "
flattened" view of a Proto expression tree. For a tree with a top-most node tag of type <computeroutput>T</computeroutput>, the elements of the flattened sequence are determined by recursing into each child node with the same tag type and returning those nodes of different type. So for instance, the Proto expression tree corresponding to the expression <computeroutput>a | b | c</computeroutput> has a flattened view with elements [a, b, c], even though the tree is grouped as <computeroutput>((a | b) | c)</computeroutput>. </para></description><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr)</template-arg></specialization><typedef name="type"><type><emphasis>unspecified</emphasis></type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter></method></method-group></struct><struct name="pop_front"><purpose>A PolymorphicFunctionObject type that invokes the <computeroutput>fusion::pop_front()</computeroutput> algorithm on its argument. </purpose><description><para>A PolymorphicFunctionObject type that invokes the <computeroutput>fusion::pop_front()</computeroutput> algorithm on its argument. This is useful for defining a CallableTransform like <computeroutput>pop_front(_)</computeroutput> which removes the first child from a Proto expression node. Such a transform might be used as the first argument to the <computeroutput>proto::fold&lt;&gt;</computeroutput> transform; that is, fold all but the first child. </para></description><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr)</template-arg></specialization><typedef name="type"><type>fusion::result_of::pop_front&lt; typename boost::remove_reference&lt; Expr &gt;::type const &gt;::type</type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>fusion::result_of::pop_front&lt; Expr const &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter></method></method-group></struct><struct name="reverse"><purpose>A PolymorphicFunctionObject type that invokes the <computeroutput>fusion::reverse()</computeroutput> algorithm on its argument. </purpose><description><para>A PolymorphicFunctionObject type that invokes the <computeroutput>fusion::reverse()</computeroutput> algorithm on its argument. This is useful for defining a CallableTransform like <computeroutput>reverse(_)</computeroutput> which reverses the order of the children of a Proto expression node. </para></description><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr)</template-arg></specialization><typedef name="type"><type>fusion::result_of::reverse&lt; typename boost::remove_reference&lt; Expr &gt;::type const &gt;::type</type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>fusion::result_of::reverse&lt; Expr const &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter></method></method-group></struct></namespace><namespace name="result_of"><struct name="flatten"><template>
- <template-type-parameter name="Expr"/>
- </template><typedef name="type"><type><emphasis>unspecified</emphasis></type></typedef></struct><struct-specialization name="flatten"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr &amp;</template-arg></specialization><typedef name="type"><type><emphasis>unspecified</emphasis></type></typedef></struct-specialization></namespace><function name="flatten"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter><purpose>A function that returns a "flattened" view of a Proto expression tree. </purpose><description><para>For a tree with a top-most node tag of type <computeroutput>T</computeroutput>, the elements of the flattened sequence are determined by recursing into each child node with the same tag type and returning those nodes of different type. So for instance, the Proto expression tree corresponding to the expression <computeroutput>a | b | c</computeroutput> has a flattened view with elements [a, b, c], even though the tree is grouped as <computeroutput>((a | b) | c)</computeroutput>. </para></description></function></namespace></namespace></header><header name="boost/proto/generate.hpp"><para>Contains definition of generate&lt;&gt; class template, which end users can specialize for generating domain-specific expression wrappers. </para><namespace name="boost"><namespace name="proto"><struct name="default_generator"
><purpose>A simple generator that passes an expression through unchanged. </purpose><description><para>Generators are intended for use as the first template parameter to the <computeroutput>domain&lt;&gt;</computeroutput> class template and control if and how expressions within that domain are to be customized. The <computeroutput>default_generator</computeroutput> makes no modifications to the expressions passed to it. </para></description><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr)</template-arg></specialization><typedef name="type"><type>Expr</type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>Expr const &amp;</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype><description><para>A Proto expression </para></description></parameter><description><para>
-
-</para></description><returns><para>expr </para></returns></method></method-group></struct><struct name="generator"><template>
- <template-nontype-parameter name="Extends"><type>template&lt; typename &gt; class</type></template-nontype-parameter>
- </template><purpose>A generator that wraps expressions passed to it in the specified extension wrapper. </purpose><description><para>Generators are intended for use as the first template parameter to the <computeroutput>domain&lt;&gt;</computeroutput> class template and control if and how expressions within that domain are to be customized. <computeroutput>generator&lt;&gt;</computeroutput> wraps each expression passed to it in the <computeroutput>Extends&lt;&gt;</computeroutput> wrapper. </para></description><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr &amp;)</template-arg></specialization><typedef name="type"><type>Extends&lt; Expr &gt;</type></typedef></struct-specialization><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr const &amp;)</template-arg></specialization><typedef name="type"><type>Extends&lt; Expr &gt;</type></typedef></struct-specialization><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr)</template-arg></specialization><typedef name="type"><type>Extends&lt; Expr &gt;</type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>Extends&lt; Expr &gt;</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype><description><para>A Proto expression </para></description></parameter><description><para>
-
-</para></description><returns><para>Extends&lt;Expr&gt;(expr) </para></returns></method></method-group></struct><struct name="pod_generator"><template>
- <template-nontype-parameter name="Extends"><type>template&lt; typename &gt; class</type></template-nontype-parameter>
- </template><purpose>A generator that wraps expressions passed to it in the specified extension wrapper and uses aggregate initialization for the wrapper. </purpose><description><para>Generators are intended for use as the first template parameter to the <computeroutput>domain&lt;&gt;</computeroutput> class template and control if and how expressions within that domain are to be customized. <computeroutput>pod_generator&lt;&gt;</computeroutput> wraps each expression passed to it in the <computeroutput>Extends&lt;&gt;</computeroutput> wrapper, and uses aggregate initialzation for the wrapped object. </para></description><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr &amp;)</template-arg></specialization><typedef name="type"><type>Extends&lt; Expr &gt;</type></typedef></struct-specialization><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr const &amp;)</template-arg></specialization><typedef name="type"><type>Extends&lt; Expr &gt;</type></typedef></struct-specialization><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr)</template-arg></specialization><typedef name="type"><type>Extends&lt; Expr &gt;</type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>Extends&lt; Expr &gt;</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype><description><para>The expression to wrap </para></description></parameter><description><para>
-
-</para></description><returns><para><computeroutput>Extends&lt;Expr&gt; that = {expr}; return that;</computeroutput> </para></returns></method></method-group></struct><struct name="by_value_generator"><purpose>A generator that replaces child nodes held by reference with ones held by value. Use with <computeroutput>compose_generators</computeroutput> to forward that result to another generator. </purpose><description><para>Generators are intended for use as the first template parameter to the <computeroutput>domain&lt;&gt;</computeroutput> class template and control if and how expressions within that domain are to be customized. <computeroutput>by_value_generator</computeroutput> ensures all child nodes are held by value. This generator is typically composed with a second generator for further processing, as <computeroutput>compose_generators&lt;by_value_generator, MyGenerator&gt;</computeroutput>. </para></description><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr &amp;)</template-arg></specialization><typedef name="type"><type><emphasis>unspecified</emphasis></type></typedef></struct-specialization><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr const &amp;)</template-arg></specialization><typedef name="type"><type><emphasis>unspecified</emphasis></type></typedef></struct-specialization><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr)</template-arg></specialization><typedef name="type"><type><emphasis>unspecified</emphasis></type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result&lt; void(Expr)&gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype><description><para>The expression to modify. </para></description></parameter><description><para>
-
-</para></description><returns><para><computeroutput>deep_copy(expr)</computeroutput> </para></returns></method></method-group></struct><struct name="compose_generators"><template>
- <template-type-parameter name="First"/>
- <template-type-parameter name="Second"/>
- </template><purpose>A composite generator that first applies one transform to an expression and then forwards the result on to another generator for further transformation. </purpose><description><para>Generators are intended for use as the first template parameter to the <computeroutput>domain&lt;&gt;</computeroutput> class template and control if and how expressions within that domain are to be customized. <computeroutput>compose_generators&lt;&gt;</computeroutput> is a composite generator that first applies one transform to an expression and then forwards the result on to another generator for further transformation. </para></description><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr &amp;)</template-arg></specialization><typedef name="type"><type>Second::template result&lt; void(typename First::template result&lt; void(Expr)&gt;::type)&gt;::type</type></typedef></struct-specialization><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr const &amp;)</template-arg></specialization><typedef name="type"><type>Second::template result&lt; void(typename First::template result&lt; void(Expr)&gt;::type)&gt;::type</type></typedef></struct-specialization><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr)</template-arg></specialization><typedef name="type"><type>Second::template result&lt; void(typename First::template result&lt; void(Expr)&gt;::type)&gt;::type</type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result&lt; void(Expr)&gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype><description><para>The expression to modify. </para></description></parameter><description><para>
-
-</para></description><returns><para>Second()(First()(expr)) </para></returns></method></method-group></struct></namespace></namespace></header><header name="boost/proto/literal.hpp"><para>The literal&lt;&gt; terminal wrapper, and the proto::lit() function for creating literal&lt;&gt; wrappers. </para><namespace name="boost"><namespace name="proto"><namespace name="utility"><struct name="literal"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="Domain"><default>default_domain</default></template-type-parameter>
- </template><inherit access="public">boost::proto::extends&lt; Expr, Derived, Domain, Tag &gt;</inherit><purpose>A simple wrapper for a terminal, provided for ease of use. </purpose><description><para>A simple wrapper for a terminal, provided for ease of use. In all cases, <computeroutput>literal&lt;X&gt; l(x);</computeroutput> is equivalent to <computeroutput>terminal&lt;X&gt;::type l = {x};</computeroutput>.</para><para>The <computeroutput>Domain</computeroutput> template parameter defaults to <computeroutput>proto::default_domain</computeroutput>. </para></description><typedef name="value_type"><type>terminal_type::proto_child_ref0::value_type</type></typedef><typedef name="reference"><type>terminal_type::proto_child_ref0::reference</type></typedef><typedef name="const_reference"><type>terminal_type::proto_child_ref0::const_reference</type></typedef><method-group name="public member functions"><method name="get" cv=""><type>reference</type></method><method name="get" cv="const"><type>const_reference</
type></method></method-group><constructor><template>
- <template-type-parameter name="U"/>
- </template><parameter name="u"><paramtype>U &amp;</paramtype></parameter></constructor><constructor><template>
- <template-type-parameter name="U"/>
- </template><parameter name="u"><paramtype>U const &amp;</paramtype></parameter></constructor><constructor><template>
- <template-type-parameter name="U"/>
- </template><parameter name="u"><paramtype><classname>literal</classname>&lt; U, Domain &gt; const &amp;</paramtype></parameter></constructor></struct></namespace><overloaded-function name="lit"><signature><type>literal&lt; T &amp; &gt; const</type><template>
- <template-type-parameter name="T"/>
- </template><parameter name="t"><paramtype>T &amp;</paramtype><description><para>The object to wrap. </para></description></parameter></signature><signature><type>literal&lt; T const &amp; &gt; const</type><template>
- <template-type-parameter name="T"/>
- </template><parameter name="t"><paramtype>T const &amp;</paramtype></parameter></signature><purpose>A helper function for creating a <computeroutput>literal&lt;&gt;</computeroutput> wrapper. </purpose><description><para>
-
-
-
-</para></description><returns><para>literal&lt;T &amp;&gt;(t) </para></returns><throws><simpara>Will not throw.</simpara></throws><notes><para>The returned value holds the argument by reference. </para></notes></overloaded-function></namespace></namespace></header><header name="boost/proto/make_expr.hpp"><para>Definition of the <computeroutput>make_expr()</computeroutput> and <computeroutput>unpack_expr()</computeroutput> utilities for building Proto expression nodes from child nodes or from a Fusion sequence of child nodes, respectively. </para><namespace name="boost"><namespace name="proto"><struct name="_make_expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Domain"><default>deduce_domain</default></template-type-parameter>
- </template><inherit access="public">boost::proto::callable</inherit><purpose>TODO document me. </purpose><struct name="result"><template>
- <template-type-parameter name="Sig"/>
- </template></struct><method-group name="public member functions"><method name="operator()" cv="const"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="A0"/>
- </template><parameter name="a0"><paramtype>A0 &amp;</paramtype></parameter></method><method name="operator()" cv="const"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><parameter name="a0"><paramtype>A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 &amp;</paramtype></parameter></method><method name="operator()" cv="const"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><parameter name="a0"><paramtype>A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 &amp;</paramtype></parameter></method><method name="operator()" cv="const"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><parameter name="a0"><paramtype>A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 &amp;</paramtype></parameter><parameter name="a3"><paramtype>A3 &amp;</paramtype></parameter></method><method name="operator()" cv="const"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- <template-type-parameter name="A4"/>
- </template><parameter name="a0"><paramtype>A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 &amp;</paramtype></parameter><parameter name="a3"><paramtype>A3 &amp;</paramtype></parameter><parameter name="a4"><paramtype>A4 &amp;</paramtype></parameter></method></method-group></struct><namespace name="functional"><struct name="make_expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Domain"><default>deduce_domain</default></template-type-parameter>
- </template><purpose>A callable function object equivalent to the <computeroutput>proto::make_expr()</computeroutput> function. </purpose><description><para>In all cases, <computeroutput>functional::make_expr&lt;Tag, Domain&gt;()(a0, ... aN)</computeroutput> is equivalent to <computeroutput>proto::make_expr&lt;Tag, Domain&gt;(a0, ... aN)</computeroutput>.</para><para><computeroutput>functional::make_expr&lt;Tag&gt;()(a0, ... aN)</computeroutput> is equivalent to <computeroutput>proto::make_expr&lt;Tag&gt;(a0, ... aN)</computeroutput>. </para></description><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="A0"/>
- </template><specialization><template-arg>This(A0)</template-arg></specialization><typedef name="type"><type><classname>result_of::make_expr</classname>&lt; Tag, Domain, A0 &gt;::type</type></typedef></struct-specialization><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><specialization><template-arg>This(A0</template-arg><template-arg>A1)</template-arg></specialization><typedef name="type"><type><classname>result_of::make_expr</classname>&lt; Tag, Domain, A0, A1 &gt;::type</type></typedef></struct-specialization><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><specialization><template-arg>This(A0</template-arg><template-arg>A1</template-arg><template-arg>A2)</template-arg></specialization><typedef name="type"><type><classname>result_of::make_expr</classname>&lt; Tag, Domain, A0, A1, A2 &gt;::type</type></typedef></struct-specialization><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><specialization><template-arg>This(A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>A3)</template-arg></specialization><typedef name="type"><type><classname>result_of::make_expr</classname>&lt; Tag, Domain, A0, A1, A2, A3 &gt;::type</type></typedef></struct-specialization><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- <template-type-parameter name="A4"/>
- </template><specialization><template-arg>This(A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>A3</template-arg><template-arg>A4)</template-arg></specialization><typedef name="type"><type><classname>result_of::make_expr</classname>&lt; Tag, Domain, A0, A1, A2, A3, A4 &gt;::type</type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type><classname>result_of::make_expr</classname>&lt; Tag, Domain, A0 const &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><description><para>Construct an expression node with tag type <computeroutput>Tag</computeroutput> and in the domain <computeroutput>Domain</computeroutput>.</para><para>
-</para></description><returns><para><computeroutput>proto::make_expr&lt;Tag, Domain&gt;(a0,...aN)</computeroutput> </para></returns></method><method name="operator()" cv="const"><type><classname>result_of::make_expr</classname>&lt; Tag, Domain, const A0, const A1 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><parameter name="a0"><paramtype>const A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>const A1 &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::make_expr</classname>&lt; Tag, Domain, const A0, const A1, const A2 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><parameter name="a0"><paramtype>const A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>const A1 &amp;</paramtype></parameter><parameter name="a2"><paramtype>const A2 &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::make_expr</classname>&lt; Tag, Domain, const A0, const A1, const A2, const A3 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><parameter name="a0"><paramtype>const A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>const A1 &amp;</paramtype></parameter><parameter name="a2"><paramtype>const A2 &amp;</paramtype></parameter><parameter name="a3"><paramtype>const A3 &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method><method name="operator()" cv="const"><type><classname>result_of::make_expr</classname>&lt; Tag, Domain, const A0, const A1, const A2, const A3, const A4 &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- <template-type-parameter name="A4"/>
- </template><parameter name="a0"><paramtype>const A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>const A1 &amp;</paramtype></parameter><parameter name="a2"><paramtype>const A2 &amp;</paramtype></parameter><parameter name="a3"><paramtype>const A3 &amp;</paramtype></parameter><parameter name="a4"><paramtype>const A4 &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group></struct><struct name="unpack_expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Domain"><default>deduce_domain</default></template-type-parameter>
- </template><purpose>A callable function object equivalent to the <computeroutput>proto::unpack_expr()</computeroutput> function. </purpose><description><para>In all cases, <computeroutput>functional::unpack_expr&lt;Tag, Domain&gt;()(seq)</computeroutput> is equivalent to <computeroutput>proto::unpack_expr&lt;Tag, Domain&gt;(seq)</computeroutput>.</para><para><computeroutput>functional::unpack_expr&lt;Tag&gt;()(seq)</computeroutput> is equivalent to <computeroutput>proto::unpack_expr&lt;Tag&gt;(seq)</computeroutput>. </para></description><struct name="result"><template>
- <template-type-parameter name="Sig"/>
- </template></struct><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Sequence"/>
- </template><specialization><template-arg>This(Sequence)</template-arg></specialization><typedef name="type"><type><classname>result_of::unpack_expr</classname>&lt; Tag, Domain, typename remove_reference&lt; Sequence &gt;::type &gt;::type</type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type><classname>result_of::unpack_expr</classname>&lt; Tag, Domain, Sequence const &gt;::type const</type><template>
- <template-type-parameter name="Sequence"/>
- </template><parameter name="sequence"><paramtype>Sequence const &amp;</paramtype><description><para>A Fusion Random Access Sequence </para></description></parameter><description><para>Construct an expression node with tag type <computeroutput>Tag</computeroutput> and in the domain <computeroutput>Domain</computeroutput>.</para><para>
-
-</para></description><returns><para><computeroutput>proto::unpack_expr&lt;Tag, Domain&gt;(sequence)</computeroutput> </para></returns></method></method-group></struct></namespace><namespace name="result_of"><struct name="make_expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"><default>void</default></template-type-parameter>
- <template-type-parameter name="A2"><default>void</default></template-type-parameter>
- <template-type-parameter name="A3"><default>void</default></template-type-parameter>
- <template-type-parameter name="A4"><default>void</default></template-type-parameter>
- <template-type-parameter name="Void1"><default>void</default></template-type-parameter>
- <template-type-parameter name="Void2"><default>void</default></template-type-parameter>
- </template><purpose>Metafunction that computes the return type of the <computeroutput>make_expr()</computeroutput> function, with a domain deduced from the domains of the children. </purpose><description><para>Use the <computeroutput>result_of::make_expr&lt;&gt;</computeroutput> metafunction to compute the return type of the <computeroutput>make_expr()</computeroutput> function.</para><para>In this specialization, the domain is deduced from the domains of the child types. (If <computeroutput>is_domain&lt;A0&gt;::value</computeroutput> is <computeroutput>true</computeroutput>, then another specialization is selected.) </para></description><typedef name="type"><description><para>Same as <computeroutput>result_of::make_expr&lt;Tag, D, A0, ... AN&gt;::type</computeroutput> where <computeroutput>D</computeroutput> is the deduced domain, which is calculated as follows:</para><para>For each <computeroutput>x</computeroutput> in <computeroutput>[0,N)</computeroutput> (proceeding in order beginning with <compute
routput>x=0</computeroutput>), if <computeroutput>domain_of&lt;Ax&gt;::type</computeroutput> is not <computeroutput>default_domain</computeroutput>, then <computeroutput>D</computeroutput> is <computeroutput>domain_of&lt;Ax&gt;::type</computeroutput>. Otherwise, <computeroutput>D</computeroutput> is <computeroutput>default_domain</computeroutput>. </para></description><type><emphasis>unspecified</emphasis></type></typedef></struct><struct-specialization name="make_expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Domain"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- <template-type-parameter name="A4"/>
- </template><specialization><template-arg>Tag</template-arg><template-arg>Domain</template-arg><template-arg>A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>A3</template-arg><template-arg>A4</template-arg><template-arg>typename Domain::proto_is_domain_</template-arg></specialization><purpose>Metafunction that computes the return type of the <computeroutput>make_expr()</computeroutput> function, within the specified domain. </purpose><description><para>Use the <computeroutput>result_of::make_expr&lt;&gt;</computeroutput> metafunction to compute the return type of the <computeroutput>make_expr()</computeroutput> function. </para></description><typedef name="type"><description><para>If <computeroutput>Tag</computeroutput> is <computeroutput>tag::terminal</computeroutput>, then <computeroutput>type</computeroutput> is a typedef for <computeroutput>boost::result_of&lt;Domain(expr&lt;tag::terminal, term&lt;A0&gt; &gt;)&gt;::type</computeroutput>.</para><para>Otherwi
se, <computeroutput>type</computeroutput> is a typedef for <computeroutput>boost::result_of&lt;Domain(expr&lt;Tag, listN&lt; as_child&lt;A0&gt;::type, ... as_child&lt;AN&gt;::type&gt;) &gt;::type</computeroutput>, where <computeroutput>N</computeroutput> is the number of non-void template arguments, and <computeroutput>as_child&lt;A&gt;::type</computeroutput> is evaluated as follows:</para><para><itemizedlist>
-<listitem><para>If <computeroutput>is_expr&lt;A&gt;::value</computeroutput> is <computeroutput>true</computeroutput>, then the child type is <computeroutput>A</computeroutput>. </para></listitem>
-<listitem><para>If <computeroutput>A</computeroutput> is <computeroutput>B &amp;</computeroutput> or <computeroutput>cv boost::reference_wrapper&lt;B&gt;</computeroutput>, and <computeroutput>is_expr&lt;B&gt;::value</computeroutput> is <computeroutput>true</computeroutput>, then the child type is <computeroutput>B &amp;</computeroutput>. </para></listitem>
-<listitem><para>If <computeroutput>is_expr&lt;A&gt;::value</computeroutput> is <computeroutput>false</computeroutput>, then the child type is <computeroutput>boost::result_of&lt;Domain(expr&lt;tag::terminal, term&lt;A&gt; &gt; )&gt;::type</computeroutput>. </para></listitem>
-<listitem><para>If <computeroutput>A</computeroutput> is <computeroutput>B &amp;</computeroutput> or <computeroutput>cv boost::reference_wrapper&lt;B&gt;</computeroutput>, and <computeroutput>is_expr&lt;B&gt;::value</computeroutput> is <computeroutput>false</computeroutput>, then the child type is <computeroutput>boost::result_of&lt;Domain(expr&lt;tag::terminal, term&lt;B &amp;&gt; &gt; )&gt;::type</computeroutput>. </para></listitem>
-</itemizedlist>
-</para></description><type><emphasis>unspecified</emphasis></type></typedef></struct-specialization><struct name="unpack_expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Sequence"/>
- <template-type-parameter name="Void1"><default>void</default></template-type-parameter>
- <template-type-parameter name="Void2"><default>void</default></template-type-parameter>
- </template><purpose>Metafunction that computes the return type of the <computeroutput>unpack_expr()</computeroutput> function, with a domain deduced from the domains of the children. </purpose><description><para>Use the <computeroutput>result_of::unpack_expr&lt;&gt;</computeroutput> metafunction to compute the return type of the <computeroutput>unpack_expr()</computeroutput> function.</para><para><computeroutput>Sequence</computeroutput> is a Fusion Random Access Sequence.</para><para>In this specialization, the domain is deduced from the domains of the child types. (If <computeroutput>is_domain&lt;Sequence&gt;::value</computeroutput> is <computeroutput>true</computeroutput>, then another specialization is selected.) </para></description><typedef name="type"><description><para>Same as <computeroutput>result_of::make_expr&lt;Tag, fusion::value_at&lt;Sequence, 0&gt;::type, ... fusion::value_at&lt;Sequence, N-1&gt;::type&gt;::type</computeroutput>, where <computeroutput>N</computeroutput> is the size of <c
omputeroutput>Sequence</computeroutput>. </para></description><type><emphasis>unspecified</emphasis></type></typedef></struct><struct-specialization name="unpack_expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Domain"/>
- <template-type-parameter name="Sequence"/>
- </template><specialization><template-arg>Tag</template-arg><template-arg>Domain</template-arg><template-arg>Sequence</template-arg><template-arg>typename Domain::proto_is_domain_</template-arg></specialization><purpose>Metafunction that computes the return type of the <computeroutput>unpack_expr()</computeroutput> function, within the specified domain. </purpose><description><para>Use the <computeroutput>result_of::make_expr&lt;&gt;</computeroutput> metafunction to compute the return type of the <computeroutput>make_expr()</computeroutput> function. </para></description><typedef name="type"><description><para>Same as <computeroutput>result_of::make_expr&lt;Tag, Domain, fusion::value_at&lt;Sequence, 0&gt;::type, ... fusion::value_at&lt;Sequence, N-1&gt;::type&gt;::type</computeroutput>, where <computeroutput>N</computeroutput> is the size of <computeroutput>Sequence</computeroutput>. </para></description><type><emphasis>unspecified</emphasis></type></typedef></struct-specialization></namespace><overloade
d-function name="make_expr"><signature><type>lazy_disable_if&lt; is_domain&lt; A0 &gt;, <classname>result_of::make_expr</classname>&lt; Tag, A0 const &gt;&gt;::type const</type><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="A0"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter></signature><signature><type><classname>result_of::make_expr</classname>&lt; Tag, Domain, B0 const &gt;::type const</type><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Domain"/>
- <template-type-parameter name="B0"/>
- </template><parameter name="b0"><paramtype>B0 const &amp;</paramtype></parameter></signature><signature><type>lazy_disable_if&lt; is_domain&lt; A0 &gt;, <classname>result_of::make_expr</classname>&lt; Tag, const A0, const A1 &gt;&gt;::type const</type><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><parameter name="a0"><paramtype>const A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>const A1 &amp;</paramtype></parameter></signature><signature><type><classname>result_of::make_expr</classname>&lt; Tag, Domain, const B0, const B1 &gt;::type const</type><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Domain"/>
- <template-type-parameter name="B0"/>
- <template-type-parameter name="B1"/>
- </template><parameter name="b0"><paramtype>const B0 &amp;</paramtype></parameter><parameter name="b1"><paramtype>const B1 &amp;</paramtype></parameter></signature><signature><type>lazy_disable_if&lt; is_domain&lt; A0 &gt;, <classname>result_of::make_expr</classname>&lt; Tag, const A0, const A1, const A2 &gt;&gt;::type const</type><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><parameter name="a0"><paramtype>const A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>const A1 &amp;</paramtype></parameter><parameter name="a2"><paramtype>const A2 &amp;</paramtype></parameter></signature><signature><type><classname>result_of::make_expr</classname>&lt; Tag, Domain, const B0, const B1, const B2 &gt;::type const</type><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Domain"/>
- <template-type-parameter name="B0"/>
- <template-type-parameter name="B1"/>
- <template-type-parameter name="B2"/>
- </template><parameter name="b0"><paramtype>const B0 &amp;</paramtype></parameter><parameter name="b1"><paramtype>const B1 &amp;</paramtype></parameter><parameter name="b2"><paramtype>const B2 &amp;</paramtype></parameter></signature><signature><type>lazy_disable_if&lt; is_domain&lt; A0 &gt;, <classname>result_of::make_expr</classname>&lt; Tag, const A0, const A1, const A2, const A3 &gt;&gt;::type const</type><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><parameter name="a0"><paramtype>const A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>const A1 &amp;</paramtype></parameter><parameter name="a2"><paramtype>const A2 &amp;</paramtype></parameter><parameter name="a3"><paramtype>const A3 &amp;</paramtype></parameter></signature><signature><type><classname>result_of::make_expr</classname>&lt; Tag, Domain, const B0, const B1, const B2, const B3 &gt;::type const</type><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Domain"/>
- <template-type-parameter name="B0"/>
- <template-type-parameter name="B1"/>
- <template-type-parameter name="B2"/>
- <template-type-parameter name="B3"/>
- </template><parameter name="b0"><paramtype>const B0 &amp;</paramtype></parameter><parameter name="b1"><paramtype>const B1 &amp;</paramtype></parameter><parameter name="b2"><paramtype>const B2 &amp;</paramtype></parameter><parameter name="b3"><paramtype>const B3 &amp;</paramtype></parameter></signature><signature><type>lazy_disable_if&lt; is_domain&lt; A0 &gt;, <classname>result_of::make_expr</classname>&lt; Tag, const A0, const A1, const A2, const A3, const A4 &gt;&gt;::type const</type><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- <template-type-parameter name="A4"/>
- </template><parameter name="a0"><paramtype>const A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>const A1 &amp;</paramtype></parameter><parameter name="a2"><paramtype>const A2 &amp;</paramtype></parameter><parameter name="a3"><paramtype>const A3 &amp;</paramtype></parameter><parameter name="a4"><paramtype>const A4 &amp;</paramtype></parameter></signature><signature><type><classname>result_of::make_expr</classname>&lt; Tag, Domain, const B0, const B1, const B2, const B3, const B4 &gt;::type const</type><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Domain"/>
- <template-type-parameter name="B0"/>
- <template-type-parameter name="B1"/>
- <template-type-parameter name="B2"/>
- <template-type-parameter name="B3"/>
- <template-type-parameter name="B4"/>
- </template><parameter name="b0"><paramtype>const B0 &amp;</paramtype></parameter><parameter name="b1"><paramtype>const B1 &amp;</paramtype></parameter><parameter name="b2"><paramtype>const B2 &amp;</paramtype></parameter><parameter name="b3"><paramtype>const B3 &amp;</paramtype></parameter><parameter name="b4"><paramtype>const B4 &amp;</paramtype></parameter></signature><purpose>Construct an expression of the requested tag type with a domain and with the specified arguments as children. </purpose><description><para>This function template may be invoked either with or without specifying a <computeroutput>Domain</computeroutput> argument. If no domain is specified, the domain is deduced by examining in order the domains of the given arguments and taking the first that is not <computeroutput>default_domain</computeroutput>, if any such domain exists, or <computeroutput>default_domain</computeroutput> otherwise.</para><para>Let <computeroutput>wrap_(x)</computeroutput> be defined such that: <itemizedlis
t>
-<listitem><para>If <computeroutput>x</computeroutput> is a <computeroutput>boost::reference_wrapper&lt;&gt;</computeroutput>, <computeroutput>wrap_(x)</computeroutput> is equivalent to <computeroutput>as_child&lt;Domain&gt;(x.get())</computeroutput>. </para></listitem>
-<listitem><para>Otherwise, <computeroutput>wrap_(x)</computeroutput> is equivalent to <computeroutput>as_expr&lt;Domain&gt;(x)</computeroutput>.</para></listitem>
-</itemizedlist>
-Let <computeroutput>make_&lt;Tag&gt;(b0,...bN)</computeroutput> be defined as <computeroutput>expr&lt;Tag, listN&lt;B0,...BN&gt; &gt;::make(b0,...bN)</computeroutput> where <computeroutput>Bx</computeroutput> is the type of <computeroutput>bx</computeroutput>.</para><para>
-</para></description><returns><para><computeroutput>Domain()(make_&lt;Tag&gt;(wrap_(a0),...wrap_(aN)))</computeroutput>. </para></returns></overloaded-function><overloaded-function name="unpack_expr"><signature><type>lazy_disable_if&lt; is_domain&lt; Sequence &gt;, <classname>result_of::unpack_expr</classname>&lt; Tag, Sequence const &gt;&gt;::type const</type><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Sequence"/>
- </template><parameter name="sequence"><paramtype>Sequence const &amp;</paramtype><description><para>a Fusion Random Access Sequence. </para></description></parameter></signature><signature><type><classname>result_of::unpack_expr</classname>&lt; Tag, Domain, Sequence2 const &gt;::type const</type><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Domain"/>
- <template-type-parameter name="Sequence2"/>
- </template><parameter name="sequence2"><paramtype>Sequence2 const &amp;</paramtype></parameter></signature><purpose>Construct an expression of the requested tag type with a domain and with childres from the specified Fusion Random Access Sequence. </purpose><description><para>This function template may be invoked either with or without specifying a <computeroutput>Domain</computeroutput> argument. If no domain is specified, the domain is deduced by examining in order the domains of the elements of <computeroutput>sequence</computeroutput> and taking the first that is not <computeroutput>default_domain</computeroutput>, if any such domain exists, or <computeroutput>default_domain</computeroutput> otherwise.</para><para>Let <computeroutput>wrap_&lt;N&gt;(s)</computeroutput>, where <computeroutput>s</computeroutput> has type <computeroutput>S</computeroutput>, be defined such that: <itemizedlist>
-<listitem><para>If <computeroutput>fusion::value_at&lt;S,N&gt;::type</computeroutput> is a reference, <computeroutput>wrap_&lt;N&gt;(s)</computeroutput> is equivalent to <computeroutput>as_child&lt;Domain&gt;(fusion::at_c&lt;N&gt;(s))</computeroutput>. </para></listitem>
-<listitem><para>Otherwise, <computeroutput>wrap_&lt;N&gt;(s)</computeroutput> is equivalent to <computeroutput>as_expr&lt;Domain&gt;(fusion::at_c&lt;N&gt;(s))</computeroutput>.</para></listitem>
-</itemizedlist>
-Let <computeroutput>make_&lt;Tag&gt;(b0,...bN)</computeroutput> be defined as <computeroutput>expr&lt;Tag, listN&lt;B0,...BN&gt; &gt;::make(b0,...bN)</computeroutput> where <computeroutput>Bx</computeroutput> is the type of <computeroutput>bx</computeroutput>.</para><para>
-
-</para></description><returns><para><computeroutput>Domain()(make_&lt;Tag&gt;(wrap_&lt;0&gt;(s),...wrap_&lt;N-1&gt;(S)))</computeroutput>, where N is the size of <computeroutput>Sequence</computeroutput>. </para></returns></overloaded-function><overloaded-function name="implicit_expr"><signature><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="A0"/>
- </template><parameter name="a0"><paramtype>A0 &amp;</paramtype></parameter></signature><signature><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><parameter name="a0"><paramtype>A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 &amp;</paramtype></parameter></signature><signature><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><parameter name="a0"><paramtype>A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 &amp;</paramtype></parameter></signature><signature><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><parameter name="a0"><paramtype>A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 &amp;</paramtype></parameter><parameter name="a3"><paramtype>A3 &amp;</paramtype></parameter></signature><signature><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- <template-type-parameter name="A4"/>
- </template><parameter name="a0"><paramtype>A0 &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 &amp;</paramtype></parameter><parameter name="a3"><paramtype>A3 &amp;</paramtype></parameter><parameter name="a4"><paramtype>A4 &amp;</paramtype></parameter></signature><purpose>Return a proxy object that holds its arguments by reference and is implicitly convertible to an expression. </purpose></overloaded-function></namespace></namespace></header><header name="boost/proto/matches.hpp"><para>Contains definition of matches&lt;&gt; metafunction for determining if a given expression matches a given pattern. </para><namespace name="boost"><namespace name="proto"><struct name="_"><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A wildcard grammar element that matches any expression, and a transform that returns the current expression unchanged. </purpose><description><para>The wild
card type, <computeroutput>_</computeroutput>, is a grammar element such that <computeroutput>matches&lt;E,_&gt;::value</computeroutput> is <computeroutput>true</computeroutput> for any expression type <computeroutput>E</computeroutput>.</para><para>The wildcard can also be used as a stand-in for a template argument when matching terminals. For instance, the following is a grammar that will match any <computeroutput>std::complex&lt;&gt;</computeroutput> terminal:</para><para><programlisting> BOOST_MPL_ASSERT((
- matches&lt;
- terminal&lt;std::complex&lt;double&gt; &gt;::type
- , terminal&lt;std::complex&lt; _ &gt; &gt;
- &gt;
- ));
-</programlisting></para><para>When used as a transform, <computeroutput>_</computeroutput> returns the current expression unchanged. For instance, in the following, <computeroutput>_</computeroutput> is used with the <computeroutput>fold&lt;&gt;</computeroutput> transform to fold the children of a node:</para><para><programlisting> struct CountChildren
- : or_&lt;
- // Terminals have no children
- when&lt;terminal&lt;_&gt;, mpl::int_&lt;0&gt;()&gt;
- // Use fold&lt;&gt; to count the children of non-terminals
- , otherwise&lt;
- fold&lt;
- _ // &lt;-- fold the current expression
- , mpl::int_&lt;0&gt;()
- , mpl::plus&lt;_state, mpl::int_&lt;1&gt; &gt;()
- &gt;
- &gt;
- &gt;
- {};
-</programlisting> </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type>Expr</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>impl::expr_param</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>An expression </para></description></parameter><parameter name=""><paramtype>typename impl::state_param</paramtype></parameter><parameter name=""><paramtype>typename impl::data_param</paramtype></parameter><description><para>
-
-</para></description><returns><para><computeroutput>expr</computeroutput> </para></returns></method></method-group></struct><typedef name="proto_base_expr"><type><classname>_</classname></type></typedef></struct><namespace name="control"><struct name="not_"><template>
- <template-type-parameter name="Grammar"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>Inverts the set of expressions matched by a grammar. When used as a transform, <computeroutput>not_&lt;&gt;</computeroutput> returns the current expression unchanged. </purpose><description><para>If an expression type <computeroutput>E</computeroutput> does not match a grammar <computeroutput>G</computeroutput>, then <computeroutput>E</computeroutput> does match <computeroutput>not_&lt;G&gt;</computeroutput>. For example, <computeroutput>not_&lt;terminal&lt;_&gt; &gt;</computeroutput> will match any non-terminal. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type>Expr</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>impl::expr_param</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>An expression </para></description></parameter><parameter name=""><paramtype>typename impl::state_param</paramtype></parameter><parameter name=""><paramtype>typename impl::data_param</paramtype></parameter><description><para>
-
-
-</para></description><requires><para><computeroutput>matches&lt;Expr,not_&gt;::value</computeroutput> is <computeroutput>true</computeroutput>. </para></requires><returns><para><computeroutput>expr</computeroutput> </para></returns></method></method-group></struct><typedef name="proto_base_expr"><type><classname>not_</classname></type></typedef></struct><struct name="if_"><template>
- <template-type-parameter name="If"/>
- <template-type-parameter name="Then"><default>_</default></template-type-parameter>
- <template-type-parameter name="Else"><default>not_&lt;_&gt;</default></template-type-parameter>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>Used to select one grammar or another based on the result of a compile-time Boolean. When used as a transform, <computeroutput>if_&lt;&gt;</computeroutput> selects between two transforms based on a compile-time Boolean. </purpose><description><para>When <computeroutput>if_&lt;If,Then,Else&gt;</computeroutput> is used as a grammar, <computeroutput>If</computeroutput> must be a Proto transform and <computeroutput>Then</computeroutput> and <computeroutput>Else</computeroutput> must be grammars. An expression type <computeroutput>E</computeroutput> matches <computeroutput>if_&lt;If,Then,Else&gt;</computeroutput> if <computeroutput>when&lt;_,If&gt;::result&lt;void(E,int,int)&gt;::type::value</computeroutput> is <computeroutput>true</computeroutput> and <computeroutput>E</computeroutput> matches <computeroutput>U</computeroutput>; or, if <computeroutput>when&lt;_,If&gt;::result&lt;void(E,int,int)&gt
;::type::value</computeroutput> is <computeroutput>false</computeroutput> and <computeroutput>E</computeroutput> matches <computeroutput>V</computeroutput>.</para><para>The template parameter <computeroutput>Then</computeroutput> defaults to <computeroutput>_</computeroutput> and <computeroutput>Else</computeroutput> defaults to <computeroutput>not&lt;_&gt;</computeroutput>, so an expression type <computeroutput>E</computeroutput> will match <computeroutput>if_&lt;If&gt;</computeroutput> if and only if <computeroutput>when&lt;_,If&gt;::result&lt;void(E,int,int)&gt;::type::value</computeroutput> is <computeroutput>true</computeroutput>.</para><para><programlisting> // A grammar that only matches integral terminals,
- // using is_integral&lt;&gt; from Boost.Type_traits.
- struct IsIntegral
- : and_&lt;
- terminal&lt;_&gt;
- , if_&lt; is_integral&lt;_value&gt;() &gt;
- &gt;
- {};
-</programlisting></para><para>When <computeroutput>if_&lt;If,Then,Else&gt;</computeroutput> is used as a transform, <computeroutput>If</computeroutput>, <computeroutput>Then</computeroutput> and <computeroutput>Else</computeroutput> must be Proto transforms. When applying the transform to an expression <computeroutput>E</computeroutput>, state <computeroutput>S</computeroutput> and data <computeroutput>V</computeroutput>, if <computeroutput>when&lt;_,If&gt;::result&lt;void(E,S,V)&gt;::type::value</computeroutput> is <computeroutput>true</computeroutput> then the <computeroutput>Then</computeroutput> transform is applied; otherwise the <computeroutput>Else</computeroutput> transform is applied.</para><para><programlisting> // Match a terminal. If the terminal is integral, return
- // mpl::true_; otherwise, return mpl::false_.
- struct IsIntegral2
- : when&lt;
- terminal&lt;_&gt;
- , if_&lt;
- is_integral&lt;_value&gt;()
- , mpl::true_()
- , mpl::false_()
- &gt;
- &gt;
- {};
-</programlisting> </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="condition"><type><classname>when</classname>&lt; <classname>_</classname>, If &gt;::template <classname>impl</classname>&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="which"><type>mpl::if_c&lt; remove_reference&lt; condition &gt;::type::value, <classname>when</classname>&lt; <classname>_</classname>, Then &gt;, <classname>when</classname>&lt; <classname>_</classname>, Else &gt;&gt;::type</type></typedef><typedef name="result_type"><type>which::template <classname>impl</classname>&lt; Expr, State, Data &gt;::result_type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>An expression </para></description></parameter><parameter name="state"><paramtype>typename impl::state_param</paramtype><description><para>T
he current state </para></description></parameter><parameter name="data"><paramtype>typename impl::data_param</paramtype><description><para>A data of arbitrary type </para></description></parameter><description><para>
-
-</para></description><returns><para><computeroutput>which::impl&lt;Expr, State, Data&gt;()(expr, state, data)</computeroutput> </para></returns></method></method-group></struct><typedef name="proto_base_expr"><type><classname>if_</classname></type></typedef></struct><struct name="or_"><template>
- <template-type-parameter name="G0"/>
- <template-type-parameter name="G1"/>
- <template-type-parameter name="G2"/>
- <template-type-parameter name="G3"/>
- <template-type-parameter name="G4"/>
- <template-type-parameter name="G5"/>
- <template-type-parameter name="G6"/>
- <template-type-parameter name="G7"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>For matching one of a set of alternate grammars. Alternates tried in order to avoid ambiguity. When used as a transform, <computeroutput>or_&lt;&gt;</computeroutput> applies the transform associated with the first grammar that matches the expression. </purpose><description><para>An expression type <computeroutput>E</computeroutput> matches <computeroutput>or_&lt;B0,B1,...Bn&gt;</computeroutput> if <computeroutput>E</computeroutput> matches any <computeroutput>Bx</computeroutput> for <computeroutput>x</computeroutput> in <computeroutput>[0,n)</computeroutput>.</para><para>When applying <computeroutput>or_&lt;B0,B1,...Bn&gt;</computeroutput> as a transform with an expression <computeroutput>e</computeroutput> of type <computeroutput>E</computeroutput>, state <computeroutput>s</computeroutput> and data <computeroutput>v</computeroutput>, it is equivalent to <computeroutput>Bx()(e, s, v)</computer
output>, where <computeroutput>x</computeroutput> is the lowest number such that <computeroutput>matches&lt;E,Bx&gt;::value</computeroutput> is <computeroutput>true</computeroutput>. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><description><para>
-
-
-</para></description></struct><struct-specialization name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr &amp;</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg></specialization></struct-specialization><typedef name="proto_base_expr"><type><classname>or_</classname></type></typedef></struct><struct name="and_"><template>
- <template-type-parameter name="G0"/>
- <template-type-parameter name="G1"/>
- <template-type-parameter name="G2"/>
- <template-type-parameter name="G3"/>
- <template-type-parameter name="G4"/>
- <template-type-parameter name="G5"/>
- <template-type-parameter name="G6"/>
- <template-type-parameter name="G7"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>For matching all of a set of grammars. When used as a transform, <computeroutput>and_&lt;&gt;</computeroutput> applies the transform associated with the last grammar in the set. </purpose><description><para>An expression type <computeroutput>E</computeroutput> matches <computeroutput>and_&lt;B0,B1,...Bn&gt;</computeroutput> if <computeroutput>E</computeroutput> matches all <computeroutput>Bx</computeroutput> for <computeroutput>x</computeroutput> in <computeroutput>[0,n)</computeroutput>.</para><para>When applying <computeroutput>and_&lt;B0,B1,...Bn&gt;</computeroutput> as a transform with an expression <computeroutput>e</computeroutput>, state <computeroutput>s</computeroutput> and data <computeroutput>v</computeroutput>, it is equivalent to <computeroutput>Bn()(e, s, v)</computeroutput>. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="proto_base_expr"><type><classname>and_</classname></type></typedef></struct><struct name="switch_"><template>
- <template-type-parameter name="Cases"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>For matching one of a set of alternate grammars, which are looked up based on an expression's tag type. When used as a transform, <computeroutput>switch_&lt;&gt;</computeroutput> applies the transform associated with the grammar that matches the expression. </purpose><description><para>
-An expression type <computeroutput>E</computeroutput> matches <computeroutput>switch_&lt;C&gt;</computeroutput> if <computeroutput>E</computeroutput> matches <computeroutput>C::case_&lt;E::proto_tag&gt;</computeroutput>.</para><para>When applying <computeroutput>switch_&lt;C&gt;</computeroutput> as a transform with an expression <computeroutput>e</computeroutput> of type <computeroutput>E</computeroutput>, state <computeroutput>s</computeroutput> and data <computeroutput>v</computeroutput>, it is equivalent to <computeroutput>C::case_&lt;E::proto_tag&gt;()(e, s, v)</computeroutput>. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><description><para>
-
-
-</para></description></struct><struct-specialization name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr &amp;</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg></specialization></struct-specialization><typedef name="proto_base_expr"><type><classname>switch_</classname></type></typedef></struct><struct name="exact"><template>
- <template-type-parameter name="T"/>
- </template><purpose>For forcing exact matches of terminal types. </purpose><description><para>By default, matching terminals ignores references and cv-qualifiers. For instance, a terminal expression of type <computeroutput>terminal&lt;int const &amp;&gt;::type</computeroutput> will match the grammar <computeroutput>terminal&lt;int&gt;</computeroutput>. If that is not desired, you can force an exact match with <computeroutput>terminal&lt;exact&lt;int&gt; &gt;</computeroutput>. This will only match integer terminals where the terminal is held by value. </para></description></struct><struct name="convertible_to"><template>
- <template-type-parameter name="T"/>
- </template><purpose>For matching terminals that are convertible to a type. </purpose><description><para>Use <computeroutput>convertible_to&lt;&gt;</computeroutput> to match a terminal that is convertible to some type. For example, the grammar <computeroutput>terminal&lt;convertible_to&lt;int&gt; &gt;</computeroutput> will match any terminal whose argument is convertible to an integer.</para><para>
-</para></description></struct><struct name="vararg"><template>
- <template-type-parameter name="Grammar"/>
- </template><purpose>For matching a Grammar to a variable number of sub-expressions. </purpose><description><para>An expression type <computeroutput>expr&lt;AT, listN&lt;A0,...An,U0,...Um&gt; &gt;</computeroutput> matches a grammar <computeroutput>expr&lt;BT, listM&lt;B0,...Bn,vararg&lt;V&gt; &gt; &gt;</computeroutput> if <computeroutput>BT</computeroutput> is <computeroutput>_</computeroutput> or <computeroutput>AT</computeroutput>, and if <computeroutput>Ax</computeroutput> matches <computeroutput>Bx</computeroutput> for each <computeroutput>x</computeroutput> in <computeroutput>[0,n)</computeroutput> and if <computeroutput>Ux</computeroutput> matches <computeroutput>V</computeroutput> for each <computeroutput>x</computeroutput> in <computeroutput>[0,m)</computeroutput>.</para><para>For example:</para><para><programlisting> // Match any function call expression, irregardless
- // of the number of function arguments:
- struct Function
- : function&lt; vararg&lt;_&gt; &gt;
- {};
-</programlisting></para><para>When used as a transform, <computeroutput>vararg&lt;G&gt;</computeroutput> applies <computeroutput>G</computeroutput>'s transform. </para></description><typedef name="proto_is_vararg_"><type>void</type></typedef></struct></namespace><namespace name="result_of"><struct name="matches"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Grammar"/>
- </template><purpose>A Boolean metafunction that evaluates whether a given expression type matches a grammar. </purpose><description><para><computeroutput>matches&lt;Expr,Grammar&gt;</computeroutput> inherits (indirectly) from <computeroutput>mpl::true_</computeroutput> if <computeroutput>Expr::proto_base_expr</computeroutput> matches <computeroutput>Grammar::proto_base_expr</computeroutput>, and from <computeroutput>mpl::false_</computeroutput> otherwise.</para><para>Non-terminal expressions are matched against a grammar according to the following rules:</para><para><itemizedlist>
-<listitem><para>The wildcard pattern, <computeroutput>_</computeroutput>, matches any expression. </para></listitem>
-<listitem><para>An expression <computeroutput>expr&lt;AT, listN&lt;A0,A1,...An&gt; &gt;</computeroutput> matches a grammar <computeroutput>expr&lt;BT, listN&lt;B0,B1,...Bn&gt; &gt;</computeroutput> if <computeroutput>BT</computeroutput> is <computeroutput>_</computeroutput> or <computeroutput>AT</computeroutput>, and if <computeroutput>Ax</computeroutput> matches <computeroutput>Bx</computeroutput> for each <computeroutput>x</computeroutput> in <computeroutput>[0,n)</computeroutput>. </para></listitem>
-<listitem><para>An expression <computeroutput>expr&lt;AT, listN&lt;A0,...An,U0,...Um&gt; &gt;</computeroutput> matches a grammar <computeroutput>expr&lt;BT, listM&lt;B0,...Bn,vararg&lt;V&gt; &gt; &gt;</computeroutput> if <computeroutput>BT</computeroutput> is <computeroutput>_</computeroutput> or <computeroutput>AT</computeroutput>, and if <computeroutput>Ax</computeroutput> matches <computeroutput>Bx</computeroutput> for each <computeroutput>x</computeroutput> in <computeroutput>[0,n)</computeroutput> and if <computeroutput>Ux</computeroutput> matches <computeroutput>V</computeroutput> for each <computeroutput>x</computeroutput> in <computeroutput>[0,m)</computeroutput>. </para></listitem>
-<listitem><para>An expression <computeroutput>E</computeroutput> matches <computeroutput>or_&lt;B0,B1,...Bn&gt;</computeroutput> if <computeroutput>E</computeroutput> matches some <computeroutput>Bx</computeroutput> for <computeroutput>x</computeroutput> in <computeroutput>[0,n)</computeroutput>. </para></listitem>
-<listitem><para>An expression <computeroutput>E</computeroutput> matches <computeroutput>and_&lt;B0,B1,...Bn&gt;</computeroutput> if <computeroutput>E</computeroutput> matches all <computeroutput>Bx</computeroutput> for <computeroutput>x</computeroutput> in <computeroutput>[0,n)</computeroutput>. </para></listitem>
-<listitem><para>An expression <computeroutput>E</computeroutput> matches <computeroutput>if_&lt;T,U,V&gt;</computeroutput> if <computeroutput>when&lt;_,T&gt;::result&lt;void(E,int,int)&gt;::type::value</computeroutput> is <computeroutput>true</computeroutput> and <computeroutput>E</computeroutput> matches <computeroutput>U</computeroutput>; or, if <computeroutput>when&lt;_,T&gt;::result&lt;void(E,int,int)&gt;::type::value</computeroutput> is <computeroutput>false</computeroutput> and <computeroutput>E</computeroutput> matches <computeroutput>V</computeroutput>. (Note: <computeroutput>U</computeroutput> defaults to <computeroutput>_</computeroutput> and <computeroutput>V</computeroutput> defaults to <computeroutput>not_&lt;_&gt;</computeroutput>.) </para></listitem>
-<listitem><para>An expression <computeroutput>E</computeroutput> matches <computeroutput>not_&lt;T&gt;</computeroutput> if <computeroutput>E</computeroutput> does not match <computeroutput>T</computeroutput>. </para></listitem>
-<listitem><para>An expression <computeroutput>E</computeroutput> matches <computeroutput>switch_&lt;C&gt;</computeroutput> if <computeroutput>E</computeroutput> matches <computeroutput>C::case_&lt;E::proto_tag&gt;</computeroutput>.</para></listitem>
-</itemizedlist>
-A terminal expression <computeroutput>expr&lt;tag::terminal,term&lt;A&gt; &gt;</computeroutput> matches a grammar <computeroutput>expr&lt;BT,term&lt;B&gt; &gt;</computeroutput> if <computeroutput>BT</computeroutput> is <computeroutput>_</computeroutput> or <computeroutput>tag::terminal</computeroutput> and one of the following is true:</para><para><itemizedlist>
-<listitem><para><computeroutput>B</computeroutput> is the wildcard pattern, <computeroutput>_</computeroutput> </para></listitem>
-<listitem><para><computeroutput>A</computeroutput> is <computeroutput>B</computeroutput> </para></listitem>
-<listitem><para><computeroutput>A</computeroutput> is <computeroutput>B &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>A</computeroutput> is <computeroutput>B const &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>B</computeroutput> is <computeroutput>exact&lt;A&gt;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>B</computeroutput> is <computeroutput>convertible_to&lt;X&gt;</computeroutput> and <computeroutput>is_convertible&lt;A,X&gt;::value</computeroutput> is <computeroutput>true</computeroutput>. </para></listitem>
-<listitem><para><computeroutput>A</computeroutput> is <computeroutput>X[M]</computeroutput> or <computeroutput>X(&amp;)[M]</computeroutput> and <computeroutput>B</computeroutput> is <computeroutput>X[proto::N]</computeroutput>. </para></listitem>
-<listitem><para><computeroutput>A</computeroutput> is <computeroutput>X(&amp;)[M]</computeroutput> and <computeroutput>B</computeroutput> is <computeroutput>X(&amp;)[proto::N]</computeroutput>. </para></listitem>
-<listitem><para><computeroutput>A</computeroutput> is <computeroutput>X[M]</computeroutput> or <computeroutput>X(&amp;)[M]</computeroutput> and <computeroutput>B</computeroutput> is <computeroutput>X*</computeroutput>. </para></listitem>
-<listitem><para><computeroutput>B</computeroutput> lambda-matches <computeroutput>A</computeroutput> (see below).</para></listitem>
-</itemizedlist>
-A type <computeroutput>B</computeroutput> lambda-matches <computeroutput>A</computeroutput> if one of the following is true:</para><para><itemizedlist>
-<listitem><para><computeroutput>B</computeroutput> is <computeroutput>A</computeroutput> </para></listitem>
-<listitem><para><computeroutput>B</computeroutput> is the wildcard pattern, <computeroutput>_</computeroutput> </para></listitem>
-<listitem><para><computeroutput>B</computeroutput> is <computeroutput>T&lt;B0,B1,...Bn&gt;</computeroutput> and <computeroutput>A</computeroutput> is <computeroutput>T&lt;A0,A1,...An&gt;</computeroutput> and for each <computeroutput>x</computeroutput> in <computeroutput>[0,n)</computeroutput>, <computeroutput>Ax</computeroutput> and <computeroutput>Bx</computeroutput> are types such that <computeroutput>Ax</computeroutput> lambda-matches <computeroutput>Bx</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description></struct><struct-specialization name="matches"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="Grammar"/>
- </template><specialization><template-arg>Expr &amp;</template-arg><template-arg>Grammar</template-arg></specialization></struct-specialization></namespace></namespace></namespace></header><header name="boost/proto/operators.hpp"><para>Contains all the overloaded operators that make it possible to build Proto expression trees. </para><namespace name="boost"><namespace name="proto"><struct name="is_extension"><template>
- <template-type-parameter name="T"/>
- </template><inherit access="public">boost::mpl::false_</inherit></struct><function name="operator+"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg &amp;</paramtype></parameter></function><function name="operator+"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg const &amp;</paramtype></parameter></function><function name="operator-"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg &amp;</paramtype></parameter></function><function name="operator-"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg const &amp;</paramtype></parameter></function><function name="operator*"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg &amp;</paramtype></parameter></function><function name="operator*"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg const &amp;</paramtype></parameter></function><function name="operator~"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg &amp;</paramtype></parameter></function><function name="operator~"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg const &amp;</paramtype></parameter></function><function name="operator&amp;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg &amp;</paramtype></parameter></function><function name="operator&amp;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg const &amp;</paramtype></parameter></function><function name="operator!"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg &amp;</paramtype></parameter></function><function name="operator!"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg const &amp;</paramtype></parameter></function><function name="operator++"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg &amp;</paramtype></parameter></function><function name="operator++"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg const &amp;</paramtype></parameter></function><function name="operator--"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg &amp;</paramtype></parameter></function><function name="operator--"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg const &amp;</paramtype></parameter></function><function name="operator++"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg &amp;</paramtype></parameter><parameter name=""><paramtype>int</paramtype></parameter></function><function name="operator++"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg const &amp;</paramtype></parameter><parameter name=""><paramtype>int</paramtype></parameter></function><function name="operator--"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg &amp;</paramtype></parameter><parameter name=""><paramtype>int</paramtype></parameter></function><function name="operator--"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Arg"/>
- </template><parameter name="arg"><paramtype>Arg const &amp;</paramtype></parameter><parameter name=""><paramtype>int</paramtype></parameter></function><function name="operator&lt;&lt;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&lt;&lt;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&lt;&lt;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&lt;&lt;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&gt;&gt;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&gt;&gt;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&gt;&gt;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&gt;&gt;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator*"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator*"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator*"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator*"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator/"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator/"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator/"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator/"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator%"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator%"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator%"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator%"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator+"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator+"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator+"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator+"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator-"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator-"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator-"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator-"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&lt;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&lt;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&lt;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&lt;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&gt;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&gt;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&gt;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&gt;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&lt;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&lt;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&lt;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&lt;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&gt;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&gt;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&gt;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&gt;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator=="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator=="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator=="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator=="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator!="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator!="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator!="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator!="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator||"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator||"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator||"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator||"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&amp;&amp;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&amp;&amp;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&amp;&amp;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&amp;&amp;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&amp;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&amp;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&amp;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&amp;"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator|"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator|"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator|"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator|"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator^"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator^"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator^"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator^"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator,"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator,"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator,"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator,"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator-&gt;*"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator-&gt;*"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator-&gt;*"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator-&gt;*"><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&lt;&lt;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&lt;&lt;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&lt;&lt;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&lt;&lt;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&gt;&gt;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&gt;&gt;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&gt;&gt;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&gt;&gt;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator*="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator*="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator*="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator*="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator/="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator/="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator/="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator/="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator%="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator%="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator%="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator%="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator+="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator+="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator+="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator+="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator-="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator-="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator-="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator-="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&amp;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&amp;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator&amp;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator&amp;="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator|="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator|="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator|="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator|="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator^="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator^="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="operator^="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right &amp;</paramtype></parameter></function><function name="operator^="><type><emphasis>unspecified</emphasis></type><template>
- <template-type-parameter name="Left"/>
- <template-type-parameter name="Right"/>
- </template><parameter name="left"><paramtype>Left const &amp;</paramtype></parameter><parameter name="right"><paramtype>Right const &amp;</paramtype></parameter></function><function name="if_else"><type><classname>boost::proto::result_of::make_expr</classname>&lt; <classname>tag::if_else_</classname>, <classname>deduce_domain</classname>, A0 const &amp;, A1 const &amp;, A2 const &amp; &gt;::type const</type><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><parameter name="a0"><paramtype>A0 const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 const &amp;</paramtype></parameter><description><para>if_else </para></description></function></namespace></namespace></header><header name="boost/proto/proto.hpp"><para>Includes all of Proto. </para></header><header name="boost/proto/proto_fwd.hpp"><para>Forward declarations of all of proto's public types and functions. </para><namespace name="boost"><namespace name="proto"><struct name="callable"><typedef name="proto_is_callable_"><type>void</type></typedef></struct><namespace name="context"/><namespace name="control"><data-member name="N"><type>int const</type></data-member></namespace><namespace name="exops"/><namespace name="functional"><typedef name="make_terminal"><type><classname>make_expr</classname>&lt; <classname>tag::terminal</classname> &gt;</type></typedef><typedef name="make_unary_plus"><type><classnam
e>make_expr</classname>&lt; <classname>tag::unary_plus</classname> &gt;</type></typedef><typedef name="make_negate"><type><classname>make_expr</classname>&lt; <classname>tag::negate</classname> &gt;</type></typedef><typedef name="make_dereference"><type><classname>make_expr</classname>&lt; <classname>tag::dereference</classname> &gt;</type></typedef><typedef name="make_complement"><type><classname>make_expr</classname>&lt; <classname>tag::complement</classname> &gt;</type></typedef><typedef name="make_address_of"><type><classname>make_expr</classname>&lt; <classname>tag::address_of</classname> &gt;</type></typedef><typedef name="make_logical_not"><type><classname>make_expr</classname>&lt; <classname>tag::logical_not</classname> &gt;</type></typedef><typedef name="make_pre_inc"><type><classname>make_expr</classname>&lt; <classname>tag::pre_inc</classname> &gt;</type></typedef><typedef name="make_pre_dec"><type><classname>make_expr</classname>&lt; <classname>tag::pre_dec</classname> &gt;</type></typedef><typed
ef name="make_post_inc"><type><classname>make_expr</classname>&lt; <classname>tag::post_inc</classname> &gt;</type></typedef><typedef name="make_post_dec"><type><classname>make_expr</classname>&lt; <classname>tag::post_dec</classname> &gt;</type></typedef><typedef name="make_shift_left"><type><classname>make_expr</classname>&lt; <classname>tag::shift_left</classname> &gt;</type></typedef><typedef name="make_shift_right"><type><classname>make_expr</classname>&lt; <classname>tag::shift_right</classname> &gt;</type></typedef><typedef name="make_multiplies"><type><classname>make_expr</classname>&lt; <classname>tag::multiplies</classname> &gt;</type></typedef><typedef name="make_divides"><type><classname>make_expr</classname>&lt; <classname>tag::divides</classname> &gt;</type></typedef><typedef name="make_modulus"><type><classname>make_expr</classname>&lt; <classname>tag::modulus</classname> &gt;</type></typedef><typedef name="make_plus"><type><classname>make_expr</classname>&lt; <classname>tag::plus</classname>
&gt;</type></typedef><typedef name="make_minus"><type><classname>make_expr</classname>&lt; <classname>tag::minus</classname> &gt;</type></typedef><typedef name="make_less"><type><classname>make_expr</classname>&lt; <classname>tag::less</classname> &gt;</type></typedef><typedef name="make_greater"><type><classname>make_expr</classname>&lt; <classname>tag::greater</classname> &gt;</type></typedef><typedef name="make_less_equal"><type><classname>make_expr</classname>&lt; <classname>tag::less_equal</classname> &gt;</type></typedef><typedef name="make_greater_equal"><type><classname>make_expr</classname>&lt; <classname>tag::greater_equal</classname> &gt;</type></typedef><typedef name="make_equal_to"><type><classname>make_expr</classname>&lt; <classname>tag::equal_to</classname> &gt;</type></typedef><typedef name="make_not_equal_to"><type><classname>make_expr</classname>&lt; <classname>tag::not_equal_to</classname> &gt;</type></typedef><typedef name="make_logical_or"><type><classname>make_expr</classname>&lt; <cla
ssname>tag::logical_or</classname> &gt;</type></typedef><typedef name="make_logical_and"><type><classname>make_expr</classname>&lt; <classname>tag::logical_and</classname> &gt;</type></typedef><typedef name="make_bitwise_and"><type><classname>make_expr</classname>&lt; <classname>tag::bitwise_and</classname> &gt;</type></typedef><typedef name="make_bitwise_or"><type><classname>make_expr</classname>&lt; <classname>tag::bitwise_or</classname> &gt;</type></typedef><typedef name="make_bitwise_xor"><type><classname>make_expr</classname>&lt; <classname>tag::bitwise_xor</classname> &gt;</type></typedef><typedef name="make_comma"><type><classname>make_expr</classname>&lt; <classname>tag::comma</classname> &gt;</type></typedef><typedef name="make_mem_ptr"><type><classname>make_expr</classname>&lt; <classname>tag::mem_ptr</classname> &gt;</type></typedef><typedef name="make_assign"><type><classname>make_expr</classname>&lt; <classname>tag::assign</classname> &gt;</type></typedef><typedef name="make_shift_left_assign"><
type><classname>make_expr</classname>&lt; <classname>tag::shift_left_assign</classname> &gt;</type></typedef><typedef name="make_shift_right_assign"><type><classname>make_expr</classname>&lt; <classname>tag::shift_right_assign</classname> &gt;</type></typedef><typedef name="make_multiplies_assign"><type><classname>make_expr</classname>&lt; <classname>tag::multiplies_assign</classname> &gt;</type></typedef><typedef name="make_divides_assign"><type><classname>make_expr</classname>&lt; <classname>tag::divides_assign</classname> &gt;</type></typedef><typedef name="make_modulus_assign"><type><classname>make_expr</classname>&lt; <classname>tag::modulus_assign</classname> &gt;</type></typedef><typedef name="make_plus_assign"><type><classname>make_expr</classname>&lt; <classname>tag::plus_assign</classname> &gt;</type></typedef><typedef name="make_minus_assign"><type><classname>make_expr</classname>&lt; <classname>tag::minus_assign</classname> &gt;</type></typedef><typedef name="make_bitwise_and_assign"><type><class
name>make_expr</classname>&lt; <classname>tag::bitwise_and_assign</classname> &gt;</type></typedef><typedef name="make_bitwise_or_assign"><type><classname>make_expr</classname>&lt; <classname>tag::bitwise_or_assign</classname> &gt;</type></typedef><typedef name="make_bitwise_xor_assign"><type><classname>make_expr</classname>&lt; <classname>tag::bitwise_xor_assign</classname> &gt;</type></typedef><typedef name="make_subscript"><type><classname>make_expr</classname>&lt; <classname>tag::subscript</classname> &gt;</type></typedef><typedef name="make_if_else"><type><classname>make_expr</classname>&lt; <classname>tag::if_else_</classname> &gt;</type></typedef><typedef name="make_function"><type><classname>make_expr</classname>&lt; <classname>tag::function</classname> &gt;</type></typedef></namespace><namespace name="op"/><namespace name="result_of"/><namespace name="tag"/><namespace name="utility"/><typedef name="ignore"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="_flatten"><type><classna
me>functional::flatten</classname></type></typedef><typedef name="_pop_front"><type><classname>functional::pop_front</classname></type></typedef><typedef name="_reverse"><type><classname>functional::reverse</classname></type></typedef><typedef name="_eval"><type><classname>functional::eval</classname></type></typedef><typedef name="_deep_copy"><type><classname>functional::deep_copy</classname></type></typedef><typedef name="_make_terminal"><type><classname>_make_expr</classname>&lt; <classname>tag::terminal</classname> &gt;</type></typedef><typedef name="_make_unary_plus"><type><classname>_make_expr</classname>&lt; <classname>tag::unary_plus</classname> &gt;</type></typedef><typedef name="_make_negate"><type><classname>_make_expr</classname>&lt; <classname>tag::negate</classname> &gt;</type></typedef><typedef name="_make_dereference"><type><classname>_make_expr</classname>&lt; <classname>tag::dereference</classname> &gt;</type></typedef><typedef name="_make_complement"><type><classname>_make_expr</classname>
&lt; <classname>tag::complement</classname> &gt;</type></typedef><typedef name="_make_address_of"><type><classname>_make_expr</classname>&lt; <classname>tag::address_of</classname> &gt;</type></typedef><typedef name="_make_logical_not"><type><classname>_make_expr</classname>&lt; <classname>tag::logical_not</classname> &gt;</type></typedef><typedef name="_make_pre_inc"><type><classname>_make_expr</classname>&lt; <classname>tag::pre_inc</classname> &gt;</type></typedef><typedef name="_make_pre_dec"><type><classname>_make_expr</classname>&lt; <classname>tag::pre_dec</classname> &gt;</type></typedef><typedef name="_make_post_inc"><type><classname>_make_expr</classname>&lt; <classname>tag::post_inc</classname> &gt;</type></typedef><typedef name="_make_post_dec"><type><classname>_make_expr</classname>&lt; <classname>tag::post_dec</classname> &gt;</type></typedef><typedef name="_make_shift_left"><type><classname>_make_expr</classname>&lt; <classname>tag::shift_left</classname> &gt;</type></typedef><typedef name="_m
ake_shift_right"><type><classname>_make_expr</classname>&lt; <classname>tag::shift_right</classname> &gt;</type></typedef><typedef name="_make_multiplies"><type><classname>_make_expr</classname>&lt; <classname>tag::multiplies</classname> &gt;</type></typedef><typedef name="_make_divides"><type><classname>_make_expr</classname>&lt; <classname>tag::divides</classname> &gt;</type></typedef><typedef name="_make_modulus"><type><classname>_make_expr</classname>&lt; <classname>tag::modulus</classname> &gt;</type></typedef><typedef name="_make_plus"><type><classname>_make_expr</classname>&lt; <classname>tag::plus</classname> &gt;</type></typedef><typedef name="_make_minus"><type><classname>_make_expr</classname>&lt; <classname>tag::minus</classname> &gt;</type></typedef><typedef name="_make_less"><type><classname>_make_expr</classname>&lt; <classname>tag::less</classname> &gt;</type></typedef><typedef name="_make_greater"><type><classname>_make_expr</classname>&lt; <classname>tag::greater</classname> &gt;</type></ty
pedef><typedef name="_make_less_equal"><type><classname>_make_expr</classname>&lt; <classname>tag::less_equal</classname> &gt;</type></typedef><typedef name="_make_greater_equal"><type><classname>_make_expr</classname>&lt; <classname>tag::greater_equal</classname> &gt;</type></typedef><typedef name="_make_equal_to"><type><classname>_make_expr</classname>&lt; <classname>tag::equal_to</classname> &gt;</type></typedef><typedef name="_make_not_equal_to"><type><classname>_make_expr</classname>&lt; <classname>tag::not_equal_to</classname> &gt;</type></typedef><typedef name="_make_logical_or"><type><classname>_make_expr</classname>&lt; <classname>tag::logical_or</classname> &gt;</type></typedef><typedef name="_make_logical_and"><type><classname>_make_expr</classname>&lt; <classname>tag::logical_and</classname> &gt;</type></typedef><typedef name="_make_bitwise_and"><type><classname>_make_expr</classname>&lt; <classname>tag::bitwise_and</classname> &gt;</type></typedef><typedef name="_make_bitwise_or"><type><classnam
e>_make_expr</classname>&lt; <classname>tag::bitwise_or</classname> &gt;</type></typedef><typedef name="_make_bitwise_xor"><type><classname>_make_expr</classname>&lt; <classname>tag::bitwise_xor</classname> &gt;</type></typedef><typedef name="_make_comma"><type><classname>_make_expr</classname>&lt; <classname>tag::comma</classname> &gt;</type></typedef><typedef name="_make_mem_ptr"><type><classname>_make_expr</classname>&lt; <classname>tag::mem_ptr</classname> &gt;</type></typedef><typedef name="_make_assign"><type><classname>_make_expr</classname>&lt; <classname>tag::assign</classname> &gt;</type></typedef><typedef name="_make_shift_left_assign"><type><classname>_make_expr</classname>&lt; <classname>tag::shift_left_assign</classname> &gt;</type></typedef><typedef name="_make_shift_right_assign"><type><classname>_make_expr</classname>&lt; <classname>tag::shift_right_assign</classname> &gt;</type></typedef><typedef name="_make_multiplies_assign"><type><classname>_make_expr</classname>&lt; <classname>tag::mult
iplies_assign</classname> &gt;</type></typedef><typedef name="_make_divides_assign"><type><classname>_make_expr</classname>&lt; <classname>tag::divides_assign</classname> &gt;</type></typedef><typedef name="_make_modulus_assign"><type><classname>_make_expr</classname>&lt; <classname>tag::modulus_assign</classname> &gt;</type></typedef><typedef name="_make_plus_assign"><type><classname>_make_expr</classname>&lt; <classname>tag::plus_assign</classname> &gt;</type></typedef><typedef name="_make_minus_assign"><type><classname>_make_expr</classname>&lt; <classname>tag::minus_assign</classname> &gt;</type></typedef><typedef name="_make_bitwise_and_assign"><type><classname>_make_expr</classname>&lt; <classname>tag::bitwise_and_assign</classname> &gt;</type></typedef><typedef name="_make_bitwise_or_assign"><type><classname>_make_expr</classname>&lt; <classname>tag::bitwise_or_assign</classname> &gt;</type></typedef><typedef name="_make_bitwise_xor_assign"><type><classname>_make_expr</classname>&lt; <classname>tag::b
itwise_xor_assign</classname> &gt;</type></typedef><typedef name="_make_subscript"><type><classname>_make_expr</classname>&lt; <classname>tag::subscript</classname> &gt;</type></typedef><typedef name="_make_if_else"><type><classname>_make_expr</classname>&lt; <classname>tag::if_else_</classname> &gt;</type></typedef><typedef name="_make_function"><type><classname>_make_expr</classname>&lt; <classname>tag::function</classname> &gt;</type></typedef><typedef name="_child0"><type><classname>_child_c</classname>&lt; 0 &gt;</type></typedef><typedef name="_child1"><type><classname>_child_c</classname>&lt; 1 &gt;</type></typedef><typedef name="_child"><type><classname>_child0</classname></type></typedef><typedef name="_left"><type><classname>_child0</classname></type></typedef><typedef name="_right"><type><classname>_child1</classname></type></typedef><typedef name="_child2"><type><classname>_child_c</classname>&lt; 2 &gt;</type></typedef><typedef name="_child3"><type><classname>_child_c</classname>&lt; 3 &gt;</type
></typedef></namespace></namespace></header><header name="boost/proto/tags.hpp"><para>Contains the tags for all the overloadable operators in C++ </para><namespace name="boost"><namespace name="proto"><namespace name="tag"><struct name="terminal"><purpose>Tag type for terminals; aka, leaves in the expression tree. </purpose></struct><struct name="unary_plus"><purpose>Tag type for the unary + operator. </purpose></struct><struct name="negate"><purpose>Tag type for the unary - operator. </purpose></struct><struct name="dereference"><purpose>Tag type for the unary * operator. </purpose></struct><struct name="complement"><purpose>Tag type for the unary ~ operator. </purpose></struct><struct name="address_of"><purpose>Tag type for the unary &amp; operator. </purpose></struct><struct name="logical_not"><purpose>Tag type for the unary ! operator. </purpose></struct><struct name="pre_inc"><purpose>Tag type for the unary prefix ++ operator. </purpose></struct><struct name="pre_dec"><purpose>Tag type for the unary pre
fix -- operator. </purpose></struct><struct name="post_inc"><purpose>Tag type for the unary postfix ++ operator. </purpose></struct><struct name="post_dec"><purpose>Tag type for the unary postfix -- operator. </purpose></struct><struct name="shift_left"><purpose>Tag type for the binary &lt;&lt; operator. </purpose></struct><struct name="shift_right"><purpose>Tag type for the binary &gt;&gt; operator. </purpose></struct><struct name="multiplies"><purpose>Tag type for the binary * operator. </purpose></struct><struct name="divides"><purpose>Tag type for the binary / operator. </purpose></struct><struct name="modulus"><purpose>Tag type for the binary % operator. </purpose></struct><struct name="plus"><purpose>Tag type for the binary + operator. </purpose></struct><struct name="minus"><purpose>Tag type for the binary - operator. </purpose></struct><struct name="less"><purpose>Tag type for the binary &lt; operator. </purpose></struct><struct name="greater"><purpose>Tag type for the binary &gt; operator. </purpose
></struct><struct name="less_equal"><purpose>Tag type for the binary &lt;= operator. </purpose></struct><struct name="greater_equal"><purpose>Tag type for the binary &gt;= operator. </purpose></struct><struct name="equal_to"><purpose>Tag type for the binary == operator. </purpose></struct><struct name="not_equal_to"><purpose>Tag type for the binary != operator. </purpose></struct><struct name="logical_or"><purpose>Tag type for the binary || operator. </purpose></struct><struct name="logical_and"><purpose>Tag type for the binary &amp;&amp; operator. </purpose></struct><struct name="bitwise_and"><purpose>Tag type for the binary &amp; operator. </purpose></struct><struct name="bitwise_or"><purpose>Tag type for the binary | operator. </purpose></struct><struct name="bitwise_xor"><purpose>Tag type for the binary ^ operator. </purpose></struct><struct name="comma"><purpose>Tag type for the binary , operator. </purpose></struct><struct name="mem_ptr"><purpose>Tag type for the binary -&gt;* operator. </purpose></str
uct><struct name="assign"><purpose>Tag type for the binary = operator. </purpose></struct><struct name="shift_left_assign"><purpose>Tag type for the binary &lt;&lt;= operator. </purpose></struct><struct name="shift_right_assign"><purpose>Tag type for the binary &gt;&gt;= operator. </purpose></struct><struct name="multiplies_assign"><purpose>Tag type for the binary *= operator. </purpose></struct><struct name="divides_assign"><purpose>Tag type for the binary /= operator. </purpose></struct><struct name="modulus_assign"><purpose>Tag type for the binary = operator. </purpose></struct><struct name="plus_assign"><purpose>Tag type for the binary += operator. </purpose></struct><struct name="minus_assign"><purpose>Tag type for the binary -= operator. </purpose></struct><struct name="bitwise_and_assign"><purpose>Tag type for the binary &amp;= operator. </purpose></struct><struct name="bitwise_or_assign"><purpose>Tag type for the binary |= operator. </purpose></struct><struct name="bitwise_xor_assign"><purpose>Tag ty
pe for the binary ^= operator. </purpose></struct><struct name="subscript"><purpose>Tag type for the binary subscript operator. </purpose></struct><struct name="member"><purpose>Tag type for the binary virtual data members. </purpose></struct><struct name="if_else_"><purpose>Tag type for the ternary ?: conditional operator. </purpose></struct><struct name="function"><purpose>Tag type for the n-ary function call operator. </purpose></struct></namespace></namespace></namespace></header><header name="boost/proto/traits.hpp"><para>Contains definitions for child&lt;&gt;, child_c&lt;&gt;, left&lt;&gt;, right&lt;&gt;, tag_of&lt;&gt;, and the helper functions child(), child_c(), value(), left() and right(). </para><namespace name="boost"><namespace name="proto"><struct name="is_callable"><template>
- <template-type-parameter name="T"/>
- </template><purpose>Boolean metafunction which detects whether a type is a callable function object type or not. </purpose><description><para><computeroutput>is_callable&lt;&gt;</computeroutput> is used by the <computeroutput>when&lt;&gt;</computeroutput> transform to determine whether a function type <computeroutput>R(A1,A2,...AN)</computeroutput> is a callable transform or an object transform. (The former are evaluated using <computeroutput>call&lt;&gt;</computeroutput> and the later with <computeroutput>make&lt;&gt;</computeroutput>.) If <computeroutput>is_callable&lt;R&gt;::value</computeroutput> is <computeroutput>true</computeroutput>, the function type is a callable transform; otherwise, it is an object transform.</para><para>Unless specialized for a type <computeroutput>T</computeroutput>, <computeroutput>is_callable&lt;T&gt;::value</computeroutput> is computed as follows:</para><para><itemizedlist>
-<listitem><para>If <computeroutput>T</computeroutput> is a template type <computeroutput>X&lt;Y0,Y1,...YN&gt;</computeroutput>, where all <computeroutput>Yx</computeroutput> are types for <computeroutput>x</computeroutput> in <computeroutput>[0,N]</computeroutput>, <computeroutput>is_callable&lt;T&gt;::value</computeroutput> is <computeroutput>is_same&lt;YN, proto::callable&gt;::value</computeroutput>. </para></listitem>
-<listitem><para>If <computeroutput>T</computeroutput> has a nested type <computeroutput>proto_is_callable_</computeroutput> that is a typedef for <computeroutput>void</computeroutput>, <computeroutput>is_callable&lt;T&gt;::value</computeroutput> is <computeroutput>true</computeroutput>. (Note: this is the case for any type that derives from <computeroutput>proto::callable</computeroutput>.) </para></listitem>
-<listitem><para>Otherwise, <computeroutput>is_callable&lt;T&gt;::value</computeroutput> is <computeroutput>false</computeroutput>. </para></listitem>
-</itemizedlist>
-</para></description></struct><struct name="is_aggregate"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="Void"/>
- </template><purpose>A Boolean metafunction that indicates whether a type requires aggregate initialization. </purpose><description><para><computeroutput>is_aggregate&lt;&gt;</computeroutput> is used by the <computeroutput>make&lt;&gt;</computeroutput> transform to determine how to construct an object of some type <computeroutput>T</computeroutput>, given some initialization arguments <computeroutput>a0,a1,...aN</computeroutput>. If <computeroutput>is_aggregate&lt;T&gt;::value</computeroutput> is <computeroutput>true</computeroutput>, then an object of type T will be initialized as <computeroutput>T t = {a0,a1,...aN};</computeroutput>. Otherwise, it will be initialized as <computeroutput>T t(a0,a1,...aN)</computeroutput>. </para></description></struct><struct-specialization name="is_aggregate"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="Args"/>
- <template-nontype-parameter name="N"><type>long</type></template-nontype-parameter>
- </template><specialization><template-arg>proto::expr&lt; Tag</template-arg><template-arg>Args</template-arg><template-arg>N &gt;</template-arg><template-arg>void</template-arg></specialization><inherit access="public">boost::mpl::true_</inherit><purpose>Specialization of <computeroutput>is_aggregate&lt;&gt;</computeroutput> that indicates that objects of <computeroutput>expr&lt;&gt;</computeroutput> type require aggregate initialization. </purpose></struct-specialization><struct name="is_transform"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="Void"><default>void</default></template-type-parameter>
- </template><inherit access="public">boost::mpl::false_</inherit><purpose>TODO document me! </purpose></struct><struct-specialization name="is_transform"><template>
- <template-type-parameter name="T"/>
- </template><specialization><template-arg>T</template-arg><template-arg>typename T::proto_is_transform_</template-arg></specialization><inherit access="public">boost::mpl::true_</inherit></struct-specialization><namespace name="functional"><struct name="as_expr"><template>
- <template-type-parameter name="Domain"><default>default_domain</default></template-type-parameter>
- </template><purpose>A callable PolymorphicFunctionObject that is equivalent to the <computeroutput>as_expr()</computeroutput> function. </purpose><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="T"/>
- </template><specialization><template-arg>This(T)</template-arg></specialization><typedef name="unref_type"><type>remove_reference&lt; T &gt;::type</type></typedef><typedef name="type"><type><classname>result_of::as_expr</classname>&lt; unref_type, Domain &gt;::type</type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type><classname>result_of::as_expr</classname>&lt; T, Domain &gt;::reference</type><template>
- <template-type-parameter name="T"/>
- </template><parameter name="t"><paramtype>T &amp;</paramtype><description><para>The object to wrap. </para></description></parameter><purpose>Wrap an object in a Proto terminal if it isn't a Proto expression already. </purpose><description><para>
-
-</para></description><returns><para><computeroutput>proto::as_expr&lt;Domain&gt;(t)</computeroutput> </para></returns></method><method name="operator()" cv="const"><type><classname>result_of::as_expr</classname>&lt; T const, Domain &gt;::reference</type><template>
- <template-type-parameter name="T"/>
- </template><parameter name="t"><paramtype>T const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group></struct><struct name="as_child"><template>
- <template-type-parameter name="Domain"><default>default_domain</default></template-type-parameter>
- </template><purpose>A callable PolymorphicFunctionObject that is equivalent to the <computeroutput>as_child()</computeroutput> function. </purpose><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="T"/>
- </template><specialization><template-arg>This(T)</template-arg></specialization><typedef name="unref_type"><type>remove_reference&lt; T &gt;::type</type></typedef><typedef name="type"><type><classname>result_of::as_child</classname>&lt; unref_type, Domain &gt;::type</type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type><classname>result_of::as_child</classname>&lt; T, Domain &gt;::type</type><template>
- <template-type-parameter name="T"/>
- </template><parameter name="t"><paramtype>T &amp;</paramtype><description><para>The object to wrap. </para></description></parameter><purpose>Wrap an object in a Proto terminal if it isn't a Proto expression already. </purpose><description><para>
-
-</para></description><returns><para><computeroutput>proto::as_child&lt;Domain&gt;(t)</computeroutput> </para></returns></method><method name="operator()" cv="const"><type><classname>result_of::as_child</classname>&lt; T const, Domain &gt;::type</type><template>
- <template-type-parameter name="T"/>
- </template><parameter name="t"><paramtype>T const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group></struct><struct name="child_c"><template>
- <template-nontype-parameter name="N"><type>long</type></template-nontype-parameter>
- </template><purpose>A callable PolymorphicFunctionObject that is equivalent to the <computeroutput>child_c()</computeroutput> function. </purpose><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr)</template-arg></specialization><typedef name="type"><type>result_of::child_c&lt; Expr, N &gt;::type</type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_of::child_c&lt; Expr &amp;, N &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The expression node. </para></description></parameter><purpose>Return the Nth child of the given expression. </purpose><description><para>
-
-
-
-</para></description><requires><para><computeroutput>is_expr&lt;Expr&gt;::value</computeroutput> is <computeroutput>true</computeroutput> </para><para><computeroutput>N == 0 || N &lt; Expr::proto_arity::value</computeroutput> </para></requires><returns><para><computeroutput>proto::child_c&lt;N&gt;(expr)</computeroutput> </para></returns><throws><simpara>Will not throw.</simpara></throws></method><method name="operator()" cv="const"><type>result_of::child_c&lt; Expr const &amp;, N &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group></struct><struct name="child"><template>
- <template-type-parameter name="N"><default>mpl::long_&lt;0&gt;</default></template-type-parameter>
- </template><purpose>A callable PolymorphicFunctionObject that is equivalent to the <computeroutput>child()</computeroutput> function. </purpose><description><para>A callable PolymorphicFunctionObject that is equivalent to the <computeroutput>child()</computeroutput> function. <computeroutput>N</computeroutput> is required to be an MPL Integral Constant. </para></description><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr)</template-arg></specialization><typedef name="type"><type><classname>result_of::child</classname>&lt; Expr, N &gt;::type</type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type><classname>result_of::child</classname>&lt; Expr &amp;, N &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The expression node. </para></description></parameter><purpose>Return the Nth child of the given expression. </purpose><description><para>
-
-
-
-</para></description><requires><para><computeroutput>is_expr&lt;Expr&gt;::value</computeroutput> is <computeroutput>true</computeroutput> </para><para><computeroutput>N::value == 0 || N::value &lt; Expr::proto_arity::value</computeroutput> </para></requires><returns><para><computeroutput>proto::child&lt;N&gt;(expr)</computeroutput> </para></returns><throws><simpara>Will not throw.</simpara></throws></method><method name="operator()" cv="const"><type><classname>result_of::child</classname>&lt; Expr const &amp;, N &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group></struct><struct name="value"><purpose>A callable PolymorphicFunctionObject that is equivalent to the <computeroutput>value()</computeroutput> function. </purpose><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr)</template-arg></specialization><typedef name="type"><type><classname>result_of::value</classname>&lt; Expr &gt;::type</type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type><classname>result_of::value</classname>&lt; Expr &amp; &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The terminal expression node. </para></description></parameter><purpose>Return the value of the given terminal expression. </purpose><description><para>
-
-
-
-</para></description><requires><para><computeroutput>is_expr&lt;Expr&gt;::value</computeroutput> is <computeroutput>true</computeroutput> </para><para><computeroutput>0 == Expr::proto_arity::value</computeroutput> </para><para><computeroutput>Expr::proto_tag</computeroutput> is <computeroutput>tag::terminal</computeroutput> </para></requires><returns><para><computeroutput>proto::value(expr)</computeroutput> </para></returns><throws><simpara>Will not throw.</simpara></throws></method><method name="operator()" cv="const"><type><classname>result_of::value</classname>&lt; Expr const &amp; &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group></struct><struct name="left"><purpose>A callable PolymorphicFunctionObject that is equivalent to the <computeroutput>left()</computeroutput> function. </purpose><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr)</template-arg></specialization><typedef name="type"><type><classname>result_of::left</classname>&lt; Expr &gt;::type</type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type><classname>result_of::left</classname>&lt; Expr &amp; &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The expression node. </para></description></parameter><purpose>Return the left child of the given binary expression. </purpose><description><para>
-
-
-
-</para></description><requires><para><computeroutput>is_expr&lt;Expr&gt;::value</computeroutput> is <computeroutput>true</computeroutput> </para><para><computeroutput>2 == Expr::proto_arity::value</computeroutput> </para></requires><returns><para><computeroutput>proto::left(expr)</computeroutput> </para></returns><throws><simpara>Will not throw.</simpara></throws></method><method name="operator()" cv="const"><type><classname>result_of::left</classname>&lt; Expr const &amp; &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group></struct><struct name="right"><purpose>A callable PolymorphicFunctionObject that is equivalent to the <computeroutput>right()</computeroutput> function. </purpose><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr)</template-arg></specialization><typedef name="type"><type><classname>result_of::right</classname>&lt; Expr &gt;::type</type></typedef></struct-specialization><typedef name="proto_is_callable_"><type>void</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type><classname>result_of::right</classname>&lt; Expr &amp; &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The expression node. </para></description></parameter><purpose>Return the right child of the given binary expression. </purpose><description><para>
-
-
-
-</para></description><requires><para><computeroutput>is_expr&lt;Expr&gt;::value</computeroutput> is <computeroutput>true</computeroutput> </para><para><computeroutput>2 == Expr::proto_arity::value</computeroutput> </para></requires><returns><para><computeroutput>proto::right(expr)</computeroutput> </para></returns><throws><simpara>Will not throw.</simpara></throws></method><method name="operator()" cv="const"><type><classname>result_of::right</classname>&lt; Expr const &amp; &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter></method></method-group></struct></namespace><namespace name="op"><struct name="terminal"><template>
- <template-type-parameter name="T"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating terminal expression types, a grammar element for matching terminal expressions, and a PrimitiveTransform that returns the current expression unchanged. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type>Expr</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>impl::expr_param</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression </para></description></parameter><parameter name=""><paramtype>typename impl::state_param</paramtype></parameter><parameter name=""><paramtype>typename impl::data_param</paramtype></parameter><description><para>
-
-
-
-</para></description><requires><para><computeroutput>matches&lt;Expr, terminal&lt;T&gt; &gt;::value</computeroutput> is <computeroutput>true</computeroutput>. </para></requires><returns><para><computeroutput>expr</computeroutput> </para></returns><throws><simpara>Will not throw.</simpara></throws></method></method-group></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::terminal</classname>, <classname>term</classname>&lt; T &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="if_else_"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- <template-type-parameter name="V"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating ternary conditional expression types, a grammar element for matching ternary conditional expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::if_else_</classname>, <classname>list3</classname>&lt; T, U, V &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="unary_expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="T"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating unary expression types with a specified tag type, a grammar element for matching unary expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><description><para>Use <computeroutput>unary_expr&lt;_, _&gt;</computeroutput> as a grammar element to match any unary expression. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; Tag, <classname>list1</classname>&lt; T &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="binary_expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating binary expression types with a specified tag type, a grammar element for matching binary expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><description><para>Use <computeroutput>binary_expr&lt;_, _, _&gt;</computeroutput> as a grammar element to match any binary expression. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; Tag, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="unary_plus"><template>
- <template-type-parameter name="T"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating unary plus expression types, a grammar element for matching unary plus expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::unary_plus</classname>, <classname>list1</classname>&lt; T &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="negate"><template>
- <template-type-parameter name="T"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating unary minus expression types, a grammar element for matching unary minus expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::negate</classname>, <classname>list1</classname>&lt; T &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="dereference"><template>
- <template-type-parameter name="T"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating defereference expression types, a grammar element for matching dereference expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::dereference</classname>, <classname>list1</classname>&lt; T &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="complement"><template>
- <template-type-parameter name="T"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating complement expression types, a grammar element for matching complement expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::complement</classname>, <classname>list1</classname>&lt; T &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="address_of"><template>
- <template-type-parameter name="T"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating address_of expression types, a grammar element for matching address_of expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::address_of</classname>, <classname>list1</classname>&lt; T &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="logical_not"><template>
- <template-type-parameter name="T"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating logical_not expression types, a grammar element for matching logical_not expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::logical_not</classname>, <classname>list1</classname>&lt; T &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="pre_inc"><template>
- <template-type-parameter name="T"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating pre-increment expression types, a grammar element for matching pre-increment expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::pre_inc</classname>, <classname>list1</classname>&lt; T &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="pre_dec"><template>
- <template-type-parameter name="T"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating pre-decrement expression types, a grammar element for matching pre-decrement expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::pre_dec</classname>, <classname>list1</classname>&lt; T &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="post_inc"><template>
- <template-type-parameter name="T"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating post-increment expression types, a grammar element for matching post-increment expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::post_inc</classname>, <classname>list1</classname>&lt; T &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="post_dec"><template>
- <template-type-parameter name="T"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating post-decrement expression types, a grammar element for matching post-decrement expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::post_dec</classname>, <classname>list1</classname>&lt; T &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="shift_left"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating left-shift expression types, a grammar element for matching left-shift expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::shift_left</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="shift_right"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating right-shift expression types, a grammar element for matching right-shift expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::shift_right</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="multiplies"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating multiplies expression types, a grammar element for matching multiplies expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::multiplies</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="divides"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating divides expression types, a grammar element for matching divides expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::divides</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="modulus"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating modulus expression types, a grammar element for matching modulus expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::modulus</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="plus"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating binary plus expression types, a grammar element for matching binary plus expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::plus</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="minus"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating binary minus expression types, a grammar element for matching binary minus expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::minus</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="less"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating less expression types, a grammar element for matching less expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::less</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="greater"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating greater expression types, a grammar element for matching greater expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::greater</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="less_equal"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating less-or-equal expression types, a grammar element for matching less-or-equal expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::less_equal</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="greater_equal"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating greater-or-equal expression types, a grammar element for matching greater-or-equal expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::greater_equal</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="equal_to"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating equal-to expression types, a grammar element for matching equal-to expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::equal_to</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="not_equal_to"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating not-equal-to expression types, a grammar element for matching not-equal-to expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::not_equal_to</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="logical_or"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating logical-or expression types, a grammar element for matching logical-or expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::logical_or</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="logical_and"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating logical-and expression types, a grammar element for matching logical-and expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::logical_and</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="bitwise_and"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating bitwise-and expression types, a grammar element for matching bitwise-and expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::bitwise_and</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="bitwise_or"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating bitwise-or expression types, a grammar element for matching bitwise-or expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::bitwise_or</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="bitwise_xor"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating bitwise-xor expression types, a grammar element for matching bitwise-xor expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::bitwise_xor</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="comma"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating comma expression types, a grammar element for matching comma expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::comma</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="mem_ptr"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::mem_ptr</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="assign"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating assignment expression types, a grammar element for matching assignment expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::assign</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="shift_left_assign"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating left-shift-assign expression types, a grammar element for matching left-shift-assign expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::shift_left_assign</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="shift_right_assign"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating right-shift-assign expression types, a grammar element for matching right-shift-assign expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::shift_right_assign</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="multiplies_assign"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating multiplies-assign expression types, a grammar element for matching multiplies-assign expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::multiplies_assign</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="divides_assign"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating divides-assign expression types, a grammar element for matching divides-assign expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::divides_assign</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="modulus_assign"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating modulus-assign expression types, a grammar element for matching modulus-assign expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::modulus_assign</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="plus_assign"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating plus-assign expression types, a grammar element for matching plus-assign expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::plus_assign</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="minus_assign"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating minus-assign expression types, a grammar element for matching minus-assign expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::minus_assign</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="bitwise_and_assign"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating bitwise-and-assign expression types, a grammar element for matching bitwise-and-assign expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::bitwise_and_assign</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="bitwise_or_assign"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating bitwise-or-assign expression types, a grammar element for matching bitwise-or-assign expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::bitwise_or_assign</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="bitwise_xor_assign"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating bitwise-xor-assign expression types, a grammar element for matching bitwise-xor-assign expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::bitwise_xor_assign</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="subscript"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating subscript expression types, a grammar element for matching subscript expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::subscript</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct name="member"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="U"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating virtual data member expression types, a grammar element for matching member expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>expr&lt; <classname>tag::member</classname>, <classname>list2</classname>&lt; T, U &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef></struct><struct-specialization name="function"><template>
- <template-type-parameter name="A0"/>
- </template><specialization><template-arg>A0</template-arg><template-arg>void</template-arg><template-arg>void</template-arg><template-arg>void</template-arg><template-arg>void</template-arg><template-arg>void</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating function-call expression types, a grammar element for matching function-call expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::function</classname>, <classname>list1</classname>&lt; A0 &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef><typedef name="proto_child0"><type>A0</type></typedef><typedef name="proto_child1"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="proto_child2"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="proto_child3"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="proto_child4"><type><emphasis>unspecified</emphasis></type></typedef></struct-specialization><struct-specialization name="nary_expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="A0"/>
- </template><specialization><template-arg>Tag</template-arg><template-arg>A0</template-arg><template-arg>void</template-arg><template-arg>void</template-arg><template-arg>void</template-arg><template-arg>void</template-arg><template-arg>void</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating n-ary expression types with a specified tag type, a grammar element for matching n-ary expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><description><para>Use <computeroutput>nary_expr&lt;_, vararg&lt;_&gt; &gt;</computeroutput> as a grammar element to match any n-ary expression; that is, any non-terminal. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; Tag, <classname>list1</classname>&lt; A0 &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef><typedef name="proto_child0"><type>A0</type></typedef><typedef name="proto_child1"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="proto_child2"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="proto_child3"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="proto_child4"><type><emphasis>unspecified</emphasis></type></typedef></struct-specialization><struct-specialization name="function"><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><specialization><template-arg>A0</template-arg><template-arg>A1</template-arg><template-arg>void</template-arg><template-arg>void</template-arg><template-arg>void</template-arg><template-arg>void</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating function-call expression types, a grammar element for matching function-call expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::function</classname>, <classname>list2</classname>&lt; A0, A1 &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef><typedef name="proto_child0"><type>A0</type></typedef><typedef name="proto_child1"><type>A1</type></typedef><typedef name="proto_child2"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="proto_child3"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="proto_child4"><type><emphasis>unspecified</emphasis></type></typedef></struct-specialization><struct-specialization name="nary_expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><specialization><template-arg>Tag</template-arg><template-arg>A0</template-arg><template-arg>A1</template-arg><template-arg>void</template-arg><template-arg>void</template-arg><template-arg>void</template-arg><template-arg>void</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating n-ary expression types with a specified tag type, a grammar element for matching n-ary expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><description><para>Use <computeroutput>nary_expr&lt;_, vararg&lt;_&gt; &gt;</computeroutput> as a grammar element to match any n-ary expression; that is, any non-terminal. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; Tag, <classname>list2</classname>&lt; A0, A1 &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef><typedef name="proto_child0"><type>A0</type></typedef><typedef name="proto_child1"><type>A1</type></typedef><typedef name="proto_child2"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="proto_child3"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="proto_child4"><type><emphasis>unspecified</emphasis></type></typedef></struct-specialization><struct-specialization name="function"><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><specialization><template-arg>A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>void</template-arg><template-arg>void</template-arg><template-arg>void</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating function-call expression types, a grammar element for matching function-call expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::function</classname>, <classname>list3</classname>&lt; A0, A1, A2 &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef><typedef name="proto_child0"><type>A0</type></typedef><typedef name="proto_child1"><type>A1</type></typedef><typedef name="proto_child2"><type>A2</type></typedef><typedef name="proto_child3"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="proto_child4"><type><emphasis>unspecified</emphasis></type></typedef></struct-specialization><struct-specialization name="nary_expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><specialization><template-arg>Tag</template-arg><template-arg>A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>void</template-arg><template-arg>void</template-arg><template-arg>void</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating n-ary expression types with a specified tag type, a grammar element for matching n-ary expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><description><para>Use <computeroutput>nary_expr&lt;_, vararg&lt;_&gt; &gt;</computeroutput> as a grammar element to match any n-ary expression; that is, any non-terminal. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; Tag, <classname>list3</classname>&lt; A0, A1, A2 &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef><typedef name="proto_child0"><type>A0</type></typedef><typedef name="proto_child1"><type>A1</type></typedef><typedef name="proto_child2"><type>A2</type></typedef><typedef name="proto_child3"><type><emphasis>unspecified</emphasis></type></typedef><typedef name="proto_child4"><type><emphasis>unspecified</emphasis></type></typedef></struct-specialization><struct-specialization name="function"><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><specialization><template-arg>A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>A3</template-arg><template-arg>void</template-arg><template-arg>void</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating function-call expression types, a grammar element for matching function-call expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::function</classname>, <classname>list4</classname>&lt; A0, A1, A2, A3 &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef><typedef name="proto_child0"><type>A0</type></typedef><typedef name="proto_child1"><type>A1</type></typedef><typedef name="proto_child2"><type>A2</type></typedef><typedef name="proto_child3"><type>A3</type></typedef><typedef name="proto_child4"><type><emphasis>unspecified</emphasis></type></typedef></struct-specialization><struct-specialization name="nary_expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><specialization><template-arg>Tag</template-arg><template-arg>A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>A3</template-arg><template-arg>void</template-arg><template-arg>void</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating n-ary expression types with a specified tag type, a grammar element for matching n-ary expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><description><para>Use <computeroutput>nary_expr&lt;_, vararg&lt;_&gt; &gt;</computeroutput> as a grammar element to match any n-ary expression; that is, any non-terminal. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; Tag, <classname>list4</classname>&lt; A0, A1, A2, A3 &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef><typedef name="proto_child0"><type>A0</type></typedef><typedef name="proto_child1"><type>A1</type></typedef><typedef name="proto_child2"><type>A2</type></typedef><typedef name="proto_child3"><type>A3</type></typedef><typedef name="proto_child4"><type><emphasis>unspecified</emphasis></type></typedef></struct-specialization><struct-specialization name="function"><template>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- <template-type-parameter name="A4"/>
- </template><specialization><template-arg>A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>A3</template-arg><template-arg>A4</template-arg><template-arg>void</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating function-call expression types, a grammar element for matching function-call expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; <classname>proto::tag::function</classname>, <classname>list5</classname>&lt; A0, A1, A2, A3, A4 &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef><typedef name="proto_child0"><type>A0</type></typedef><typedef name="proto_child1"><type>A1</type></typedef><typedef name="proto_child2"><type>A2</type></typedef><typedef name="proto_child3"><type>A3</type></typedef><typedef name="proto_child4"><type>A4</type></typedef></struct-specialization><struct-specialization name="nary_expr"><template>
- <template-type-parameter name="Tag"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- <template-type-parameter name="A4"/>
- </template><specialization><template-arg>Tag</template-arg><template-arg>A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>A3</template-arg><template-arg>A4</template-arg><template-arg>void</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A metafunction for generating n-ary expression types with a specified tag type, a grammar element for matching n-ary expressions, and a PrimitiveTransform that dispatches to the <computeroutput>pass_through&lt;&gt;</computeroutput> transform. </purpose><description><para>Use <computeroutput>nary_expr&lt;_, vararg&lt;_&gt; &gt;</computeroutput> as a grammar element to match any n-ary expression; that is, any non-terminal. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct><typedef name="type"><type>proto::expr&lt; Tag, <classname>list5</classname>&lt; A0, A1, A2, A3, A4 &gt; &gt;</type></typedef><typedef name="proto_base_expr"><type>type</type></typedef><typedef name="proto_child0"><type>A0</type></typedef><typedef name="proto_child1"><type>A1</type></typedef><typedef name="proto_child2"><type>A2</type></typedef><typedef name="proto_child3"><type>A3</type></typedef><typedef name="proto_child4"><type>A4</type></typedef></struct-specialization></namespace><namespace name="result_of"><struct name="is_expr"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="Void"><default>void</default></template-type-parameter>
- </template><inherit access="public">boost::mpl::false_</inherit><purpose>A Boolean metafunction that indicates whether a given type <computeroutput>T</computeroutput> is a Proto expression type. </purpose><description><para>If <computeroutput>T</computeroutput> has a nested type <computeroutput>proto_is_expr_</computeroutput> that is a typedef for <computeroutput>void</computeroutput>, <computeroutput>is_expr&lt;T&gt;::value</computeroutput> is <computeroutput>true</computeroutput>. (Note, this is the case for <computeroutput>proto::expr&lt;&gt;</computeroutput>, any type that is derived from <computeroutput>proto::extends&lt;&gt;</computeroutput> or that uses the <computeroutput>BOOST_PROTO_BASIC_EXTENDS()</computeroutput> macro.) Otherwise, <computeroutput>is_expr&lt;T&gt;::value</computeroutput> is <computeroutput>false</computeroutput>. </para></description></struct><struct-specialization name="is_expr"><template>
- <template-type-parameter name="T"/>
- </template><specialization><template-arg>T</template-arg><template-arg>typename T::proto_is_expr_</template-arg></specialization><inherit access="public">boost::mpl::true_</inherit><purpose>A Boolean metafunction that indicates whether a given type <computeroutput>T</computeroutput> is a Proto expression type. </purpose><description><para>If <computeroutput>T</computeroutput> has a nested type <computeroutput>proto_is_expr_</computeroutput> that is a typedef for <computeroutput>void</computeroutput>, <computeroutput>is_expr&lt;T&gt;::value</computeroutput> is <computeroutput>true</computeroutput>. (Note, this is the case for <computeroutput>proto::expr&lt;&gt;</computeroutput>, any type that is derived from <computeroutput>proto::extends&lt;&gt;</computeroutput> or that uses the <computeroutput>BOOST_PROTO_BASIC_EXTENDS()</computeroutput> macro.) Otherwise, <computeroutput>is_expr&lt;T&gt;::value</computeroutput> is <computeroutput>false</computeroutput>. </para></description></struct-specialization><st
ruct-specialization name="is_expr"><template>
- <template-type-parameter name="T"/>
- </template><specialization><template-arg>T &amp;</template-arg><template-arg>void</template-arg></specialization><inherit access="public">boost::proto::result_of::is_expr&lt; T &gt;</inherit></struct-specialization><struct name="tag_of"><template>
- <template-type-parameter name="Expr"/>
- </template><purpose>A metafunction that returns the tag type of a Proto expression. </purpose><typedef name="type"><type>Expr::proto_tag</type></typedef></struct><struct-specialization name="tag_of"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr &amp;</template-arg></specialization><typedef name="type"><type>Expr::proto_tag</type></typedef></struct-specialization><struct name="arity_of"><template>
- <template-type-parameter name="Expr"/>
- </template><purpose>A metafunction that returns the arity of a Proto expression. </purpose></struct><struct-specialization name="arity_of"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr &amp;</template-arg></specialization></struct-specialization><struct name="as_expr"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="Domain"><default>default_domain</default></template-type-parameter>
- <template-type-parameter name="Void"><default>void</default></template-type-parameter>
- </template><purpose>A metafunction that computes the return type of the <computeroutput>as_expr()</computeroutput> function. </purpose><description><para>The <computeroutput>as_expr&lt;&gt;</computeroutput> metafunction turns types into Proto types, if they are not already, by making them Proto terminals held by value if possible. Types which are already Proto types are left alone.</para><para>This specialization is selected when the type is not yet a Proto type. The resulting terminal type is calculated as follows:</para><para>If <computeroutput>T</computeroutput> is a function type, let <computeroutput>A</computeroutput> be <computeroutput>T &amp;</computeroutput>. Otherwise, let <computeroutput>A</computeroutput> be the type <computeroutput>T</computeroutput> stripped of cv-qualifiers. Then, the result type <computeroutput>as_expr&lt;T, Domain&gt;::type</computeroutput> is <computeroutput>boost::result_of&lt;Domain(expr&lt; tag::terminal, term&lt;A&gt; &gt;)&gt;::type</computeroutput>. </para></descr
iption><typedef name="arg0_"><type>mpl::eval_if_c&lt; is_function&lt; T &gt;::<classname>value</classname>, add_reference&lt; T &gt;, remove_cv&lt; T &gt;&gt;::type</type></typedef><typedef name="expr_"><type>proto::expr&lt; <classname>proto::tag::terminal</classname>, <classname>term</classname>&lt; arg0_ &gt; &gt;</type></typedef><typedef name="type"><type>Domain::template result&lt; void(expr_)&gt;::type</type></typedef><typedef name="reference"><type>type const</type></typedef><method-group name="public static functions"/></struct><struct-specialization name="as_expr"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="Domain"/>
- </template><specialization><template-arg>T</template-arg><template-arg>Domain</template-arg><template-arg>typename T::proto_is_expr_</template-arg></specialization><purpose>A metafunction that computes the return type of the <computeroutput>as_expr()</computeroutput> function. </purpose><description><para>The <computeroutput>as_expr&lt;&gt;</computeroutput> metafunction turns types into Proto types, if they are not already, by making them Proto terminals held by value if possible. Types which are already Proto types are left alone.</para><para>This specialization is selected when the type is already a Proto type. The result type <computeroutput>as_expr&lt;T, Domain&gt;::type</computeroutput> is <computeroutput>T</computeroutput> stripped of cv-qualifiers. </para></description><typedef name="expr_"><type>T::proto_derived_expr</type></typedef><typedef name="type"><type>Domain::template result&lt; void(expr_)&gt;::type</type></typedef><typedef name="reference"><type>type const</type></typedef><method-group
 name="public static functions"/></struct-specialization><struct-specialization name="as_expr"><template>
- <template-type-parameter name="T"/>
- </template><specialization><template-arg>T</template-arg><template-arg>typename T::proto_domain</template-arg><template-arg>typename T::proto_is_expr_</template-arg></specialization><typedef name="type"><type>T::proto_derived_expr</type></typedef><typedef name="reference"><type>T &amp;</type></typedef><method-group name="public static functions"/></struct-specialization><struct name="as_child"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="Domain"><default>default_domain</default></template-type-parameter>
- <template-type-parameter name="Void"><default>void</default></template-type-parameter>
- </template><purpose>A metafunction that computes the return type of the <computeroutput>as_child()</computeroutput> function. </purpose><description><para>The <computeroutput>as_child&lt;&gt;</computeroutput> metafunction turns types into Proto types, if they are not already, by making them Proto terminals held by reference. Types which are already Proto types are returned by reference.</para><para>This specialization is selected when the type is not yet a Proto type. The result type <computeroutput>as_child&lt;T, Domain&gt;::type</computeroutput> is <computeroutput>boost::result_of&lt;Domain(expr&lt; tag::terminal, term&lt;T &amp;&gt; &gt;)&gt;::type</computeroutput>. </para></description><typedef name="expr_"><type>proto::expr&lt; <classname>proto::tag::terminal</classname>, <classname>term</classname>&lt; T &amp; &gt; &gt;</type></typedef><typedef name="type"><type>Domain::template result&lt; void(expr_)&gt;::type</type></typedef><method-group name="public static functions"/></struct><struct-speciali
zation name="as_child"><template>
- <template-type-parameter name="T"/>
- <template-type-parameter name="Domain"/>
- </template><specialization><template-arg>T</template-arg><template-arg>Domain</template-arg><template-arg>typename T::proto_is_expr_</template-arg></specialization><purpose>A metafunction that computes the return type of the <computeroutput>as_child()</computeroutput> function. </purpose><description><para>The <computeroutput>as_child&lt;&gt;</computeroutput> metafunction turns types into Proto types, if they are not already, by making them Proto terminals held by reference. Types which are already Proto types are returned by reference.</para><para>This specialization is selected when the type is already a Proto type. The result type <computeroutput>as_child&lt;T, Domain&gt;::type</computeroutput> is <computeroutput>T &amp;</computeroutput>. </para></description><typedef name="type"><type>Domain::template result&lt; void(T)&gt;::type</type></typedef><method-group name="public static functions"/></struct-specialization><struct-specialization name="as_child"><template>
- <template-type-parameter name="T"/>
- </template><specialization><template-arg>T</template-arg><template-arg>typename T::proto_domain</template-arg><template-arg>typename T::proto_is_expr_</template-arg></specialization><purpose>A metafunction that computes the return type of the <computeroutput>as_child()</computeroutput> function. </purpose><description><para>The <computeroutput>as_child&lt;&gt;</computeroutput> metafunction turns types into Proto types, if they are not already, by making them Proto terminals held by reference. Types which are already Proto types are returned by reference.</para><para>This specialization is selected when the type is already a Proto type. The result type <computeroutput>as_child&lt;T, Domain&gt;::type</computeroutput> is <computeroutput>T &amp;</computeroutput>. </para></description><typedef name="type"><type>T &amp;</type></typedef><method-group name="public static functions"/></struct-specialization><struct name="child"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="N"><default>mpl::long_&lt;0&gt;</default></template-type-parameter>
- </template><purpose>A metafunction that returns the type of the Nth child of a Proto expression, where N is an MPL Integral Constant. </purpose><description><para><computeroutput>result_of::child&lt;Expr, N&gt;</computeroutput> is equivalent to <computeroutput>result_of::child_c&lt;Expr, N::value&gt;</computeroutput>. </para></description></struct><struct name="value"><template>
- <template-type-parameter name="Expr"/>
- </template><purpose>A metafunction that returns the type of the value of a terminal Proto expression. </purpose><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child0</type></typedef><typedef name="type"><description><para>The "value" type of the child, suitable for return by value, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const(&amp;)[N]</computeroutput> becomes <computeroutput>T const(&amp;)[N]</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T[N]</computeroutput> becomes <computeroutput>T(&amp;)[N]</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T(&amp;)[N]</computeroutput> becomes <computeroutput>T(&amp;)[N]</computeroutput> </para></listitem>
-<listitem><para><computeroutput>R(&amp;)(A0,...)</computeroutput> becomes <computeroutput>R(&amp;)(A0,...)</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref0::value_type</type></typedef></struct><struct-specialization name="value"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr &amp;</template-arg></specialization><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child0</type></typedef><typedef name="type"><description><para>The "reference" type of the child, suitable for return by reference, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const(&amp;)[N]</computeroutput> becomes <computeroutput>T const(&amp;)[N]</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T[N]</computeroutput> becomes <computeroutput>T(&amp;)[N]</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T(&amp;)[N]</computeroutput> becomes <computeroutput>T(&amp;)[N]</computeroutput> </para></listitem>
-<listitem><para><computeroutput>R(&amp;)(A0,...)</computeroutput> becomes <computeroutput>R(&amp;)(A0,...)</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref0::reference</type></typedef></struct-specialization><struct-specialization name="value"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr const &amp;</template-arg></specialization><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child0</type></typedef><typedef name="type"><description><para>The "const reference" type of the child, suitable for return by const reference, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const(&amp;)[N]</computeroutput> becomes <computeroutput>T const(&amp;)[N]</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T[N]</computeroutput> becomes <computeroutput>T const(&amp;)[N]</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T(&amp;)[N]</computeroutput> becomes <computeroutput>T(&amp;)[N]</computeroutput> </para></listitem>
-<listitem><para><computeroutput>R(&amp;)(A0,...)</computeroutput> becomes <computeroutput>R(&amp;)(A0,...)</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref0::const_reference</type></typedef></struct-specialization><struct name="left"><template>
- <template-type-parameter name="Expr"/>
- </template><inherit access="public">boost::proto::result_of::child_c&lt; Expr, 0 &gt;</inherit><purpose>A metafunction that returns the type of the left child of a binary Proto expression. </purpose><description><para><computeroutput>result_of::left&lt;Expr&gt;</computeroutput> is equivalent to <computeroutput>result_of::child_c&lt;Expr, 0&gt;</computeroutput>. </para></description></struct><struct name="right"><template>
- <template-type-parameter name="Expr"/>
- </template><inherit access="public">boost::proto::result_of::child_c&lt; Expr, 1 &gt;</inherit><purpose>A metafunction that returns the type of the right child of a binary Proto expression. </purpose><description><para><computeroutput>result_of::right&lt;Expr&gt;</computeroutput> is equivalent to <computeroutput>result_of::child_c&lt;Expr, 1&gt;</computeroutput>. </para></description></struct><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>0</template-arg></specialization><purpose>A metafunction that returns the type of the Nth child of a Proto expression. </purpose><description><para>A metafunction that returns the type of the Nth child of a Proto expression. <computeroutput>N</computeroutput> must be 0 or less than <computeroutput>Expr::proto_arity::value</computeroutput>. </para></description><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child0</type></typedef><typedef name="type"><description><para>The "value" type of the child, suitable for return by value, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref0::value_type</type></typedef></struct-specialization><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr &amp;</template-arg><template-arg>0</template-arg></specialization><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child0</type></typedef><typedef name="type"><description><para>The "reference" type of the child, suitable for return by reference, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref0::reference</type></typedef><method-group name="public static functions"/></struct-specialization><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr const &amp;</template-arg><template-arg>0</template-arg></specialization><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child0</type></typedef><typedef name="type"><description><para>The "const reference" type of the child, suitable for return by const reference, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref0::const_reference</type></typedef><method-group name="public static functions"/></struct-specialization><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>1</template-arg></specialization><purpose>A metafunction that returns the type of the Nth child of a Proto expression. </purpose><description><para>A metafunction that returns the type of the Nth child of a Proto expression. <computeroutput>N</computeroutput> must be 0 or less than <computeroutput>Expr::proto_arity::value</computeroutput>. </para></description><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child1</type></typedef><typedef name="type"><description><para>The "value" type of the child, suitable for return by value, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref1::value_type</type></typedef></struct-specialization><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr &amp;</template-arg><template-arg>1</template-arg></specialization><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child1</type></typedef><typedef name="type"><description><para>The "reference" type of the child, suitable for return by reference, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref1::reference</type></typedef><method-group name="public static functions"/></struct-specialization><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr const &amp;</template-arg><template-arg>1</template-arg></specialization><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child1</type></typedef><typedef name="type"><description><para>The "const reference" type of the child, suitable for return by const reference, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref1::const_reference</type></typedef><method-group name="public static functions"/></struct-specialization><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>2</template-arg></specialization><purpose>A metafunction that returns the type of the Nth child of a Proto expression. </purpose><description><para>A metafunction that returns the type of the Nth child of a Proto expression. <computeroutput>N</computeroutput> must be 0 or less than <computeroutput>Expr::proto_arity::value</computeroutput>. </para></description><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child2</type></typedef><typedef name="type"><description><para>The "value" type of the child, suitable for return by value, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref2::value_type</type></typedef></struct-specialization><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr &amp;</template-arg><template-arg>2</template-arg></specialization><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child2</type></typedef><typedef name="type"><description><para>The "reference" type of the child, suitable for return by reference, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref2::reference</type></typedef><method-group name="public static functions"/></struct-specialization><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr const &amp;</template-arg><template-arg>2</template-arg></specialization><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child2</type></typedef><typedef name="type"><description><para>The "const reference" type of the child, suitable for return by const reference, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref2::const_reference</type></typedef><method-group name="public static functions"/></struct-specialization><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>3</template-arg></specialization><purpose>A metafunction that returns the type of the Nth child of a Proto expression. </purpose><description><para>A metafunction that returns the type of the Nth child of a Proto expression. <computeroutput>N</computeroutput> must be 0 or less than <computeroutput>Expr::proto_arity::value</computeroutput>. </para></description><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child3</type></typedef><typedef name="type"><description><para>The "value" type of the child, suitable for return by value, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref3::value_type</type></typedef></struct-specialization><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr &amp;</template-arg><template-arg>3</template-arg></specialization><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child3</type></typedef><typedef name="type"><description><para>The "reference" type of the child, suitable for return by reference, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref3::reference</type></typedef><method-group name="public static functions"/></struct-specialization><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr const &amp;</template-arg><template-arg>3</template-arg></specialization><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child3</type></typedef><typedef name="type"><description><para>The "const reference" type of the child, suitable for return by const reference, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref3::const_reference</type></typedef><method-group name="public static functions"/></struct-specialization><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>4</template-arg></specialization><purpose>A metafunction that returns the type of the Nth child of a Proto expression. </purpose><description><para>A metafunction that returns the type of the Nth child of a Proto expression. <computeroutput>N</computeroutput> must be 0 or less than <computeroutput>Expr::proto_arity::value</computeroutput>. </para></description><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child4</type></typedef><typedef name="type"><description><para>The "value" type of the child, suitable for return by value, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref4::value_type</type></typedef></struct-specialization><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr &amp;</template-arg><template-arg>4</template-arg></specialization><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child4</type></typedef><typedef name="type"><description><para>The "reference" type of the child, suitable for return by reference, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref4::reference</type></typedef><method-group name="public static functions"/></struct-specialization><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr const &amp;</template-arg><template-arg>4</template-arg></specialization><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child4</type></typedef><typedef name="type"><description><para>The "const reference" type of the child, suitable for return by const reference, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref4::const_reference</type></typedef><method-group name="public static functions"/></struct-specialization><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>5</template-arg></specialization><purpose>A metafunction that returns the type of the Nth child of a Proto expression. </purpose><description><para>A metafunction that returns the type of the Nth child of a Proto expression. <computeroutput>N</computeroutput> must be 0 or less than <computeroutput>Expr::proto_arity::value</computeroutput>. </para></description><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child5</type></typedef><typedef name="type"><description><para>The "value" type of the child, suitable for return by value, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref5::value_type</type></typedef></struct-specialization><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr &amp;</template-arg><template-arg>5</template-arg></specialization><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child5</type></typedef><typedef name="type"><description><para>The "reference" type of the child, suitable for return by reference, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref5::reference</type></typedef><method-group name="public static functions"/></struct-specialization><struct-specialization name="child_c"><template>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>Expr const &amp;</template-arg><template-arg>5</template-arg></specialization><typedef name="value_type"><description><para>The raw type of the Nth child as it is stored within <computeroutput>Expr</computeroutput>. This may be a value or a reference </para></description><type>Expr::proto_child5</type></typedef><typedef name="type"><description><para>The "const reference" type of the child, suitable for return by const reference, computed as follows: <itemizedlist>
-<listitem><para><computeroutput>T const &amp;</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T &amp;</computeroutput> becomes <computeroutput>T &amp;</computeroutput> </para></listitem>
-<listitem><para><computeroutput>T</computeroutput> becomes <computeroutput>T const &amp;</computeroutput> </para></listitem>
-</itemizedlist>
-</para></description><type>Expr::proto_child_ref5::const_reference</type></typedef><method-group name="public static functions"/></struct-specialization></namespace><overloaded-function name="as_expr"><signature><type><classname>result_of::as_expr</classname>&lt; T &gt;::reference</type><template>
- <template-type-parameter name="T"/>
- </template><parameter name="t"><paramtype>T &amp;</paramtype><description><para>The object to wrap.</para></description></parameter></signature><signature><type><classname>result_of::as_expr</classname>&lt; T const &gt;::reference</type><template>
- <template-type-parameter name="T"/>
- </template><parameter name="t"><paramtype>T const &amp;</paramtype></parameter></signature><purpose>A function that wraps non-Proto expression types in Proto terminals and leaves Proto expression types alone. </purpose><description><para>The <computeroutput>as_expr()</computeroutput> function turns objects into Proto terminals if they are not Proto expression types already. Non-Proto types are held by value, if possible. Types which are already Proto types are left alone and returned by reference.</para><para>This function can be called either with an explicitly specified <computeroutput>Domain</computeroutput> parameter (i.e., <computeroutput>as_expr&lt;Domain&gt;(t)</computeroutput>), or without (i.e., <computeroutput>as_expr(t)</computeroutput>). If no domain is specified, <computeroutput>default_domain</computeroutput> is assumed.</para><para>If <computeroutput>is_expr&lt;T&gt;::value</computeroutput> is <computeroutput>true</computeroutput>, then the argument is returned unmodified, by referenc
e. Otherwise, the argument is wrapped in a Proto terminal expression node according to the following rules. If <computeroutput>T</computeroutput> is a function type, let <computeroutput>A</computeroutput> be <computeroutput>T &amp;</computeroutput>. Otherwise, let <computeroutput>A</computeroutput> be the type <computeroutput>T</computeroutput> stripped of cv-qualifiers. Then, <computeroutput>as_expr()</computeroutput> returns <computeroutput>Domain()(terminal&lt;A&gt;::type::make(t))</computeroutput>.</para><para>
-This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></overloaded-function><overloaded-function name="as_child"><signature><type><classname>result_of::as_child</classname>&lt; T &gt;::type</type><template>
- <template-type-parameter name="T"/>
- </template><parameter name="t"><paramtype>T &amp;</paramtype><description><para>The object to wrap.</para></description></parameter></signature><signature><type><classname>result_of::as_child</classname>&lt; T const &gt;::type</type><template>
- <template-type-parameter name="T"/>
- </template><parameter name="t"><paramtype>T const &amp;</paramtype></parameter></signature><purpose>A function that wraps non-Proto expression types in Proto terminals (by reference) and returns Proto expression types by reference. </purpose><description><para>The <computeroutput>as_child()</computeroutput> function turns objects into Proto terminals if they are not Proto expression types already. Non-Proto types are held by reference. Types which are already Proto types are simply returned as-is.</para><para>This function can be called either with an explicitly specified <computeroutput>Domain</computeroutput> parameter (i.e., <computeroutput>as_child&lt;Domain&gt;(t)</computeroutput>), or without (i.e., <computeroutput>as_child(t)</computeroutput>). If no domain is specified, <computeroutput>default_domain</computeroutput> is assumed.</para><para>If <computeroutput>is_expr&lt;T&gt;::value</computeroutput> is <computeroutput>true</computeroutput>, then the argument is returned as-is. Otherwise, <co
mputeroutput>as_child()</computeroutput> returns <computeroutput>Domain()(terminal&lt;T &amp;&gt;::type::make(t))</computeroutput>.</para><para>
-This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></overloaded-function><overloaded-function name="child"><signature><type><classname>result_of::child</classname>&lt; Expr &amp;, N &gt;::type</type><template>
- <template-type-parameter name="N"/>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The Proto expression. </para></description></parameter></signature><signature><type><classname>result_of::child</classname>&lt; Expr const &amp;, N &gt;::type</type><template>
- <template-type-parameter name="N"/>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter></signature><signature><type>Expr2::proto_base_expr::proto_child_ref0::reference</type><template>
- <template-type-parameter name="Expr2"/>
- </template><parameter name="expr2"><paramtype>Expr2 &amp;</paramtype></parameter></signature><signature><type>Expr2::proto_base_expr::proto_child_ref0::const_reference</type><template>
- <template-type-parameter name="Expr2"/>
- </template><parameter name="expr2"><paramtype>Expr2 const &amp;</paramtype></parameter></signature><purpose>Return the Nth child of the specified Proto expression. </purpose><description><para>Return the Nth child of the specified Proto expression. If <computeroutput>N</computeroutput> is not specified, as in <computeroutput>child(expr)</computeroutput>, then <computeroutput>N</computeroutput> is assumed to be <computeroutput>mpl::long_&lt;0&gt;</computeroutput>. The child is returned by reference. If the expression is holding the child in a <computeroutput>ref_&lt;&gt;</computeroutput> wrapper, it is unwrapped before it is returned.</para><para>
-
-
-
-</para></description><requires><para><computeroutput>is_expr&lt;Expr&gt;::value</computeroutput> is <computeroutput>true</computeroutput>. </para><para><computeroutput>N</computeroutput> is an MPL Integral Constant. </para><para><computeroutput>N::value == 0 || N::value &lt; Expr::proto_arity::value</computeroutput> </para></requires><returns><para>A reference to the Nth child </para></returns><throws><simpara>Will not throw.</simpara></throws></overloaded-function><overloaded-function name="child_c"><signature><type>result_of::child_c&lt; Expr &amp;, N &gt;::type</type><template>
- <template-nontype-parameter name="N"><type>long</type></template-nontype-parameter>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The Proto expression. </para></description></parameter></signature><signature><type>result_of::child_c&lt; Expr const &amp;, N &gt;::type</type><template>
- <template-nontype-parameter name="N"><type>long</type></template-nontype-parameter>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter></signature><purpose>Return the Nth child of the specified Proto expression. </purpose><description><para>Return the Nth child of the specified Proto expression. The child is returned by reference. If the expression is holding the child in a <computeroutput>ref_&lt;&gt;</computeroutput> wrapper, it is unwrapped before it is returned.</para><para>
-
-
-
-</para></description><requires><para><computeroutput>is_expr&lt;Expr&gt;::value</computeroutput> is <computeroutput>true</computeroutput>. </para><para><computeroutput>N == 0 || N &lt; Expr::proto_arity::value</computeroutput> </para></requires><returns><para>A reference to the Nth child </para></returns><throws><simpara>Will not throw.</simpara></throws></overloaded-function><overloaded-function name="value"><signature><type><classname>result_of::value</classname>&lt; Expr &amp; &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The Proto terminal expression. </para></description></parameter></signature><signature><type><classname>result_of::value</classname>&lt; Expr const &amp; &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter></signature><purpose>Return the value stored within the specified Proto terminal expression. </purpose><description><para>Return the the value stored within the specified Proto terminal expression. The value is returned by reference.</para><para>
-
-
-
-</para></description><requires><para><computeroutput>Expr::proto_tag</computeroutput> is <computeroutput>tag::terminal</computeroutput>. </para><para><computeroutput>N::value == 0</computeroutput> </para></requires><returns><para>A reference to the terminal's value </para></returns><throws><simpara>Will not throw.</simpara></throws></overloaded-function><overloaded-function name="left"><signature><type><classname>result_of::left</classname>&lt; Expr &amp; &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The Proto expression. </para></description></parameter></signature><signature><type><classname>result_of::left</classname>&lt; Expr const &amp; &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter></signature><purpose>Return the left child of the specified binary Proto expression. </purpose><description><para>Return the left child of the specified binary Proto expression. The child is returned by reference.</para><para>
-
-
-
-</para></description><requires><para><computeroutput>is_expr&lt;Expr&gt;::value</computeroutput> is <computeroutput>true</computeroutput>. </para><para><computeroutput>2 == Expr::proto_arity::value</computeroutput> </para></requires><returns><para>A reference to the left child </para></returns><throws><simpara>Will not throw.</simpara></throws></overloaded-function><overloaded-function name="right"><signature><type><classname>result_of::right</classname>&lt; Expr &amp; &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype><description><para>The Proto expression. </para></description></parameter></signature><signature><type><classname>result_of::right</classname>&lt; Expr const &amp; &gt;::type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr const &amp;</paramtype></parameter></signature><purpose>Return the right child of the specified binary Proto expression. </purpose><description><para>Return the right child of the specified binary Proto expression. The child is returned by reference.</para><para>
-
-
-
-</para></description><requires><para><computeroutput>is_expr&lt;Expr&gt;::value</computeroutput> is <computeroutput>true</computeroutput>. </para><para><computeroutput>2 == Expr::proto_arity::value</computeroutput> </para></requires><returns><para>A reference to the right child </para></returns><throws><simpara>Will not throw.</simpara></throws></overloaded-function></namespace></namespace></header><header name="boost/proto/transform.hpp"><para>Includes all the transforms in the transform/ sub-directory. </para></header><header name="boost/proto/transform/arg.hpp"><para>Contains definition of the argN transforms. </para><namespace name="boost"><namespace name="proto"><struct name="_expr"><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform that returns the current expression unmodified. </purpose><description><para>Example:</para><para><programlisting> proto::terminal&lt;int&gt;::type i = {42};
- proto::terminal&lt;int&gt;::type &amp; j = proto::_expr()(i);
- assert( boost::addressof(i) == boost::addressof(j) );
-</programlisting> </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type>Expr</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>impl::expr_param</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression. </para></description></parameter><parameter name=""><paramtype>typename impl::state_param</paramtype></parameter><parameter name=""><paramtype>typename impl::data_param</paramtype></parameter><description><para>Returns the current expression.
-
-
-</para></description><returns><para><computeroutput>expr</computeroutput> </para></returns><throws><simpara>Will not throw.</simpara></throws></method></method-group></struct></struct><struct name="_state"><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform that returns the current state unmodified. </purpose><description><para>Example:</para><para><programlisting> proto::terminal&lt;int&gt;::type i = {42};
- char ch = proto::_state()(i, 'a');
- assert( ch == 'a' );
-</programlisting> </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type>State</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>impl::state_param</type><parameter name=""><paramtype>typename impl::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl::state_param</paramtype><description><para>The current state. </para></description></parameter><parameter name=""><paramtype>typename impl::data_param</paramtype></parameter><description><para>Returns the current state.
-
-
-</para></description><returns><para><computeroutput>state</computeroutput> </para></returns><throws><simpara>Will not throw.</simpara></throws></method></method-group></struct></struct><struct name="_data"><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform that returns the current data unmodified. </purpose><description><para>Example:</para><para><programlisting> proto::terminal&lt;int&gt;::type i = {42};
- std::string str("hello");
- std::string &amp; data = proto::_data()(i, 'a', str);
- assert( &amp;str == &amp;data );
-</programlisting> </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type>Data</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>impl::data_param</type><parameter name=""><paramtype>typename impl::expr_param</paramtype></parameter><parameter name=""><paramtype>typename impl::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl::data_param</paramtype><description><para>The current data. </para></description></parameter><description><para>Returns the current data.
-
-
-</para></description><returns><para><computeroutput>data</computeroutput> </para></returns><throws><simpara>Will not throw.</simpara></throws></method></method-group></struct></struct><struct name="_child_c"><template>
- <template-nontype-parameter name="N"><type>int</type></template-nontype-parameter>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform that returns N-th child of the current expression. </purpose><description><para>Example:</para><para><programlisting> proto::terminal&lt;int&gt;::type i = {42};
- proto::terminal&lt;int&gt;::type &amp; j = proto::_child_c&lt;0&gt;()(-i);
- assert( boost::addressof(i) == boost::addressof(j) );
-</programlisting> </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type>result_of::child_c&lt; Expr, N &gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_of::child_c&lt; typename impl::expr_param, N &gt;::type</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression. </para></description></parameter><parameter name=""><paramtype>typename impl::state_param</paramtype></parameter><parameter name=""><paramtype>typename impl::data_param</paramtype></parameter><description><para>Returns the N-th child of <computeroutput>expr</computeroutput>
-
-
-
-</para></description><requires><para><computeroutput>arity_of&lt;Expr&gt;::value &gt; N</computeroutput> </para></requires><returns><para><computeroutput>proto::child_c&lt;N&gt;(expr)</computeroutput> </para></returns><throws><simpara>Will not throw.</simpara></throws></method></method-group></struct></struct><struct name="_value"><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform that returns the value of the current terminal expression. </purpose><description><para>Example:</para><para><programlisting> proto::terminal&lt;int&gt;::type i = {42};
- int j = proto::_value()(i);
- assert( 42 == j );
-</programlisting> </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><classname>result_of::value</classname>&lt; Expr &gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type><classname>result_of::value</classname>&lt; typename impl::expr_param &gt;::type</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression. </para></description></parameter><parameter name=""><paramtype>typename impl::state_param</paramtype></parameter><parameter name=""><paramtype>typename impl::data_param</paramtype></parameter><description><para>Returns the value of the specified terminal expression.
-
-
-
-</para></description><requires><para><computeroutput>arity_of&lt;Expr&gt;::value == 0</computeroutput>. </para></requires><returns><para><computeroutput>proto::value(expr)</computeroutput> </para></returns><throws><simpara>Will not throw.</simpara></throws></method></method-group></struct></struct><struct name="_byref"><inherit access="public">boost::proto::callable</inherit><purpose>A unary CallableTransform that wraps its argument in a <computeroutput>boost::reference_wrapper&lt;&gt;</computeroutput>. </purpose><description><para>Example:</para><para><programlisting> proto::terminal&lt;int&gt;::type i = {42};
- boost::reference_wrapper&lt;proto::terminal&lt;int&gt;::type&gt; j
- = proto::when&lt;_, proto::_byref(_)&gt;()(i);
- assert( boost::addressof(i) == boost::addressof(j.get()) );
-</programlisting> </para></description><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="T"/>
- </template><specialization><template-arg>This(T &amp;)</template-arg></specialization><typedef name="type"><type>boost::reference_wrapper&lt; T &gt; const</type></typedef></struct-specialization><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="T"/>
- </template><specialization><template-arg>This(T)</template-arg></specialization><typedef name="type"><type>boost::reference_wrapper&lt; T const &gt; const</type></typedef></struct-specialization><method-group name="public member functions"><method name="operator()" cv="const"><type>boost::reference_wrapper&lt; T &gt; const</type><template>
- <template-type-parameter name="T"/>
- </template><parameter name="t"><paramtype>T &amp;</paramtype><description><para>The object to wrap </para></description></parameter><description><para>Wrap the parameter <computeroutput>t</computeroutput> in a <computeroutput>boost::reference_wrapper&lt;&gt;</computeroutput>
-
-
-</para></description><returns><para><computeroutput>boost::ref(t)</computeroutput> </para></returns><throws><simpara>Will not throw.</simpara></throws></method><method name="operator()" cv="const"><type>boost::reference_wrapper&lt; T const &gt; const</type><template>
- <template-type-parameter name="T"/>
- </template><parameter name="t"><paramtype>T const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group></struct><struct name="_byval"><inherit access="public">boost::proto::callable</inherit><purpose>A unary CallableTransform that strips references and <computeroutput>boost::reference_wrapper&lt;&gt;</computeroutput> from its argument. </purpose><description><para>Example:</para><para><programlisting> proto::terminal&lt;int&gt;::type i = {42};
- int j = 67;
- int k = proto::when&lt;_, proto::_byval(proto::_state)&gt;()(i, boost::ref(j));
- assert( 67 == k );
-</programlisting> </para></description><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="T"/>
- </template><specialization><template-arg>This(boost::reference_wrapper&lt; T &gt;)</template-arg></specialization><inherit access="public">boost::proto::_byval::result&lt; This(T)&gt;</inherit></struct-specialization><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="T"/>
- </template><specialization><template-arg>This(T &amp;)</template-arg></specialization><inherit access="public">boost::proto::_byval::result&lt; This(T)&gt;</inherit></struct-specialization><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="T"/>
- </template><specialization><template-arg>This(T)</template-arg></specialization><typedef name="type"><type>T</type></typedef></struct-specialization><method-group name="public member functions"><method name="operator()" cv="const"><type>T const &amp;</type><template>
- <template-type-parameter name="T"/>
- </template><parameter name="t"><paramtype>T const &amp;</paramtype><description><para>The object to unref </para></description></parameter><description><para>
-
-
-</para></description><returns><para><computeroutput>t</computeroutput> </para></returns><throws><simpara>Will not throw.</simpara></throws></method><method name="operator()" cv="const"><type>T &amp;</type><template>
- <template-type-parameter name="T"/>
- </template><parameter name="t"><paramtype>boost::reference_wrapper&lt; T &gt; const &amp;</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method></method-group></struct></namespace></namespace></header><header name="boost/proto/transform/call.hpp"><para>Contains definition of the call&lt;&gt; transform. </para><namespace name="boost"><namespace name="proto"><struct name="call"><template>
- <template-type-parameter name="PrimitiveTransform"/>
- </template><purpose>Wrap <computeroutput>PrimitiveTransform</computeroutput> so that <computeroutput>when&lt;&gt;</computeroutput> knows it is callable. Requires that the parameter is actually a PrimitiveTransform. </purpose><description><para>This form of <computeroutput>call&lt;&gt;</computeroutput> is useful for annotating an arbitrary PrimitiveTransform as callable when using it with <computeroutput>when&lt;&gt;</computeroutput>. Consider the following transform, which is parameterized with another transform.</para><para><programlisting> template&lt;typename Grammar&gt;
- struct Foo
- : when&lt;
- unary_plus&lt;Grammar&gt;
- , Grammar(_child) // May or may not work.
- &gt;
- {};
-</programlisting></para><para>The problem with the above is that <computeroutput>when&lt;&gt;</computeroutput> may or may not recognize <computeroutput>Grammar</computeroutput> as callable, depending on how <computeroutput>Grammar</computeroutput> is implemented. (See <computeroutput>is_callable&lt;&gt;</computeroutput> for a discussion of this issue.) You can guard against the issue by wrapping <computeroutput>Grammar</computeroutput> in <computeroutput>call&lt;&gt;</computeroutput>, such as:</para><para><programlisting> template&lt;typename Grammar&gt;
- struct Foo
- : when&lt;
- unary_plus&lt;Grammar&gt;
- , call&lt;Grammar&gt;(_child) // OK, this works
- &gt;
- {};
-</programlisting></para><para>The above could also have been written as:</para><para><programlisting> template&lt;typename Grammar&gt;
- struct Foo
- : when&lt;
- unary_plus&lt;Grammar&gt;
- , call&lt;Grammar(_child)&gt; // OK, this works, too
- &gt;
- {};
-</programlisting> </para></description></struct><struct-specialization name="call"><template>
- <template-type-parameter name="Fun"/>
- </template><specialization><template-arg>Fun()</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>Either call the PolymorphicFunctionObject with 0 arguments, or invoke the PrimitiveTransform with 3 arguments. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><description><para>Either call the PolymorphicFunctionObject <computeroutput>Fun</computeroutput> with 0 arguments; or invoke the PrimitiveTransform <computeroutput>Fun</computeroutput> with 3 arguments: the current expression, state, and data.</para><para>If <computeroutput>Fun</computeroutput> is a nullary PolymorphicFunctionObject, return <computeroutput>Fun()()</computeroutput>. Otherwise, return <computeroutput>Fun()(expr, state, data)</computeroutput>.</para><para>
-</para></description></struct></struct-specialization><struct-specialization name="call"><template>
- <template-type-parameter name="Fun"/>
- <template-type-parameter name="A0"/>
- </template><specialization><template-arg>Fun(A0)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>Either call the PolymorphicFunctionObject with 1 argument, or invoke the PrimitiveTransform with 3 arguments. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><description><para>Let <computeroutput>x</computeroutput> be <computeroutput>when&lt;_, A0&gt;()(expr, state, data)</computeroutput> and <computeroutput>X</computeroutput> be the type of <computeroutput>x</computeroutput>. If <computeroutput>Fun</computeroutput> is a unary PolymorphicFunctionObject that accepts <computeroutput>x</computeroutput>, then <computeroutput>type</computeroutput> is a typedef for <computeroutput>boost::result_of&lt;Fun(X)&gt;::type</computeroutput>. Otherwise, it is a typedef for <computeroutput>boost::result_of&lt;Fun(X, State, Data)&gt;::type</computeroutput>. Either call the PolymorphicFunctionObject with 1 argument: the result of applying the <computeroutput>A0</computeroutput> transform; or invoke the PrimitiveTransform with 3 arguments: result of applying the <computeroutput>A0</computeroutput> transform, the state, and the data.</para><para>Let <computeroutput>x</computeroutput> be <computeroutput>when&lt;_, A0&gt;()(expr, state, data)</computeroutput>. If <co
mputeroutput>Fun</computeroutput> is a unary PolymorphicFunctionObject that accepts <computeroutput>x</computeroutput>, then return <computeroutput>Fun()(x)</computeroutput>. Otherwise, return <computeroutput>Fun()(x, state, data)</computeroutput>.</para><para>
-</para></description></struct><struct name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- <template-nontype-parameter name="B"><type>bool</type></template-nontype-parameter>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="a0"><type><classname>when</classname>&lt; <classname>_</classname>, A0 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="result_type"><type>boost::result_of&lt; <classname>Fun</classname>(a0)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>true</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="a0"><type><classname>when</classname>&lt; <classname>_</classname>, A0 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="result_type"><type>Fun::template impl&lt; a0, State, Data &gt;::result_type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization></struct-specialization><struct-specialization name="call"><template>
- <template-type-parameter name="Fun"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><specialization><template-arg>Fun(A0</template-arg><template-arg>A1)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>Either call the PolymorphicFunctionObject with 2 arguments, or invoke the PrimitiveTransform with 3 arguments. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><description><para>Let <computeroutput>x</computeroutput> be <computeroutput>when&lt;_, A0&gt;()(expr, state, data)</computeroutput> and <computeroutput>X</computeroutput> be the type of <computeroutput>x</computeroutput>. Let <computeroutput>y</computeroutput> be <computeroutput>when&lt;_, A1&gt;()(expr, state, data)</computeroutput> and <computeroutput>Y</computeroutput> be the type of <computeroutput>y</computeroutput>. If <computeroutput>Fun</computeroutput> is a binary PolymorphicFunction object that accepts <computeroutput>x</computeroutput> and <computeroutput>y</computeroutput>, then <computeroutput>type</computeroutput> is a typedef for <computeroutput>boost::result_of&lt;Fun(X, Y)&gt;::type</computeroutput>. Otherwise, it is a typedef for <computeroutput>boost::result_of&lt;Fun(X, Y, Data)&gt;::type</computeroutput>. Either call the PolymorphicFunctionObject with 2 arguments: the result of applying the <computeroutput>A0</computeroutput> transform, and the result of applying the <co
mputeroutput>A1</computeroutput> transform; or invoke the PrimitiveTransform with 3 arguments: the result of applying the <computeroutput>A0</computeroutput> transform, the result of applying the <computeroutput>A1</computeroutput> transform, and the data.</para><para>Let <computeroutput>x</computeroutput> be <computeroutput>when&lt;_, A0&gt;()(expr, state, data)</computeroutput>. Let <computeroutput>y</computeroutput> be <computeroutput>when&lt;_, A1&gt;()(expr, state, data)</computeroutput>. If <computeroutput>Fun</computeroutput> is a binary PolymorphicFunction object that accepts <computeroutput>x</computeroutput> and <computeroutput>y</computeroutput>, return <computeroutput>Fun()(x, y)</computeroutput>. Otherwise, return <computeroutput>Fun()(x, y, data)</computeroutput>.</para><para>
-</para></description></struct><struct name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- <template-nontype-parameter name="B"><type>bool</type></template-nontype-parameter>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="a0"><type><classname>when</classname>&lt; <classname>_</classname>, A0 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="a1"><type><classname>when</classname>&lt; <classname>_</classname>, A1 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="result_type"><type>boost::result_of&lt; <classname>Fun</classname>(a0, a1)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>true</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="a0"><type><classname>when</classname>&lt; <classname>_</classname>, A0 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="a1"><type><classname>when</classname>&lt; <classname>_</classname>, A1 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="result_type"><type>Fun::template impl&lt; a0, a1, Data &gt;::result_type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl
2::data_param</paramtype></parameter></method></method-group></struct-specialization></struct-specialization><struct-specialization name="call"><template>
- <template-type-parameter name="Fun"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><specialization><template-arg>Fun(A0</template-arg><template-arg>A1</template-arg><template-arg>A2)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>Call the PolymorphicFunctionObject or the PrimitiveTransform with the current expression, state and data, transformed according to <computeroutput>A0</computeroutput>, <computeroutput>A1</computeroutput>, and <computeroutput>A2</computeroutput>, respectively. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><description><para>Let <computeroutput>x</computeroutput> be <computeroutput>when&lt;_, A0&gt;()(expr, state, data)</computeroutput>. Let <computeroutput>y</computeroutput> be <computeroutput>when&lt;_, A1&gt;()(expr, state, data)</computeroutput>. Let <computeroutput>z</computeroutput> be <computeroutput>when&lt;_, A2&gt;()(expr, state, data)</computeroutput>. Return <computeroutput>Fun()(x, y, z)</computeroutput>.</para><para>
-</para></description></struct><struct name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- <template-nontype-parameter name="B"><type>bool</type></template-nontype-parameter>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="a0"><type><classname>when</classname>&lt; <classname>_</classname>, A0 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="a1"><type><classname>when</classname>&lt; <classname>_</classname>, A1 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="a2"><type><classname>when</classname>&lt; <classname>_</classname>, A2 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="result_type"><type>boost::result_of&lt; <classname>Fun</classname>(a0, a1, a2)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_param</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>t
ypename impl2::data_param</paramtype></parameter></method></method-group></struct><struct-specialization name="impl2"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg><template-arg>true</template-arg></specialization><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="a0"><type><classname>when</classname>&lt; <classname>_</classname>, A0 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="a1"><type><classname>when</classname>&lt; <classname>_</classname>, A1 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="a2"><type><classname>when</classname>&lt; <classname>_</classname>, A2 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="result_type"><type>Fun::template impl&lt; a0, a1, a2 &gt;::result_type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl2::expr_pa
ram</paramtype></parameter><parameter name="state"><paramtype>typename impl2::state_param</paramtype></parameter><parameter name="data"><paramtype>typename impl2::data_param</paramtype></parameter></method></method-group></struct-specialization></struct-specialization><struct-specialization name="call"><template>
- <template-type-parameter name="Fun"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><specialization><template-arg>Fun(A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>A3)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>Call the PolymorphicFunctionObject <computeroutput>Fun</computeroutput> with the current expression, state and data, transformed according to <computeroutput>A0</computeroutput> through <computeroutput>AN</computeroutput>. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="a0"><type><classname>when</classname>&lt; <classname>_</classname>, A0 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="a1"><type><classname>when</classname>&lt; <classname>_</classname>, A1 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="a2"><type><classname>when</classname>&lt; <classname>_</classname>, A2 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="a3"><type><classname>when</classname>&lt; <classname>_</classname>, A3 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="result_type"><type>boost::result_of&lt; <classname>Fun</classname>(a0, a1, a2, a3)&gt;::type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typen
ame impl::expr_param</paramtype><description><para>The current expression </para></description></parameter><parameter name="state"><paramtype>typename impl::state_param</paramtype><description><para>The current state </para></description></parameter><parameter name="data"><paramtype>typename impl::data_param</paramtype><description><para>An arbitrary data </para></description></parameter><description><para>Let <computeroutput>ax</computeroutput> be <computeroutput>when&lt;_, Ax&gt;()(expr, state, data)</computeroutput> for each <computeroutput>x</computeroutput> in <computeroutput>[0,N]</computeroutput>. Return <computeroutput>Fun()(a0, a1,... aN)</computeroutput>.</para><para>
-</para></description></method></method-group></struct></struct-specialization><struct-specialization name="call"><template>
- <template-type-parameter name="Fun"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- <template-type-parameter name="A4"/>
- </template><specialization><template-arg>Fun(A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>A3</template-arg><template-arg>A4)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>Call the PolymorphicFunctionObject <computeroutput>Fun</computeroutput> with the current expression, state and data, transformed according to <computeroutput>A0</computeroutput> through <computeroutput>AN</computeroutput>. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="a0"><type><classname>when</classname>&lt; <classname>_</classname>, A0 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="a1"><type><classname>when</classname>&lt; <classname>_</classname>, A1 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="a2"><type><classname>when</classname>&lt; <classname>_</classname>, A2 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="a3"><type><classname>when</classname>&lt; <classname>_</classname>, A3 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="a4"><type><classname>when</classname>&lt; <classname>_</classname>, A4 &gt;::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><typedef name="result_type"><type>boost::result_of&lt; <classname>Fun</classname>(a0, a1, a2, a3, a4)&gt;::
type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression </para></description></parameter><parameter name="state"><paramtype>typename impl::state_param</paramtype><description><para>The current state </para></description></parameter><parameter name="data"><paramtype>typename impl::data_param</paramtype><description><para>An arbitrary data </para></description></parameter><description><para>Let <computeroutput>ax</computeroutput> be <computeroutput>when&lt;_, Ax&gt;()(expr, state, data)</computeroutput> for each <computeroutput>x</computeroutput> in <computeroutput>[0,N]</computeroutput>. Return <computeroutput>Fun()(a0, a1,... aN)</computeroutput>.</para><para>
-</para></description></method></method-group></struct></struct-specialization></namespace></namespace></header><header name="boost/proto/transform/fold.hpp"><para>Contains definition of the fold&lt;&gt; and reverse_fold&lt;&gt; transforms. </para><namespace name="boost"><namespace name="proto"><struct name="fold"><template>
- <template-type-parameter name="Sequence"/>
- <template-type-parameter name="State0"/>
- <template-type-parameter name="Fun"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform that invokes the <computeroutput>fusion::fold&lt;&gt;</computeroutput> algorithm to accumulate. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="sequence"><purpose>A Fusion sequence. </purpose><type>remove_reference&lt; typename <classname>when</classname>&lt; <classname>_</classname>, Sequence &gt;::template <classname>impl</classname>&lt; Expr, State, Data &gt;::result_type &gt;::type</type></typedef><typedef name="state0"><purpose>An initial state for the fold. </purpose><type>remove_reference&lt; typename <classname>when</classname>&lt; <classname>_</classname>, State0 &gt;::template <classname>impl</classname>&lt; Expr, State, Data &gt;::result_type &gt;::type</type></typedef><typedef name="fun"><purpose><computeroutput>fun(v)(e,s) == when&lt;_,Fun&gt;()(e,s,v)</computeroutput> </purpose><type><emphasis>unspecified</emphasis></type></typedef><typedef name="result_type"><type>fusion::result_of::fold&lt; sequence, state0, <classname>fun</classname> &gt;::type</type></typedef><method-group name="public member functions"><method n
ame="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression </para></description></parameter><parameter name="state"><paramtype>typename impl::state_param</paramtype><description><para>The current state </para></description></parameter><parameter name="data"><paramtype>typename impl::data_param</paramtype><description><para>An arbitrary data </para></description></parameter><description><para>Let <computeroutput>seq</computeroutput> be <computeroutput>when&lt;_, Sequence&gt;()(expr, state, data)</computeroutput>, let <computeroutput>state0</computeroutput> be <computeroutput>when&lt;_, State0&gt;()(expr, state, data)</computeroutput>, and let <computeroutput>fun(data)</computeroutput> be an object such that <computeroutput>fun(data)(expr, state)</computeroutput> is equivalent to <computeroutput>when&lt;_, Fun&gt;()(expr, state, data)</computeroutput>. Then, this function returns <computeroutput>fusion::fo
ld(seq, state0, fun(data))</computeroutput>.</para><para>
-</para></description></method></method-group></struct></struct><struct name="reverse_fold"><template>
- <template-type-parameter name="Sequence"/>
- <template-type-parameter name="State0"/>
- <template-type-parameter name="Fun"/>
- </template><inherit access="public">boost::proto::fold&lt; Sequence, State0, Fun &gt;</inherit><purpose>A PrimitiveTransform that is the same as the <computeroutput>fold&lt;&gt;</computeroutput> transform, except that it folds back-to-front instead of front-to-back. It uses the <computeroutput>_reverse</computeroutput> callable PolymorphicFunctionObject to create a <computeroutput>fusion::reverse_view&lt;&gt;</computeroutput> of the sequence before invoking <computeroutput>fusion::fold&lt;&gt;</computeroutput>. </purpose></struct></namespace></namespace></header><header name="boost/proto/transform/fold_tree.hpp"><para>Contains definition of the fold_tree&lt;&gt; and reverse_fold_tree&lt;&gt; transforms. </para><namespace name="boost"><namespace name="proto"><struct name="fold_tree"><template>
- <template-type-parameter name="Sequence"/>
- <template-type-parameter name="State0"/>
- <template-type-parameter name="Fun"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform that recursively applies the <computeroutput>fold&lt;&gt;</computeroutput> transform to sub-trees that all share a common tag type. </purpose><description><para><computeroutput>fold_tree&lt;&gt;</computeroutput> is useful for flattening trees into lists; for example, you might use <computeroutput>fold_tree&lt;&gt;</computeroutput> to flatten an expression tree like <computeroutput>a | b | c</computeroutput> into a Fusion list like <computeroutput>cons(c, cons(b, cons(a)))</computeroutput>.</para><para><computeroutput>fold_tree&lt;&gt;</computeroutput> is easily understood in terms of a <computeroutput>recurse_if_&lt;&gt;</computeroutput> helper, defined as follows:</para><para><programlisting> template&lt;typename Tag, typename Fun&gt;
- struct recurse_if_
- : if_&lt;
- // If the current node has type type "Tag" ...
- is_same&lt;tag_of&lt;_&gt;, Tag&gt;()
- // ... recurse, otherwise ...
- , fold&lt;_, _state, recurse_if_&lt;Tag, Fun&gt; &gt;
- // ... apply the Fun transform.
- , Fun
- &gt;
- {};
-</programlisting></para><para>With <computeroutput>recurse_if_&lt;&gt;</computeroutput> as defined above, <computeroutput>fold_tree&lt;Sequence, State0, Fun&gt;()(expr, state, data)</computeroutput> is equivalent to <computeroutput>fold&lt;Sequence, State0, recurse_if_&lt;Expr::proto_tag, Fun&gt; &gt;()(expr, state, data).</computeroutput> It has the effect of folding a tree front-to-back, recursing into child nodes that share a tag type with the parent node. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct></struct><struct name="reverse_fold_tree"><template>
- <template-type-parameter name="Sequence"/>
- <template-type-parameter name="State0"/>
- <template-type-parameter name="Fun"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform that recursively applies the <computeroutput>reverse_fold&lt;&gt;</computeroutput> transform to sub-trees that all share a common tag type. </purpose><description><para><computeroutput>reverse_fold_tree&lt;&gt;</computeroutput> is useful for flattening trees into lists; for example, you might use <computeroutput>reverse_fold_tree&lt;&gt;</computeroutput> to flatten an expression tree like <computeroutput>a | b | c</computeroutput> into a Fusion list like <computeroutput>cons(a, cons(b, cons(c)))</computeroutput>.</para><para><computeroutput>reverse_fold_tree&lt;&gt;</computeroutput> is easily understood in terms of a <computeroutput>recurse_if_&lt;&gt;</computeroutput> helper, defined as follows:</para><para><programlisting> template&lt;typename Tag, typename Fun&gt;
- struct recurse_if_
- : if_&lt;
- // If the current node has type type "Tag" ...
- is_same&lt;tag_of&lt;_&gt;, Tag&gt;()
- // ... recurse, otherwise ...
- , reverse_fold&lt;_, _state, recurse_if_&lt;Tag, Fun&gt; &gt;
- // ... apply the Fun transform.
- , Fun
- &gt;
- {};
-</programlisting></para><para>With <computeroutput>recurse_if_&lt;&gt;</computeroutput> as defined above, <computeroutput>reverse_fold_tree&lt;Sequence, State0, Fun&gt;()(expr, state, data)</computeroutput> is equivalent to <computeroutput>reverse_fold&lt;Sequence, State0, recurse_if_&lt;Expr::proto_tag, Fun&gt; &gt;()(expr, state, data).</computeroutput> It has the effect of folding a tree back-to-front, recursing into child nodes that share a tag type with the parent node. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct></struct></namespace></namespace></header><header name="boost/proto/transform/impl.hpp"><para>Contains definition of transform&lt;&gt; and transform_impl&lt;&gt; helpers. </para><namespace name="boost"><namespace name="proto"><struct name="apply_transform"><template>
- <template-type-parameter name="PrimitiveTransform"/>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"><default>int</default></template-type-parameter>
- <template-type-parameter name="Data"><default>int</default></template-type-parameter>
- </template></struct><struct name="transform_base"><typedef name="proto_is_callable_"><type>void</type></typedef><typedef name="proto_is_transform_"><type>void</type></typedef></struct><struct name="empty_base"/><struct name="transform"><template>
- <template-type-parameter name="PrimitiveTransform"/>
- <template-type-parameter name="Base"><default>transform_base</default></template-type-parameter>
- </template><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- </template><specialization><template-arg>This(Expr)</template-arg></specialization><typedef name="type"><type>PrimitiveTransform::template impl&lt; Expr, int, int &gt;::result_type</type></typedef></struct-specialization><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- </template><specialization><template-arg>This(Expr</template-arg><template-arg>State)</template-arg></specialization><typedef name="type"><type>PrimitiveTransform::template impl&lt; Expr, State, int &gt;::result_type</type></typedef></struct-specialization><struct-specialization name="result"><template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>This(Expr</template-arg><template-arg>State</template-arg><template-arg>Data)</template-arg></specialization><typedef name="type"><type>PrimitiveTransform::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef></struct-specialization><typedef name="transform_type"><type>PrimitiveTransform</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type><classname>apply_transform</classname>&lt; PrimitiveTransform, Expr &amp; &gt;::result_type</type><template>
- <template-type-parameter name="Expr"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter></method><method name="operator()" cv="const"><type><classname>apply_transform</classname>&lt; PrimitiveTransform, Expr &amp;, State &amp; &gt;::result_type</type><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="state"><paramtype>State &amp;</paramtype></parameter></method><method name="operator()" cv="const"><type><classname>apply_transform</classname>&lt; PrimitiveTransform, Expr &amp;, State const &amp; &gt;::result_type</type><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="state"><paramtype>State const &amp;</paramtype></parameter></method><method name="operator()" cv="const"><type><classname>apply_transform</classname>&lt; PrimitiveTransform, Expr &amp;, State &amp;, Data &amp; &gt;::result_type</type><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="state"><paramtype>State &amp;</paramtype></parameter><parameter name="data"><paramtype>Data &amp;</paramtype></parameter></method><method name="operator()" cv="const"><type><classname>apply_transform</classname>&lt; PrimitiveTransform, Expr &amp;, State const &amp;, Data &amp; &gt;::result_type</type><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><parameter name="expr"><paramtype>Expr &amp;</paramtype></parameter><parameter name="state"><paramtype>State const &amp;</paramtype></parameter><parameter name="data"><paramtype>Data &amp;</paramtype></parameter></method></method-group></struct><struct name="transform_impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><typedef name="expr"><type>Expr const</type></typedef><typedef name="expr_param"><type>Expr const &amp;</type></typedef><typedef name="state"><type>State const</type></typedef><typedef name="state_param"><type>State const &amp;</type></typedef><typedef name="data"><type>Data const</type></typedef><typedef name="data_param"><type>Data const &amp;</type></typedef></struct><struct-specialization name="transform_impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr &amp;</template-arg><template-arg>State</template-arg><template-arg>Data</template-arg></specialization><typedef name="expr"><type>Expr</type></typedef><typedef name="expr_param"><type>Expr &amp;</type></typedef><typedef name="state"><type>State const</type></typedef><typedef name="state_param"><type>State const &amp;</type></typedef><typedef name="data"><type>Data const</type></typedef><typedef name="data_param"><type>Data const &amp;</type></typedef></struct-specialization><struct-specialization name="transform_impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State &amp;</template-arg><template-arg>Data</template-arg></specialization><typedef name="expr"><type>Expr const</type></typedef><typedef name="expr_param"><type>Expr const &amp;</type></typedef><typedef name="state"><type>State</type></typedef><typedef name="state_param"><type>State &amp;</type></typedef><typedef name="data"><type>Data const</type></typedef><typedef name="data_param"><type>Data const &amp;</type></typedef></struct-specialization><struct-specialization name="transform_impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State</template-arg><template-arg>Data &amp;</template-arg></specialization><typedef name="expr"><type>Expr const</type></typedef><typedef name="expr_param"><type>Expr const &amp;</type></typedef><typedef name="state"><type>State const</type></typedef><typedef name="state_param"><type>State const &amp;</type></typedef><typedef name="data"><type>Data</type></typedef><typedef name="data_param"><type>Data &amp;</type></typedef></struct-specialization><struct-specialization name="transform_impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr &amp;</template-arg><template-arg>State &amp;</template-arg><template-arg>Data</template-arg></specialization><typedef name="expr"><type>Expr</type></typedef><typedef name="expr_param"><type>Expr &amp;</type></typedef><typedef name="state"><type>State</type></typedef><typedef name="state_param"><type>State &amp;</type></typedef><typedef name="data"><type>Data const</type></typedef><typedef name="data_param"><type>Data const &amp;</type></typedef></struct-specialization><struct-specialization name="transform_impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr &amp;</template-arg><template-arg>State</template-arg><template-arg>Data &amp;</template-arg></specialization><typedef name="expr"><type>Expr</type></typedef><typedef name="expr_param"><type>Expr &amp;</type></typedef><typedef name="state"><type>State const</type></typedef><typedef name="state_param"><type>State const &amp;</type></typedef><typedef name="data"><type>Data</type></typedef><typedef name="data_param"><type>Data &amp;</type></typedef></struct-specialization><struct-specialization name="transform_impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr</template-arg><template-arg>State &amp;</template-arg><template-arg>Data &amp;</template-arg></specialization><typedef name="expr"><type>Expr const</type></typedef><typedef name="expr_param"><type>Expr const &amp;</type></typedef><typedef name="state"><type>State</type></typedef><typedef name="state_param"><type>State &amp;</type></typedef><typedef name="data"><type>Data</type></typedef><typedef name="data_param"><type>Data &amp;</type></typedef></struct-specialization><struct-specialization name="transform_impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><specialization><template-arg>Expr &amp;</template-arg><template-arg>State &amp;</template-arg><template-arg>Data &amp;</template-arg></specialization><typedef name="expr"><type>Expr</type></typedef><typedef name="expr_param"><type>Expr &amp;</type></typedef><typedef name="state"><type>State</type></typedef><typedef name="state_param"><type>State &amp;</type></typedef><typedef name="data"><type>Data</type></typedef><typedef name="data_param"><type>Data &amp;</type></typedef></struct-specialization></namespace></namespace></header><header name="boost/proto/transform/lazy.hpp"><para>Contains definition of the lazy&lt;&gt; transform. </para><namespace name="boost"><namespace name="proto"><struct name="lazy"><template>
- <template-type-parameter name="Object"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform that uses <computeroutput>make&lt;&gt;</computeroutput> to build a CallableTransform, and then uses <computeroutput>call&lt;&gt;</computeroutput> to apply it. </purpose><description><para><computeroutput>lazy&lt;&gt;</computeroutput> is useful as a higher-order transform, when the transform to be applied depends on the current state of the transformation. The invocation of the <computeroutput>make&lt;&gt;</computeroutput> transform evaluates any nested transforms, and the resulting type is treated as a CallableTransform, which is evaluated with <computeroutput>call&lt;&gt;</computeroutput>. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct></struct><struct-specialization name="lazy"><template>
- <template-type-parameter name="Object"/>
- </template><specialization><template-arg>Object()</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform that uses <computeroutput>make&lt;&gt;</computeroutput> to build a CallableTransform, and then uses <computeroutput>call&lt;&gt;</computeroutput> to apply it. </purpose><description><para><computeroutput>lazy&lt;&gt;</computeroutput> is useful as a higher-order transform, when the transform to be applied depends on the current state of the transformation. The invocation of the <computeroutput>make&lt;&gt;</computeroutput> transform evaluates any nested transforms, and the resulting type is treated as a CallableTransform, which is evaluated with <computeroutput>call&lt;&gt;</computeroutput>. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct></struct-specialization><struct-specialization name="lazy"><template>
- <template-type-parameter name="Object"/>
- <template-type-parameter name="A0"/>
- </template><specialization><template-arg>Object(A0)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform that uses <computeroutput>make&lt;&gt;</computeroutput> to build a CallableTransform, and then uses <computeroutput>call&lt;&gt;</computeroutput> to apply it. </purpose><description><para><computeroutput>lazy&lt;&gt;</computeroutput> is useful as a higher-order transform, when the transform to be applied depends on the current state of the transformation. The invocation of the <computeroutput>make&lt;&gt;</computeroutput> transform evaluates any nested transforms, and the resulting type is treated as a CallableTransform, which is evaluated with <computeroutput>call&lt;&gt;</computeroutput>. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct></struct-specialization><struct-specialization name="lazy"><template>
- <template-type-parameter name="Object"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><specialization><template-arg>Object(A0</template-arg><template-arg>A1)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform that uses <computeroutput>make&lt;&gt;</computeroutput> to build a CallableTransform, and then uses <computeroutput>call&lt;&gt;</computeroutput> to apply it. </purpose><description><para><computeroutput>lazy&lt;&gt;</computeroutput> is useful as a higher-order transform, when the transform to be applied depends on the current state of the transformation. The invocation of the <computeroutput>make&lt;&gt;</computeroutput> transform evaluates any nested transforms, and the resulting type is treated as a CallableTransform, which is evaluated with <computeroutput>call&lt;&gt;</computeroutput>. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct></struct-specialization><struct-specialization name="lazy"><template>
- <template-type-parameter name="Object"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><specialization><template-arg>Object(A0</template-arg><template-arg>A1</template-arg><template-arg>A2)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform that uses <computeroutput>make&lt;&gt;</computeroutput> to build a CallableTransform, and then uses <computeroutput>call&lt;&gt;</computeroutput> to apply it. </purpose><description><para><computeroutput>lazy&lt;&gt;</computeroutput> is useful as a higher-order transform, when the transform to be applied depends on the current state of the transformation. The invocation of the <computeroutput>make&lt;&gt;</computeroutput> transform evaluates any nested transforms, and the resulting type is treated as a CallableTransform, which is evaluated with <computeroutput>call&lt;&gt;</computeroutput>. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct></struct-specialization><struct-specialization name="lazy"><template>
- <template-type-parameter name="Object"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><specialization><template-arg>Object(A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>A3)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform that uses <computeroutput>make&lt;&gt;</computeroutput> to build a CallableTransform, and then uses <computeroutput>call&lt;&gt;</computeroutput> to apply it. </purpose><description><para><computeroutput>lazy&lt;&gt;</computeroutput> is useful as a higher-order transform, when the transform to be applied depends on the current state of the transformation. The invocation of the <computeroutput>make&lt;&gt;</computeroutput> transform evaluates any nested transforms, and the resulting type is treated as a CallableTransform, which is evaluated with <computeroutput>call&lt;&gt;</computeroutput>. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct></struct-specialization><struct-specialization name="lazy"><template>
- <template-type-parameter name="Object"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- <template-type-parameter name="A4"/>
- </template><specialization><template-arg>Object(A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>A3</template-arg><template-arg>A4)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform that uses <computeroutput>make&lt;&gt;</computeroutput> to build a CallableTransform, and then uses <computeroutput>call&lt;&gt;</computeroutput> to apply it. </purpose><description><para><computeroutput>lazy&lt;&gt;</computeroutput> is useful as a higher-order transform, when the transform to be applied depends on the current state of the transformation. The invocation of the <computeroutput>make&lt;&gt;</computeroutput> transform evaluates any nested transforms, and the resulting type is treated as a CallableTransform, which is evaluated with <computeroutput>call&lt;&gt;</computeroutput>. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct></struct-specialization></namespace></namespace></header><header name="boost/proto/transform/make.hpp"><para>Contains definition of the make&lt;&gt; transform. </para><namespace name="boost"><namespace name="proto"><struct name="protect"><template>
- <template-type-parameter name="PrimitiveTransform"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform which prevents another PrimitiveTransform from being applied in an <computeroutput>ObjectTransform</computeroutput>. </purpose><description><para>When building higher order transforms with <computeroutput>make&lt;&gt;</computeroutput> or <computeroutput>lazy&lt;&gt;</computeroutput>, you sometimes would like to build types that are parameterized with Proto transforms. In such lambda-style transforms, Proto will unhelpfully find all nested transforms and apply them, even if you don't want them to be applied. Consider the following transform, which will replace the <computeroutput>_</computeroutput> in <computeroutput>Bar&lt;_&gt;()</computeroutput> with <computeroutput>proto::terminal&lt;int&gt;type</computeroutput>:</para><para><programlisting> template&lt;typename T&gt;
- struct Bar
- {};
-
- struct Foo
- : proto::when&lt;_, Bar&lt;_&gt;() &gt;
- {};
-
- proto::terminal&lt;int&gt;::type i = {0};
-
- int main()
- {
- Foo()(i);
- std::cout &lt;&lt; typeid(Foo()(i)).name() &lt;&lt; std::endl;
- }
-</programlisting></para><para>If you actually wanted to default-construct an object of type <computeroutput>Bar&lt;_&gt;</computeroutput>, you would have to protect the <computeroutput>_</computeroutput> to prevent it from being applied. You can use <computeroutput>proto::protect&lt;&gt;</computeroutput> as follows:</para><para><programlisting> // OK: replace anything with Bar&lt;_&gt;()
- struct Foo
- : proto::when&lt;_, Bar&lt;_&gt;() &gt;
- {};
-</programlisting> </para></description><struct name="impl"><template>
- <template-type-parameter name=""/>
- <template-type-parameter name=""/>
- <template-type-parameter name=""/>
- </template><typedef name="result_type"><type>PrimitiveTransform</type></typedef></struct></struct><struct name="make"><template>
- <template-type-parameter name="Object"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform which computes a type by evaluating any nested transforms and then constructs an object of that type. </purpose><description><para>The <computeroutput>make&lt;&gt;</computeroutput> transform checks to see if <computeroutput>Object</computeroutput> is a template. If it is, the template type is disassembled to find nested transforms. Proto considers the following types to represent transforms:</para><para><itemizedlist>
-<listitem><para>Function types </para></listitem>
-<listitem><para>Function pointer types </para></listitem>
-<listitem><para>Types for which <computeroutput>proto::is_callable&lt; type &gt;::value</computeroutput> is <computeroutput>true</computeroutput> </para></listitem>
-</itemizedlist>
-<computeroutput>make&lt;T&lt;X0,X1,...&gt; &gt;::result&lt;void(Expr, State, Data)&gt;::type</computeroutput> is evaluated as follows. For each <computeroutput>X</computeroutput> in <computeroutput>X0,X1,...</computeroutput>, do:</para><para><itemizedlist>
-<listitem><para>If <computeroutput>X</computeroutput> is a template like <computeroutput>U&lt;Y0,Y1,...&gt;</computeroutput>, then let <computeroutput>X'</computeroutput> be <computeroutput>make&lt;U&lt;Y0,Y1,...&gt; &gt;::result&lt;void(Expr, State, Data)&gt;::type</computeroutput> (which evaluates this procedure recursively). Note whether any substitutions took place during this operation. </para></listitem>
-<listitem><para>Otherwise, if <computeroutput>X</computeroutput> is a transform, then let <computeroutput>X'</computeroutput> be <computeroutput>when&lt;_, X&gt;::result&lt;void(Expr, State, Data)&gt;::type</computeroutput>. Note that a substitution took place. </para></listitem>
-<listitem><para>Otherwise, let <computeroutput>X'</computeroutput> be <computeroutput>X</computeroutput>, and note that no substitution took place. </para></listitem>
-<listitem><para>If any substitutions took place in any of the above steps and <computeroutput>T&lt;X0',X1',...&gt;</computeroutput> has a nested <computeroutput>type</computeroutput> typedef, the result type is <computeroutput>T&lt;X0',X1',...&gt;::type</computeroutput>. </para></listitem>
-<listitem><para>Otherwise, the result type is <computeroutput>T&lt;X0',X1',...&gt;</computeroutput>.</para></listitem>
-</itemizedlist>
-Note that <computeroutput>when&lt;&gt;</computeroutput> is implemented in terms of <computeroutput>call&lt;&gt;</computeroutput> and <computeroutput>make&lt;&gt;</computeroutput>, so the above procedure is evaluated recursively. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name=""><paramtype>typename impl::expr_param</paramtype></parameter><parameter name=""><paramtype>typename impl::state_param</paramtype></parameter><parameter name=""><paramtype>typename impl::data_param</paramtype></parameter><purpose>
-</purpose></method></method-group></struct></struct><struct-specialization name="make"><template>
- <template-type-parameter name="Object"/>
- </template><specialization><template-arg>Object()</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform which computes a type by evaluating any nested transforms and then constructs an object of that type with the current expression, state and data, transformed according to <computeroutput>A0</computeroutput> through <computeroutput>AN</computeroutput>. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><purpose><computeroutput>make&lt;Object&gt;::result&lt;void(Expr, State, Data)&gt;::type</computeroutput> </purpose><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression </para></description></parameter><parameter name="state"><paramtype>typename impl::state_param</paramtype><description><para>The current state </para></description></parameter><parameter name="data"><paramtype>typename impl::data_param</paramtype><description><para>An arbitrary data </para></description></parameter><description><para>Let <computeroutput>ax</computeroutput> be <computeroutput>when&lt;_, Ax&gt;()(expr, state, data)</computeroutput> for each <computeroutput>x</computeroutput> in <
computeroutput>[0,N]</computeroutput>. Let <computeroutput>T</computeroutput> be <computeroutput>result&lt;void(Expr, State, Data)&gt;::type</computeroutput>. Return <computeroutput>T(a0, a1,... aN)</computeroutput>.</para><para>
-</para></description></method></method-group></struct></struct-specialization><struct-specialization name="make"><template>
- <template-type-parameter name="Object"/>
- <template-type-parameter name="A0"/>
- </template><specialization><template-arg>Object(A0)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform which computes a type by evaluating any nested transforms and then constructs an object of that type with the current expression, state and data, transformed according to <computeroutput>A0</computeroutput> through <computeroutput>AN</computeroutput>. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><purpose><computeroutput>make&lt;Object&gt;::result&lt;void(Expr, State, Data)&gt;::type</computeroutput> </purpose><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression </para></description></parameter><parameter name="state"><paramtype>typename impl::state_param</paramtype><description><para>The current state </para></description></parameter><parameter name="data"><paramtype>typename impl::data_param</paramtype><description><para>An arbitrary data </para></description></parameter><description><para>Let <computeroutput>ax</computeroutput> be <computeroutput>when&lt;_, Ax&gt;()(expr, state, data)</computeroutput> for each <computeroutput>x</computeroutput> in <
computeroutput>[0,N]</computeroutput>. Let <computeroutput>T</computeroutput> be <computeroutput>result&lt;void(Expr, State, Data)&gt;::type</computeroutput>. Return <computeroutput>T(a0, a1,... aN)</computeroutput>.</para><para>
-</para></description></method></method-group></struct></struct-specialization><struct-specialization name="make"><template>
- <template-type-parameter name="Object"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><specialization><template-arg>Object(A0</template-arg><template-arg>A1)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform which computes a type by evaluating any nested transforms and then constructs an object of that type with the current expression, state and data, transformed according to <computeroutput>A0</computeroutput> through <computeroutput>AN</computeroutput>. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><purpose><computeroutput>make&lt;Object&gt;::result&lt;void(Expr, State, Data)&gt;::type</computeroutput> </purpose><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression </para></description></parameter><parameter name="state"><paramtype>typename impl::state_param</paramtype><description><para>The current state </para></description></parameter><parameter name="data"><paramtype>typename impl::data_param</paramtype><description><para>An arbitrary data </para></description></parameter><description><para>Let <computeroutput>ax</computeroutput> be <computeroutput>when&lt;_, Ax&gt;()(expr, state, data)</computeroutput> for each <computeroutput>x</computeroutput> in <
computeroutput>[0,N]</computeroutput>. Let <computeroutput>T</computeroutput> be <computeroutput>result&lt;void(Expr, State, Data)&gt;::type</computeroutput>. Return <computeroutput>T(a0, a1,... aN)</computeroutput>.</para><para>
-</para></description></method></method-group></struct></struct-specialization><struct-specialization name="make"><template>
- <template-type-parameter name="Object"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><specialization><template-arg>Object(A0</template-arg><template-arg>A1</template-arg><template-arg>A2)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform which computes a type by evaluating any nested transforms and then constructs an object of that type with the current expression, state and data, transformed according to <computeroutput>A0</computeroutput> through <computeroutput>AN</computeroutput>. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><purpose><computeroutput>make&lt;Object&gt;::result&lt;void(Expr, State, Data)&gt;::type</computeroutput> </purpose><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression </para></description></parameter><parameter name="state"><paramtype>typename impl::state_param</paramtype><description><para>The current state </para></description></parameter><parameter name="data"><paramtype>typename impl::data_param</paramtype><description><para>An arbitrary data </para></description></parameter><description><para>Let <computeroutput>ax</computeroutput> be <computeroutput>when&lt;_, Ax&gt;()(expr, state, data)</computeroutput> for each <computeroutput>x</computeroutput> in <
computeroutput>[0,N]</computeroutput>. Let <computeroutput>T</computeroutput> be <computeroutput>result&lt;void(Expr, State, Data)&gt;::type</computeroutput>. Return <computeroutput>T(a0, a1,... aN)</computeroutput>.</para><para>
-</para></description></method></method-group></struct></struct-specialization><struct-specialization name="make"><template>
- <template-type-parameter name="Object"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><specialization><template-arg>Object(A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>A3)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform which computes a type by evaluating any nested transforms and then constructs an object of that type with the current expression, state and data, transformed according to <computeroutput>A0</computeroutput> through <computeroutput>AN</computeroutput>. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><purpose><computeroutput>make&lt;Object&gt;::result&lt;void(Expr, State, Data)&gt;::type</computeroutput> </purpose><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression </para></description></parameter><parameter name="state"><paramtype>typename impl::state_param</paramtype><description><para>The current state </para></description></parameter><parameter name="data"><paramtype>typename impl::data_param</paramtype><description><para>An arbitrary data </para></description></parameter><description><para>Let <computeroutput>ax</computeroutput> be <computeroutput>when&lt;_, Ax&gt;()(expr, state, data)</computeroutput> for each <computeroutput>x</computeroutput> in <
computeroutput>[0,N]</computeroutput>. Let <computeroutput>T</computeroutput> be <computeroutput>result&lt;void(Expr, State, Data)&gt;::type</computeroutput>. Return <computeroutput>T(a0, a1,... aN)</computeroutput>.</para><para>
-</para></description></method></method-group></struct></struct-specialization><struct-specialization name="make"><template>
- <template-type-parameter name="Object"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- <template-type-parameter name="A4"/>
- </template><specialization><template-arg>Object(A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>A3</template-arg><template-arg>A4)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform which computes a type by evaluating any nested transforms and then constructs an object of that type with the current expression, state and data, transformed according to <computeroutput>A0</computeroutput> through <computeroutput>AN</computeroutput>. </purpose><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="result_type"><purpose><computeroutput>make&lt;Object&gt;::result&lt;void(Expr, State, Data)&gt;::type</computeroutput> </purpose><type><emphasis>unspecified</emphasis></type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression </para></description></parameter><parameter name="state"><paramtype>typename impl::state_param</paramtype><description><para>The current state </para></description></parameter><parameter name="data"><paramtype>typename impl::data_param</paramtype><description><para>An arbitrary data </para></description></parameter><description><para>Let <computeroutput>ax</computeroutput> be <computeroutput>when&lt;_, Ax&gt;()(expr, state, data)</computeroutput> for each <computeroutput>x</computeroutput> in <
computeroutput>[0,N]</computeroutput>. Let <computeroutput>T</computeroutput> be <computeroutput>result&lt;void(Expr, State, Data)&gt;::type</computeroutput>. Return <computeroutput>T(a0, a1,... aN)</computeroutput>.</para><para>
-</para></description></method></method-group></struct></struct-specialization></namespace></namespace></header><header name="boost/proto/transform/pass_through.hpp"><para>Definition of the pass_through transform, which is the default transform of all of the expression generator metafunctions such as unary_plus&lt;&gt;, plus&lt;&gt; and nary_expr&lt;&gt;. </para><namespace name="boost"><namespace name="proto"><struct name="pass_through"><template>
- <template-type-parameter name="Grammar"/>
- </template><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A PrimitiveTransform that transforms the child expressions of an expression node according to the corresponding children of a Grammar. </purpose><description><para>Given a Grammar such as <computeroutput>plus&lt;T0, T1&gt;</computeroutput>, an expression type that matches the grammar such as <computeroutput>plus&lt;E0, E1&gt;::type</computeroutput>, a state <computeroutput>S</computeroutput> and a data <computeroutput>V</computeroutput>, the result of applying the <computeroutput>pass_through&lt;plus&lt;T0, T1&gt; &gt;</computeroutput> transform is:</para><para><programlisting> plus&lt;
- T0::result&lt;void(E0, S, V)&gt;::type
- , T1::result&lt;void(E1, S, V)&gt;::type
- &gt;::type
-</programlisting></para><para>The above demonstrates how child transforms and child expressions are applied pairwise, and how the results are reassembled into a new expression node with the same tag type as the original.</para><para>The explicit use of <computeroutput>pass_through&lt;&gt;</computeroutput> is not usually needed, since the expression generator metafunctions such as <computeroutput>plus&lt;&gt;</computeroutput> have <computeroutput>pass_through&lt;&gt;</computeroutput> as their default transform. So, for instance, these are equivalent:</para><para><programlisting> // Within a grammar definition, these are equivalent:
- when&lt; plus&lt;X, Y&gt;, pass_through&lt; plus&lt;X, Y&gt; &gt; &gt;
- when&lt; plus&lt;X, Y&gt;, plus&lt;X, Y&gt; &gt;
- when&lt; plus&lt;X, Y&gt; &gt; // because of when&lt;class X, class Y=X&gt;
- plus&lt;X, Y&gt; // because plus&lt;&gt; is both a
- // grammar and a transform
-</programlisting></para><para>For example, consider the following transform that promotes all <computeroutput>float</computeroutput> terminals in an expression to <computeroutput>double</computeroutput>.</para><para><programlisting> // This transform finds all float terminals in an expression and promotes
- // them to doubles.
- struct Promote
- : or_&lt;
- when&lt;terminal&lt;float&gt;, terminal&lt;double&gt;::type(_value) &gt;
- // terminal&lt;&gt;'s default transform is a no-op:
- , terminal&lt;_&gt;
- // nary_expr&lt;&gt; has a pass_through&lt;&gt; transform:
- , nary_expr&lt;_, vararg&lt;Promote&gt; &gt;
- &gt;
- {};
-</programlisting> </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template></struct></struct></namespace></namespace></header><header name="boost/proto/transform/when.hpp"><para>Definition of when transform. </para><namespace name="boost"><namespace name="proto"><struct name="when"><template>
- <template-type-parameter name="Grammar"/>
- <template-type-parameter name="PrimitiveTransform"><default>Grammar</default></template-type-parameter>
- </template><purpose>A grammar element and a PrimitiveTransform that associates a transform with the grammar. </purpose><description><para>Use <computeroutput>when&lt;&gt;</computeroutput> to override a grammar's default transform with a custom transform. It is for used when composing larger transforms by associating smaller transforms with individual rules in your grammar, as in the following transform which counts the number of terminals in an expression.</para><para><programlisting> // Count the terminals in an expression tree.
- // Must be invoked with initial state == mpl::int_&lt;0&gt;().
- struct CountLeaves
- : or_&lt;
- when&lt;terminal&lt;_&gt;, mpl::next&lt;_state&gt;()&gt;
- , otherwise&lt;fold&lt;_, _state, CountLeaves&gt; &gt;
- &gt;
- {};
-</programlisting></para><para>In <computeroutput>when&lt;G, T&gt;</computeroutput>, when <computeroutput>T</computeroutput> is a class type it is a PrimitiveTransform and the following equivalencies hold:</para><para><computeroutput>when&lt;G,T&gt;::result&lt;void(E,S,V)&gt;::type</computeroutput> is the same as <computeroutput>T::result&lt;void(E,S,V)&gt;::type</computeroutput>.</para><para><computeroutput>when&lt;G,T&gt;()(e,s,v)</computeroutput> is the same as <computeroutput>T()(e,s,v)</computeroutput>. </para></description><typedef name="proto_base_expr"><type>Grammar::proto_base_expr</type></typedef></struct><struct-specialization name="when"><template>
- <template-type-parameter name="Grammar"/>
- <template-type-parameter name="Fun"/>
- </template><specialization><template-arg>Grammar</template-arg><template-arg>Fun *</template-arg></specialization><inherit access="public">boost::proto::when&lt; Grammar, Fun &gt;</inherit><purpose>A specialization that treats function pointer Transforms as if they were function type Transforms. </purpose><description><para>This specialization requires that <computeroutput>Fun</computeroutput> is actually a function type.</para><para>This specialization is required for nested transforms such as <computeroutput>when&lt;G, T0(T1(_))&gt;</computeroutput>. In C++, functions that are used as parameters to other functions automatically decay to funtion pointer types. In other words, the type <computeroutput>T0(T1(_))</computeroutput> is indistinguishable from <computeroutput>T0(T1(*)(_))</computeroutput>. This specialization is required to handle these nested function pointer type transforms properly. </para></description></struct-specialization><struct name="otherwise"><template>
- <template-type-parameter name="Fun"/>
- </template><inherit access="public">boost::proto::when&lt; Grammar, PrimitiveTransform &gt;</inherit><purpose>Syntactic sugar for <computeroutput>when&lt;_, Fun&gt;</computeroutput>, for use in grammars to handle all the cases not yet handled. </purpose><description><para>Use <computeroutput>otherwise&lt;T&gt;</computeroutput> in your grammars as a synonym for <computeroutput>when&lt;_, T&gt;</computeroutput> as in the following transform which counts the number of terminals in an expression.</para><para><programlisting> // Count the terminals in an expression tree.
- // Must be invoked with initial state == mpl::int_&lt;0&gt;().
- struct CountLeaves
- : or_&lt;
- when&lt;terminal&lt;_&gt;, mpl::next&lt;_state&gt;()&gt;
- , otherwise&lt;fold&lt;_, _state, CountLeaves&gt; &gt;
- &gt;
- {};
-</programlisting> </para></description></struct><struct-specialization name="when"><template>
- <template-type-parameter name="Grammar"/>
- <template-type-parameter name="R"/>
- </template><specialization><template-arg>Grammar</template-arg><template-arg>R()</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A grammar element and a PrimitiveTransform that associates a transform with the grammar. </purpose><description><para>Use <computeroutput>when&lt;&gt;</computeroutput> to override a grammar's default transform with a custom transform. It is for used when composing larger transforms by associating smaller transforms with individual rules in your grammar, as in the following transform which counts the number of terminals in an expression.</para><para><programlisting> // Count the terminals in an expression tree.
- // Must be invoked with initial state == mpl::int_&lt;0&gt;().
- struct CountLeaves
- : or_&lt;
- when&lt;terminal&lt;_&gt;, mpl::next&lt;_state&gt;()&gt;
- , otherwise&lt;fold&lt;_, _state, CountLeaves&gt; &gt;
- &gt;
- {};
-</programlisting></para><para>The <computeroutput>when&lt;G, R(A0,A1,...)&gt;</computeroutput> form accepts either a CallableTransform or an ObjectTransform as its second parameter. <computeroutput>when&lt;&gt;</computeroutput> uses <computeroutput>is_callable&lt;R&gt;::value</computeroutput> to distinguish between the two, and uses <computeroutput>call&lt;&gt;</computeroutput> to evaluate CallableTransforms and <computeroutput>make&lt;&gt;</computeroutput> to evaluate ObjectTransforms. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="call_"><type><classname>call</classname>&lt; R()&gt;</type></typedef><typedef name="make_"><type><classname>make</classname>&lt; R()&gt;</type></typedef><typedef name="which"><type>mpl::if_c&lt; <classname>is_callable</classname>&lt; R &gt;::value, <classname>call_</classname>, <classname>make_</classname> &gt;::type</type></typedef><typedef name="result_type"><type>which::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression </para></description></parameter><parameter name="state"><paramtype>typename impl::state_param</paramtype><description><para>The current state </para></description></parameter><parameter name="data"><paramtype>typename impl::data_param</
paramtype><description><para>An arbitrary data </para></description></parameter><description><para>Evaluate <computeroutput>R(A0,A1,...)</computeroutput> as a transform either with <computeroutput>call&lt;&gt;</computeroutput> or with <computeroutput>make&lt;&gt;</computeroutput> depending on whether <computeroutput>is_callable&lt;R&gt;::value</computeroutput> is <computeroutput>true</computeroutput> or <computeroutput>false</computeroutput>.</para><para>
-
-
-</para></description><requires><para><computeroutput>matches&lt;Expr, Grammar&gt;::value</computeroutput> is <computeroutput>true</computeroutput> </para></requires><returns><para><computeroutput>result&lt;void(Expr, State, Data)&gt;::impl()(expr, state, data)</computeroutput> </para></returns></method></method-group></struct><typedef name="proto_base_expr"><type>Grammar::proto_base_expr</type></typedef></struct-specialization><struct-specialization name="when"><template>
- <template-type-parameter name="Grammar"/>
- <template-type-parameter name="R"/>
- <template-type-parameter name="A0"/>
- </template><specialization><template-arg>Grammar</template-arg><template-arg>R(A0)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A grammar element and a PrimitiveTransform that associates a transform with the grammar. </purpose><description><para>Use <computeroutput>when&lt;&gt;</computeroutput> to override a grammar's default transform with a custom transform. It is for used when composing larger transforms by associating smaller transforms with individual rules in your grammar, as in the following transform which counts the number of terminals in an expression.</para><para><programlisting> // Count the terminals in an expression tree.
- // Must be invoked with initial state == mpl::int_&lt;0&gt;().
- struct CountLeaves
- : or_&lt;
- when&lt;terminal&lt;_&gt;, mpl::next&lt;_state&gt;()&gt;
- , otherwise&lt;fold&lt;_, _state, CountLeaves&gt; &gt;
- &gt;
- {};
-</programlisting></para><para>The <computeroutput>when&lt;G, R(A0,A1,...)&gt;</computeroutput> form accepts either a CallableTransform or an ObjectTransform as its second parameter. <computeroutput>when&lt;&gt;</computeroutput> uses <computeroutput>is_callable&lt;R&gt;::value</computeroutput> to distinguish between the two, and uses <computeroutput>call&lt;&gt;</computeroutput> to evaluate CallableTransforms and <computeroutput>make&lt;&gt;</computeroutput> to evaluate ObjectTransforms. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="call_"><type><classname>call</classname>&lt; R(A0)&gt;</type></typedef><typedef name="make_"><type><classname>make</classname>&lt; R(A0)&gt;</type></typedef><typedef name="which"><type>mpl::if_c&lt; <classname>is_callable</classname>&lt; R &gt;::value, <classname>call_</classname>, <classname>make_</classname> &gt;::type</type></typedef><typedef name="result_type"><type>which::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression </para></description></parameter><parameter name="state"><paramtype>typename impl::state_param</paramtype><description><para>The current state </para></description></parameter><parameter name="data"><paramtype>typename impl::data_par
am</paramtype><description><para>An arbitrary data </para></description></parameter><description><para>Evaluate <computeroutput>R(A0,A1,...)</computeroutput> as a transform either with <computeroutput>call&lt;&gt;</computeroutput> or with <computeroutput>make&lt;&gt;</computeroutput> depending on whether <computeroutput>is_callable&lt;R&gt;::value</computeroutput> is <computeroutput>true</computeroutput> or <computeroutput>false</computeroutput>.</para><para>
-
-
-</para></description><requires><para><computeroutput>matches&lt;Expr, Grammar&gt;::value</computeroutput> is <computeroutput>true</computeroutput> </para></requires><returns><para><computeroutput>result&lt;void(Expr, State, Data)&gt;::impl()(expr, state, data)</computeroutput> </para></returns></method></method-group></struct><typedef name="proto_base_expr"><type>Grammar::proto_base_expr</type></typedef></struct-specialization><struct-specialization name="when"><template>
- <template-type-parameter name="Grammar"/>
- <template-type-parameter name="R"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- </template><specialization><template-arg>Grammar</template-arg><template-arg>R(A0</template-arg><template-arg>A1)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A grammar element and a PrimitiveTransform that associates a transform with the grammar. </purpose><description><para>Use <computeroutput>when&lt;&gt;</computeroutput> to override a grammar's default transform with a custom transform. It is for used when composing larger transforms by associating smaller transforms with individual rules in your grammar, as in the following transform which counts the number of terminals in an expression.</para><para><programlisting> // Count the terminals in an expression tree.
- // Must be invoked with initial state == mpl::int_&lt;0&gt;().
- struct CountLeaves
- : or_&lt;
- when&lt;terminal&lt;_&gt;, mpl::next&lt;_state&gt;()&gt;
- , otherwise&lt;fold&lt;_, _state, CountLeaves&gt; &gt;
- &gt;
- {};
-</programlisting></para><para>The <computeroutput>when&lt;G, R(A0,A1,...)&gt;</computeroutput> form accepts either a CallableTransform or an ObjectTransform as its second parameter. <computeroutput>when&lt;&gt;</computeroutput> uses <computeroutput>is_callable&lt;R&gt;::value</computeroutput> to distinguish between the two, and uses <computeroutput>call&lt;&gt;</computeroutput> to evaluate CallableTransforms and <computeroutput>make&lt;&gt;</computeroutput> to evaluate ObjectTransforms. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="call_"><type><classname>call</classname>&lt; R(A0, A1)&gt;</type></typedef><typedef name="make_"><type><classname>make</classname>&lt; R(A0, A1)&gt;</type></typedef><typedef name="which"><type>mpl::if_c&lt; <classname>is_callable</classname>&lt; R &gt;::value, <classname>call_</classname>, <classname>make_</classname> &gt;::type</type></typedef><typedef name="result_type"><type>which::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression </para></description></parameter><parameter name="state"><paramtype>typename impl::state_param</paramtype><description><para>The current state </para></description></parameter><parameter name="data"><paramtype>typename impl::
data_param</paramtype><description><para>An arbitrary data </para></description></parameter><description><para>Evaluate <computeroutput>R(A0,A1,...)</computeroutput> as a transform either with <computeroutput>call&lt;&gt;</computeroutput> or with <computeroutput>make&lt;&gt;</computeroutput> depending on whether <computeroutput>is_callable&lt;R&gt;::value</computeroutput> is <computeroutput>true</computeroutput> or <computeroutput>false</computeroutput>.</para><para>
-
-
-</para></description><requires><para><computeroutput>matches&lt;Expr, Grammar&gt;::value</computeroutput> is <computeroutput>true</computeroutput> </para></requires><returns><para><computeroutput>result&lt;void(Expr, State, Data)&gt;::impl()(expr, state, data)</computeroutput> </para></returns></method></method-group></struct><typedef name="proto_base_expr"><type>Grammar::proto_base_expr</type></typedef></struct-specialization><struct-specialization name="when"><template>
- <template-type-parameter name="Grammar"/>
- <template-type-parameter name="R"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- </template><specialization><template-arg>Grammar</template-arg><template-arg>R(A0</template-arg><template-arg>A1</template-arg><template-arg>A2)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A grammar element and a PrimitiveTransform that associates a transform with the grammar. </purpose><description><para>Use <computeroutput>when&lt;&gt;</computeroutput> to override a grammar's default transform with a custom transform. It is for used when composing larger transforms by associating smaller transforms with individual rules in your grammar, as in the following transform which counts the number of terminals in an expression.</para><para><programlisting> // Count the terminals in an expression tree.
- // Must be invoked with initial state == mpl::int_&lt;0&gt;().
- struct CountLeaves
- : or_&lt;
- when&lt;terminal&lt;_&gt;, mpl::next&lt;_state&gt;()&gt;
- , otherwise&lt;fold&lt;_, _state, CountLeaves&gt; &gt;
- &gt;
- {};
-</programlisting></para><para>The <computeroutput>when&lt;G, R(A0,A1,...)&gt;</computeroutput> form accepts either a CallableTransform or an ObjectTransform as its second parameter. <computeroutput>when&lt;&gt;</computeroutput> uses <computeroutput>is_callable&lt;R&gt;::value</computeroutput> to distinguish between the two, and uses <computeroutput>call&lt;&gt;</computeroutput> to evaluate CallableTransforms and <computeroutput>make&lt;&gt;</computeroutput> to evaluate ObjectTransforms. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="call_"><type><classname>call</classname>&lt; R(A0, A1, A2)&gt;</type></typedef><typedef name="make_"><type><classname>make</classname>&lt; R(A0, A1, A2)&gt;</type></typedef><typedef name="which"><type>mpl::if_c&lt; <classname>is_callable</classname>&lt; R &gt;::value, <classname>call_</classname>, <classname>make_</classname> &gt;::type</type></typedef><typedef name="result_type"><type>which::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression </para></description></parameter><parameter name="state"><paramtype>typename impl::state_param</paramtype><description><para>The current state </para></description></parameter><parameter name="data"><paramtype>typenam
e impl::data_param</paramtype><description><para>An arbitrary data </para></description></parameter><description><para>Evaluate <computeroutput>R(A0,A1,...)</computeroutput> as a transform either with <computeroutput>call&lt;&gt;</computeroutput> or with <computeroutput>make&lt;&gt;</computeroutput> depending on whether <computeroutput>is_callable&lt;R&gt;::value</computeroutput> is <computeroutput>true</computeroutput> or <computeroutput>false</computeroutput>.</para><para>
-
-
-</para></description><requires><para><computeroutput>matches&lt;Expr, Grammar&gt;::value</computeroutput> is <computeroutput>true</computeroutput> </para></requires><returns><para><computeroutput>result&lt;void(Expr, State, Data)&gt;::impl()(expr, state, data)</computeroutput> </para></returns></method></method-group></struct><typedef name="proto_base_expr"><type>Grammar::proto_base_expr</type></typedef></struct-specialization><struct-specialization name="when"><template>
- <template-type-parameter name="Grammar"/>
- <template-type-parameter name="R"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- </template><specialization><template-arg>Grammar</template-arg><template-arg>R(A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>A3)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A grammar element and a PrimitiveTransform that associates a transform with the grammar. </purpose><description><para>Use <computeroutput>when&lt;&gt;</computeroutput> to override a grammar's default transform with a custom transform. It is for used when composing larger transforms by associating smaller transforms with individual rules in your grammar, as in the following transform which counts the number of terminals in an expression.</para><para><programlisting> // Count the terminals in an expression tree.
- // Must be invoked with initial state == mpl::int_&lt;0&gt;().
- struct CountLeaves
- : or_&lt;
- when&lt;terminal&lt;_&gt;, mpl::next&lt;_state&gt;()&gt;
- , otherwise&lt;fold&lt;_, _state, CountLeaves&gt; &gt;
- &gt;
- {};
-</programlisting></para><para>The <computeroutput>when&lt;G, R(A0,A1,...)&gt;</computeroutput> form accepts either a CallableTransform or an ObjectTransform as its second parameter. <computeroutput>when&lt;&gt;</computeroutput> uses <computeroutput>is_callable&lt;R&gt;::value</computeroutput> to distinguish between the two, and uses <computeroutput>call&lt;&gt;</computeroutput> to evaluate CallableTransforms and <computeroutput>make&lt;&gt;</computeroutput> to evaluate ObjectTransforms. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="call_"><type><classname>call</classname>&lt; R(A0, A1, A2, A3)&gt;</type></typedef><typedef name="make_"><type><classname>make</classname>&lt; R(A0, A1, A2, A3)&gt;</type></typedef><typedef name="which"><type>mpl::if_c&lt; <classname>is_callable</classname>&lt; R &gt;::value, <classname>call_</classname>, <classname>make_</classname> &gt;::type</type></typedef><typedef name="result_type"><type>which::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression </para></description></parameter><parameter name="state"><paramtype>typename impl::state_param</paramtype><description><para>The current state </para></description></parameter><parameter name="data"><paramtype
>typename impl::data_param</paramtype><description><para>An arbitrary data </para></description></parameter><description><para>Evaluate <computeroutput>R(A0,A1,...)</computeroutput> as a transform either with <computeroutput>call&lt;&gt;</computeroutput> or with <computeroutput>make&lt;&gt;</computeroutput> depending on whether <computeroutput>is_callable&lt;R&gt;::value</computeroutput> is <computeroutput>true</computeroutput> or <computeroutput>false</computeroutput>.</para><para>
-
-
-</para></description><requires><para><computeroutput>matches&lt;Expr, Grammar&gt;::value</computeroutput> is <computeroutput>true</computeroutput> </para></requires><returns><para><computeroutput>result&lt;void(Expr, State, Data)&gt;::impl()(expr, state, data)</computeroutput> </para></returns></method></method-group></struct><typedef name="proto_base_expr"><type>Grammar::proto_base_expr</type></typedef></struct-specialization><struct-specialization name="when"><template>
- <template-type-parameter name="Grammar"/>
- <template-type-parameter name="R"/>
- <template-type-parameter name="A0"/>
- <template-type-parameter name="A1"/>
- <template-type-parameter name="A2"/>
- <template-type-parameter name="A3"/>
- <template-type-parameter name="A4"/>
- </template><specialization><template-arg>Grammar</template-arg><template-arg>R(A0</template-arg><template-arg>A1</template-arg><template-arg>A2</template-arg><template-arg>A3</template-arg><template-arg>A4)</template-arg></specialization><inherit access="public">boost::proto::transform&lt; PrimitiveTransform, Base &gt;</inherit><purpose>A grammar element and a PrimitiveTransform that associates a transform with the grammar. </purpose><description><para>Use <computeroutput>when&lt;&gt;</computeroutput> to override a grammar's default transform with a custom transform. It is for used when composing larger transforms by associating smaller transforms with individual rules in your grammar, as in the following transform which counts the number of terminals in an expression.</para><para><programlisting> // Count the terminals in an expression tree.
- // Must be invoked with initial state == mpl::int_&lt;0&gt;().
- struct CountLeaves
- : or_&lt;
- when&lt;terminal&lt;_&gt;, mpl::next&lt;_state&gt;()&gt;
- , otherwise&lt;fold&lt;_, _state, CountLeaves&gt; &gt;
- &gt;
- {};
-</programlisting></para><para>The <computeroutput>when&lt;G, R(A0,A1,...)&gt;</computeroutput> form accepts either a CallableTransform or an ObjectTransform as its second parameter. <computeroutput>when&lt;&gt;</computeroutput> uses <computeroutput>is_callable&lt;R&gt;::value</computeroutput> to distinguish between the two, and uses <computeroutput>call&lt;&gt;</computeroutput> to evaluate CallableTransforms and <computeroutput>make&lt;&gt;</computeroutput> to evaluate ObjectTransforms. </para></description><struct name="impl"><template>
- <template-type-parameter name="Expr"/>
- <template-type-parameter name="State"/>
- <template-type-parameter name="Data"/>
- </template><inherit access="public">boost::proto::transform_impl&lt; Expr, State, Data &gt;</inherit><typedef name="call_"><type><classname>call</classname>&lt; R(A0, A1, A2, A3, A4)&gt;</type></typedef><typedef name="make_"><type><classname>make</classname>&lt; R(A0, A1, A2, A3, A4)&gt;</type></typedef><typedef name="which"><type>mpl::if_c&lt; <classname>is_callable</classname>&lt; R &gt;::value, <classname>call_</classname>, <classname>make_</classname> &gt;::type</type></typedef><typedef name="result_type"><type>which::template impl&lt; Expr, State, Data &gt;::result_type</type></typedef><method-group name="public member functions"><method name="operator()" cv="const"><type>result_type</type><parameter name="expr"><paramtype>typename impl::expr_param</paramtype><description><para>The current expression </para></description></parameter><parameter name="state"><paramtype>typename impl::state_param</paramtype><description><para>The current state </para></description></parameter><parameter name="data"><p
aramtype>typename impl::data_param</paramtype><description><para>An arbitrary data </para></description></parameter><description><para>Evaluate <computeroutput>R(A0,A1,...)</computeroutput> as a transform either with <computeroutput>call&lt;&gt;</computeroutput> or with <computeroutput>make&lt;&gt;</computeroutput> depending on whether <computeroutput>is_callable&lt;R&gt;::value</computeroutput> is <computeroutput>true</computeroutput> or <computeroutput>false</computeroutput>.</para><para>
-
-
-</para></description><requires><para><computeroutput>matches&lt;Expr, Grammar&gt;::value</computeroutput> is <computeroutput>true</computeroutput> </para></requires><returns><para><computeroutput>result&lt;void(Expr, State, Data)&gt;::impl()(expr, state, data)</computeroutput> </para></returns></method></method-group></struct><typedef name="proto_base_expr"><type>Grammar::proto_base_expr</type></typedef></struct-specialization></namespace></namespace></header></library-reference>

Deleted: branches/proto/v4/libs/proto/doc/transforms_old.qbk
==============================================================================
--- branches/proto/v4/libs/proto/doc/transforms_old.qbk 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
+++ (empty file)
@@ -1,1503 +0,0 @@
-[/
- / Copyright (c) 2006 Eric Niebler
- /
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- /]
-
-[import ../test/examples.cpp]
-
-[/============================================================================]
-[section:expression_transformation Expression Transformation: Semantic Actions]
-[/============================================================================]
-
-Sometimes, rather than immediately executing an expression template, you'd like to
-transform it into some other object. Maybe the transformation is simple, like
-converting all references into values. Maybe it's complicated, like transforming an
-expression template into a finite-state automata for matching a regular expression.
-Proto provides a framework for applying tree transformations and several canned
-transformations that are generally useful.
-
-[/===============]
-[heading Overview]
-[/===============]
-
-Defining tree transformations involves defining the grammar for your DSEL
-and decorating it with transformations. Each rule in your grammar will
-have an associated transform describing how sub-expressions matching that rule
-are to be transformed. Just as the grammar is defined recursively, so too
-is the tree transformation.
-
-You associate transforms with your grammar rules using _when_. For instance,
-you might want to promote all `int` terminals to `long`. You would say the
-following:
-
- proto::when< proto::terminal<int>, proto::terminal<long>::type(proto::_value) >
-
-`proto::terminal<long>::type(proto::_value)` is an example of a Proto transform. It
-says to create an object of type `proto::terminal<long>::type` and initialize it
-with the result of the `proto::_value` transform. `proto::_value` is a transform
-defined by Proto which extracts the value from a terminal expression.
-
-[note The transform above might look a little strange at first. It appears
-to be constructing a temporary object in place. In fact, it is a
-/function type/. Since `proto::terminal<long>::type` and `proto::_value`
-are types, `proto::terminal<long>::type(proto::_value)` is actually the type
-of a function that takes `proto::_value` as a parameter and returns
-`proto::terminal<long>::type`. But no such function actually exists! Rather,
-Proto interprets this function type as a transform, the effect of which is
-described above. The resemblance to an in-place construction of a temporary
-object is intentional. It is a concise and natural notation for specifying
-transforms. Proto transforms use function types extensively, as we'll see.]
-
-A grammar decorated with transforms is a function object that takes three
-parameters:
-
-* `expr` -- the Proto expression to transform
-* `state` -- an optional initial state for the transformation
-* `data` -- any optional mutable state information
-
-Many transforms do no use the state and data parameters, and you can pass
-dummy values for them or leave them off entirely. Later on we'll describe
-the difference between them and see where they are useful.
-
-In addition to being a function object, a grammar decorated with transforms
-is also a grammar. That is, it can be used as the second parameter to
-the _matches_ metafunction to see if an expression type matches the grammar.
-
-The first pararameter to the transform, `expr`, is a Proto expression. Its
-type /must/ match the grammar defined by the transform. It is an error to
-apply a transform to an expression that does not match the transform's
-grammar. If you try it, you're likely to get an ugly compiler error if you're
-lucky. If you're unlucky, it'll compile and do something weird at runtime.
-For instance, consider the following:
-
- // A grammar that matches an int terminal, and a
- // transform that promotes it to a long terminal.
- typedef
- proto::when<
- proto::terminal<int>
- , proto::terminal<long>::type(proto::_value)
- >
- Promote;
-
- // A character terminal
- proto::terminal<char>::type a = {'a'};
-
- // ERROR! The Promote transform expects an integer
- // terminal, not a character terminal.
- Promote promote;
- proto::terminal<long>::type i = promote(a);
-
-Grammars with transforms are proper function objects, so you can use
-`boost::result_of<>` to calculate their return types. So, applying a
-transform typically looks like this:
-
- // Assuming we have an expression to transform,
- // an initial state, and some auxiliary data ...
- Expr expr;
- State state;
- Data data;
-
- // ... calculate the result type of applying
- // Grammar's transform ...
- typedef typename
- boost::result_of<Grammar(Expr, State, Data)>::type
- result_type;
-
- // ... and apply Grammar's transform:
- result_type result = Grammar()(expr, state, data);
-
-[/====================================]
-[heading The State and Data Parameters]
-[/====================================]
-
-So in a transform, what are the `state` and `data` parameters used for?
-If you are familiar with the `std::accumulate()` standard algorithm,
-you know that it takes an input sequence, an initial state, and a
-binary function. The algorithm passes the initial state and the first
-element to the binary function to calculate a new state, which is
-then similarly combined with the second element, and so on. Users of
-functional programming languages know this operation as `fold`.
-
-Proto provides several variants of a `fold` transform that behaves
-analogously to `std::accumulate()`. The `fold` transform is described
-in detail later, but here we're just interested in the `state`
-parameter. Any transform that uses `fold` is going to require you
-to pass an initial state. That is what the second parameter of a
-transform is used for.
-
-The `data` parameter is a little different. It can be anything you
-want, and -- unlike the `state` parameter -- none of Proto's built-in
-transforms will touch it. Also unlike the `state` parameter, the
-`data` parameter will be passed around by non-const reference. You
-can use the `data` parameter to pass along data that your
-custom transforms might use or mutate.
-
-So the difference between `state` and `data` is that `state` is an
-accumulation variable that Proto will change, both in type and in
-value, during the transformation, whereas `data` is just a blob of
-bits that you would like available to your transforms. For instance,
-you might want to fold an expression tree to a Fusion list and do
-something locale-specific to each element before you put it in the
-list. In that case, your state parameter would be `fusion::nil`
-(i.e., an empty list), and the data parameter would be a
-`std::locale`.
-
-[/==========================================]
-[section Example: Calculator Arity Transform]
-[/==========================================]
-
-Let's have another look at our trusty calculator example. If you recall, the
-calculator allows the lazy evaluation of arithmetic expressions, with
-placeholders substituted with actual values provided at evaluation time. Valid
-expressions are of the form:
-
- (_1 + 3)
- (_2 - _1) / _2 * 100
-
-... and so on. In the first expression, one argument must be provided before
-the expression can be evaluated. In the second, two arguments are needed. We
-could say the /arity/ of the first expression is one and of the second is two.
-The arity is determined by the highest placeholder in the expression. Our job
-will be to write a transform that calculates the arity of any calculator
-expression.
-
-[note *Why Bother Calculating Expression Arity?*
-
-This is more than just an intelectual exercise. Knowing the arity of a calculator
-expression is important if you want to give users a meaningful error message when
-they specify too few or too many arguments to an expression.]
-
-[/=========================]
-[heading Defining a Grammar]
-[/=========================]
-
-First, we must write the grammar for the calculator. It's really very simple.
-Calculator expression can be made up of any combination of 5 constituents:
-
-* Placeholder 1
-* Placeholder 2
-* A literal
-* Unary operations
-* Binary operations
-
-We can immediately write the calculator grammar as follows:
-
-[CalcGrammar]
-
-We can read this as follows: a calculator expression is either placeholder 1,
-placeholder 2, some other terminal, or some unary or binary operator whose operands
-are calculator expressions. Recall that `proto::_` is a wildcard that matches
-anything. So `proto::terminal< _ >` will match any terminal, and
-`proto::unary_expr< _, CalcArity >` will match any unary expression for which the
-operand matches `CalcArity` (the `_` matches any operator tag).
-
-[/============================]
-[heading Writing the Transform]
-[/============================]
-
-It's straightforward to describe in words how the arity of an expression should
-be calculated. First, we describe the arity of each of the 5 constituents in
-the calculator grammar.
-
-[table Calculator Sub-Expression Arities
- [[Sub-Expression] [Arity]]
- [[Placeholder 1] [`1`]]
- [[Placeholder 2] [`2`]]
- [[Literal] [`0`]]
- [[Unary Expression] [ /arity of the operand/ ]]
- [[Binary Expression] [ /max arity of the two operands/ ]]
-]
-
-The total arity of a calculator expression is found by recursively evaluating
-the arity of all of the sub-expressions and taking the maximum.
-
-Let's look at the sub-expression for the placeholder `_1`. It is matched by this
-part of our grammar: `proto::terminal< placeholder<0> >`. We want to associate this
-part of our grammar with an arity of `1`. We do that by attaching a transform.
-Since the arity of an expression can be evaluated at compile time, let's use
-`mpl::int_<1>` to represent the arity of the first placeholder. The following
-attaches a transform that always evaluates to `mpl::int_<1>`:
-
- proto::when< proto::terminal< placeholder<0> >, mpl::int_<1>() >
-
-This grammar rule will match any `placeholder<0>` terminal, and will transform it
-to a (default-constructed) `mpl::int_<1>` object. As described previously,
-`mpl::int_<1>()` is a function type, but Proto interprets it as an object to
-construct. We will have a similar transform to convert `placeholder<1>` terminals
-into `mpl::int_<2>`, and other terminals into `mpl::int_<0>`.
-
-Next, let's write a transform for unary operators that returns the arity of the
-operand. It is simply:
-
- proto::when< proto::unary_expr< _, CalcArity >, CalcArity(proto::_child) >
-
-The transform `CalcArity(proto::_child)` recursively applies the `CalcArity`
-transform to the child node of the unary expression. As you might have noticed,
-`CalcArity(proto::_child)` is another function type, but Proto interprets this one
-differently. Rather than trying to construct a `CalcArity` object, Proto
-knows this is a function object and invokes it instead.
-
-[/================================================]
-[note *Object Transforms vs. Callable Transforms*
-
-When using function types as Proto transforms, they can either represent an object
-to construct or a function to call. It is similar to C++ where the syntax `foo(x)`
-can either be interpreted as an object to construct or a function to call,
-depending on whether `foo` is a type or a function. Proto can't know in general
-which is the case, so it uses a trait, `proto::is_callable<>`, to differentiate.
-`is_callable< mpl::int_<1> >::value` is false so `mpl::int_<1>()` is an object to
-construct, but `is_callable< CalcArity >::value` is true so
-`CalcArity(proto::_child)` is a function to call.
-(`is_callable< CalcArity >::value` is true because `CalcArity` inherits from
-`proto::or_<>`, which is callable.)]
-[/================================================]
-
-[/
- That begs the question, what does `unary_expr<>`'s transform do? Well,
- `unary_expr< _, CalcArity >` has a default transform
- associated with it. It is a /pass-through/ transform. When an expression
- of the form `expr< T, list1< X > >` is passed to the transform, its `apply<>`
- member template will invoke the `CalcArity` transform (which we haven't
- completely defined yet -- patience) on `X` resulting in `Y`, and then
- reassemble the expression as `expr< T, list1< Y > >`.
-
- [note You may have noticed that Proto types like `unary_expr<>` serve several
- different but related roles. In particular, `unary_expr<>` is ...
-
- ... [*a metafunction]: `unary_expr<T, X>::type` is a typedef for
- `expr<T, list1<X> >`.
-
- ... [*a grammar]: `unary_expr<U, Y>` is a simle grammar that matches
- `expr<T, list1<X> >` if an only if `U` is `T` or `proto::_`, and `Y` is a
- grammar that matches `X`.
-
- ... [*a transform]: `unary_expr<U, Y>::apply<expr<T, list1<X> >, S, V>::type`
- applies `unary_expr<>`'s pass-through transform to `expr<T, list1<X> >` with
- state `S` and data `V`. The result is
- `expr<T, list1< Y::apply<X, S, V>::type > >`.
- ]
-
- So, putting a few things together, consider the calculator expression `+_1`,
- which would have the following type:
-
- expr< tag::unary_plus, list1<
- expr< tag::terminal, term< placeholder<0> > >
- > >
-
- If we executed the `unary_expr< _, CalcArity >` transform on this
- expression, we would expect to get:
-
- expr< tag::unary_plus, list1<
- mpl::int_<1>
- > >
-
- And if we added the `_child<>` transform also, as in
- `child< unary_expr< _, CalcArity > >`, we expect the result
- to be:
-
- mpl::int_<1>
-
- Which is exactly what we want.
-
- [note *Default Transforms*
-
- All the tools Proto provides for defining grammar rules have default transforms
- associated with them. Just as `unary_expr<>` has a pass-through transform,
- so too does `binary_expr<>`, `shift_right<>`, and all the others.
- `proto::or_<>` has a default transform which evaluates the transform of the
- branch that matched. `proto::and_<>`'s default transform evaluates the
- transform of the last branch. Even `proto::expr<>`, `proto::if_<>`,
- `proto::not_<>`, and `proto::_` have no-op default transforms that simply return
- unmodified the expressions passed to them.
- ]
-]
-
-The arity of a binary operator is the maximum of the arity of the left and
-right operands. We can specify this with the help of `mpl::max<>`, which is a
-so-called metafunction that computes the maximum of two compile-time integers.
-The transform is described below:
-
- proto::when< proto::binary_expr< _, CalcArity, CalcArity >,
- mpl::max< CalcArity(proto::_left), CalcArity(proto::_right) >()
- >
-
-The above says to match binary calculator expressions and compute their
-arity by first computing the arity of the left and right children and then
-taking their maximum.
-
-[def _X_ [~X]]
-[def _Y_ [~Y]]
-[def _Z_ [~Z]]
-
-There's a lot going on in the above transform, so let's take it one piece
-at a time, starting with the parts we know. `CalcArity(proto::_left)`
-will calculate the arity of the left child, returning a compile-time integer.
-Likewise for `CalcArity(proto::_right)`. What is new is that these two
-transforms are nested within another: `mpl::max<...>()`. Proto notices that
-`mpl::max<...>` is not callable, so this transform is interpreted as an
-object to construct rather than a function to invoke. Using meta-programming
-tricks, Proto disassembles the `mpl::max<...>` template looking for nested
-Proto transforms to apply. It finds two and applies them, resulting in
-`mpl::max< mpl::int_<_X_>, mpl::int_<_Y_> >`.
-
-Having first applied any nested transforms, Proto then looks to see if
-`mpl::max< mpl::int_<_X_>, mpl::int_<_Y_> >` has a nested `::type` typedef.
-This is a common convention used by metafunctions. In this case,
-`mpl::max<...>::type` is a typedef for `mpl::int_< _Z_ >` where `_Z_` is the
-maximum of `_X_` and `_Y_`. The trailing `()` on the transform indicates that
-the result should be default-constructed, so this transform returns
-`mpl::int_<_Z_>()`. And we're done.
-
-[note Had `mpl::max<>` not had a nested `::type` typedef, the transform
-would have created and returned a default-constructed `mpl::max<>` object
-instead. That is, the result of substituting nested transforms need not
-of necessity have a nested `::type` typedef, but it is used if it is there.]
-
-Piecing it all together, the complete `CalcArity` looks like this:
-
-[CalcArity]
-
-We can use our `CalcArity` transform to calculate the arity of any
-calculator expression:
-
- CalcArity arity_of;
- std::cout << arity_of( proto::lit(100) * 20 ) << '\n';
- std::cout << arity_of( (_1 - _1) / _1 * 100 ) << '\n';
- std::cout << arity_of( (_2 - _1) / _2 * 100 ) << '\n';
-
-This displays the following:
-
-[pre
-0
-1
-2
-]
-
-(Aside: the output statements use the fact that `mpl::int_<_X_>`
-has a conversion to `int(_X_)`.)
-
-[endsect]
-
-[/========================]
-[section Canned Transforms]
-[/========================]
-
-So far, we've seen how to write custom transforms using function types.
-These were implemented in terms of more primitive transforms provided by
-Proto, such as `_child`, `_left`, and `_right`. This section describes those
-transforms and others in detail.
-
-[/
-
-Why is this here??
-
-All the transforms defined in this section are of the following form:
-
-[def _some_transform_ [~some_transform]]
-
- struct _some_transform_ : proto::transform< _some_transform_ >
- {
- template<typename Expr, typename State, typename Date>
- struct impl : proto::transform_impl< Expr, State, Data >
- {
- typedef ... result_type;
-
- result_type operator()(
- typename impl::expr_param expr
- , typename impl::state_param state
- , typename impl::data_param data
- ) const
- {
- return ...;
- }
- };
- };
-
-So defined, `_some_transform_` is a transform "in the raw", just like
-`proto::_value` or `proto::_child`. These transforms are the building
-blocks from which you can compose larger transforms using function types.
-
-]
-
-[section:child_c_and_friends [^_value], [^_child], [^_left], and [^_right]]
-
- namespace boost { namespace proto
- {
- struct _value;
-
- template<long N>
- struct _child_c;
-
- typedef _child_c<0> _child0;
- typedef _child_c<1> _child1;
- // ... up to BOOST_PROTO_MAX_ARITY-1
-
- typedef _child_c<0> _child;
- typedef _child_c<0> _left;
- typedef _child_c<1> _right;
- }}
-
-These transforms are useful for extracting the ['[^N]]th argument from an
-expression. The `_left` transform is equivalent to the `_child_c<0>` transform,
-and the `_right` transform is equivalent to the `_child_c<1>` transform. The
-`_value` transform extracts the value from a terminal expression.
-
-[table
- [ [Expression]
- [Returns]
- ]
- [ [`boost::result_of<proto::_value(Expr, State, Data)>::type`]
- [`proto::result_of::value<Expr>::type`]
- ]
- [ [`proto::_value()(expr, state, data)`]
- [`proto::value(expr)`]
- ]
- [ [`boost::result_of<proto::_child_c<N>(Expr, State, Data)>::type`]
- [`proto::result_of::child_c<Expr, N>::type`]
- ]
- [ [`proto::_child_c<N>()(expr, state, data)`]
- [`proto::child_c<N>(expr)`]
- ]
- [ [`boost::result_of<proto::_left(Expr, State, Data)>::type`]
- [`proto::result_of::left<Expr>::type`]
- ]
- [ [`proto::_left()(expr, state, data)`]
- [`proto::left(expr)`]
- ]
- [ [`boost::result_of<proto::_right(Expr, State, Data)>::type`]
- [`proto::result_of::right<Expr>::type`]
- ]
- [ [`proto::_right()(expr, state, data)`]
- [`proto::right(expr)`]
- ]
-]
-
-Example:
-
- // Matches an integer terminal and extracts the int.
- struct Int
- : when< terminal<int>, _value >
- {};
-
-[endsect]
-
-[section:identity_and_friends [^_expr], [^_state] and [^_data]]
-
- namespace boost { namespace proto
- {
- struct _expr;
- struct _state;
- struct _data;
- }}
-
-The `_expr`, `_state` and `_data` transforms merely return the
-`expr`, `state` and `data` arguments, respectively. Proto's
-wildcard pattern, `_`, behaves like `_expr` when used
-as a transform.
-
-[table
- [ [Expression]
- [Returns]
- ]
- [ [`boost::result_of<proto::_(Expr, State, Data)>::type`]
- [`Expr`]
- ]
- [ [`proto::_()(expr, state, data)`]
- [`expr`]
- ]
- [ [`boost::result_of<proto::_expr(Expr, State, Data)>::type`]
- [`Expr`]
- ]
- [ [`proto::_expr()(expr, state, data)`]
- [`expr`]
- ]
- [ [`boost::result_of<proto::_state(Expr, State, Data)>::type`]
- [`State`]
- ]
- [ [`proto::_state()(expr, state, data)`]
- [`state`]
- ]
- [ [`boost::result_of<proto::_data(Expr, State, Data)>::type`]
- [`Data`]
- ]
- [ [`proto::_data()(expr, state, data)`]
- [`data`]
- ]
-]
-
-Example:
-
- // Matches a subscript expression where the left- and right-hand operands
- // match MyGrammar, returns the expression unmodified
- struct Subscript
- : proto::when< proto::subscript<MyGrammar, MyGrammar>, proto::_expr >
- {};
-
-[endsect]
-
-[section:if [^if_<>]]
-
- namespace boost { namespace proto
- {
- namespace control
- {
- template<
- typename If
- , typename Then = _
- , typename Else = not_<_>
- >
- struct if_;
- }
-
- using control::if_;
- }}
-
-We've already seen the _if_ template in the context of grammars, but
-_if_ can also be used as a transform. It can be used to conditionally
-apply one transform or another based on some condition. The three
-template parameters are Proto transforms. The result of applying the
-first transform should be a compile-time Boolean. If it is true, then
-the first transform is applied. The second is applied otherwise.
-
-[table
- [ [Expression]
- [Returns]
- ]
- [ [``boost::result_of<
- proto::if_<If, Then, Else>(Expr, State, Data)
->::type``]
- [``typedef
- mpl::if_<
- boost::result_of<proto::when<_, If>(Expr, State, Data)>::type
- , proto::when<_, Then>
- , proto::when<_, Else>
- >::type
-branch;
-
-typedef boost::result_of<branch(Expr, State, Data)>::type type;``]
- ]
- [ [`proto::if_<If, Then, Else>()(expr, state, data)`]
- [``typedef ... branch; // Same as above
-branch()(expr, state, data);``]
- ]
-]
-
-Example:
-
- // Match a terminal. If size of the terminal
- // argument is less than or equal to 4, make
- // a new terminal that stores the argument by
- // value. Otherwise, store the argument by
- // reference.
- struct ByValOrRef
- : proto::when<
- proto::terminal<_>
- , proto::if_<
- mpl::less_equal<
- mpl::sizeof_<proto::_value>
- , mpl::size_t<4>
- >()
- , proto::_make_terminal(proto::_value)
- , proto::_make_terminal(proto::_ref(proto::_value))
- >
- >
- {};
-
-[endsect]
-
-[section:and_or_not [^and_<>], [^or_<>], and [^not_<>]]
-
- namespace boost { namespace proto
- {
- namespace control
- {
- template<typename... T>
- struct and_;
-
- template<typename... T>
- struct or_;
-
- template<typename T>
- struct not_;
- }
-
- using control::and_;
- using control::or_;
- using control::not_;
- }}
-
-As with _if_, the grammar elements _and_, _or_, and _not_ can
-also be used as transforms. At a high level, here is what the
-transforms do:
-
-[variablelist
-[ [`and_<T0,T1,...,Tn>`]
- [Apply the transform `Tn`.] ]
-[ [`or_<T0,T1,...,Tn>`]
- [Apply the transform `Tx` where `x` is the lowest number
- such that `matches<Expr,Tx>::value` is `true`.] ]
-[ [`not_<T>`] [Return the current expression unchanged.] ]
-]
-
-The following table specifies the behaviors described above more
-precisely.
-
-[table
- [ [Expression]
- [Returns]
- ]
- [ [``boost::result_of<
- proto::and_<A,B,C>(Expr, State, Data)
->::type``]
- [`boost::result_of<C(Expr, State, Data)>::type`]
- ]
- [ [`proto::and_<A,B,C>()(expr, state, data)`]
- [`C()(expr, state, data)`]
- ]
- [ [``boost::result_of<
- proto::or_<A,B,C>(Expr, State, Data)
->::type``]
- [``typedef mpl::if_<
- proto::matches<Expr, A>
- , A
- , mpl::if_<
- proto::matches<Expr, B>
- , B
- , C
- >::type
->::type which;
-
-typedef boost::result_of<which(Expr, State, Data)>::type type;``]
- ]
- [ [`proto::or_<A,B,C>()(expr, state, data)`]
- [``typedef ... which; // Same as above
-which()(expr, state, data);``]
- ]
- [ [``boost::result_of<
- proto::not_<A>(Expr, State, Data)
->::type``]
- [`Expr`]
- ]
- [ [`proto::not_<A>()(expr, state, data)`]
- [`expr`]
- ]
-]
-
-Example:
-
- // A transform that matches any expression and
- // unwraps any reference_wrapped terminals it
- // finds.
- struct UnwrapReference
- : proto::or_<
- // Pass through terminals that are not
- // reference_wrappers unchanged:
- proto::and_<
- proto::terminal<_>
- , proto::not_<proto::if_<boost::is_reference_wrapper<proto::_value>()> >
- >
- // For other terminals (i.e., reference_wrapper
- // terminals), unwrap the reference:
- , proto::when<
- proto::terminal<_>
- , proto::terminal<boost::unwrap_reference<proto::_value> >(proto::_value)
- >
- // Otherwise, match non-terminals and
- // recurse.
- , proto::when<
- proto::nary_expr<_, proto::vararg<UnwrapReference> >
- >
- >
- {};
-
-The above transform serves to illustrate the behaviors of the _and_,
-_or_, and _not_ transforms, but it is admittedly contrived. The
-transform is more easily written as follows:
-
- // Functionally identical to the UnwrapReference
- // transform above:
- struct UnwrapReference
- : proto::or_<
- proto::when<
- proto::terminal<boost::reference_wrapper<_> >
- , proto::terminal<boost::unwrap_reference<proto::_value> >(proto::_value)
- >
- , proto::terminal<_>
- , proto::nary_expr<_, proto::vararg<UnwrapReference> >
- >
- {};
-
-[endsect]
-
-[section:call [^call<>]]
-
-[def __CALLABLE__ [~[^Callable]]]
-
- namespace boost { namespace proto
- {
- template<typename Fun>
- struct call;
- }}
-
-The `call<>` transform is used to invoke callable transforms and evaluate
-their arguments. When you use a callable transform as in
-`when< unary_plus<_>, __CALLABLE__(_child) >`, the `call<>` transform is used behind
-the scenes to evaluate `__CALLABLE__(_child)`. In fact, for any callable
-transform, the following short- and long-forms are equivalent:
-
-[table
- [ [Short From]
- [Long Form] ]
- [ [ `proto::when< Grammar, __CALLABLE__(Tran1, Tran2...) >` ]
- [ `proto::when< Grammar, proto::call< __CALLABLE__(Tran1, Tran2...) > >` ] ]
-]
-
-You might decide to use `call<>` explicitly in cases when Proto can't figure out
-that a given transform is callable. (See the discussion on the `is_callable<>` trait
-[link boost_proto.users_guide.expression_transformation.is_callable here].)
-Rather than specialize `proto::is_callable<>` for your transform, you can simply
-wrap its use in `call<>`, instead.
-
-[tip For users of legacy compilers like MSVC 7.1, `call<>` is useful to work
-around compiler bugs. Doubly-nested transforms such as `__CALLABLE__(_child1(_child2))`
-cause older compilers problems, but the equivalent `__CALLABLE__(call<_child1(_child2)>)`
-solves the problem.]
-
-The semantics of `call<>` are described in the table below:
-
-[table
- [ [Expression]
- [Returns]
- ]
- [ [`boost::result_of<proto::call<Fun(A0, A1, ... AN)>(Expr, State, Data)>::type`]
- [``boost::result_of<Fun(
- boost::result_of<proto::when<_, A0>(Expr, State, Data)>::type
- , boost::result_of<proto::when<_, A1>(Expr, State, Data)>::type
- ...
- , boost::result_of<proto::when<_, AN>(Expr, State, Data)>::type
-)>::type``]
- ]
- [ [`proto::call<Fun(A0, A1, ... AN)>()(expr, state, data)`]
- [``Fun()(
- proto::when<_, A0>()(expr, state, data)
- , proto::when<_, A1>()(expr, state, data)
- ...
- , proto::when<_, AN>()(expr, state, data)
-)``]
- ]
-]
-
-The target of a callable transform can be any function object that implements
-the Boost.ResultOf protocol. Function objects that take up to
-`BOOST_PROTO_MAX_ARITY` are handled.
-
-For callable transforms that take 0, 1, or 2 arguments, special handling is done
-to see if the transform actually expects 3 arguments, as Proto's primitive
-transforms do. (This can be detected with meta-programming tricks.) So, even
-though a transform like `_child1` requires three parameters: expression,
-state and data; it can be "called" with just one, like `_child1(_child2)`. Proto
-treats this as if were `call<_child1(_child2, _state, _data)>`.
-
-If no transform arguments are specified at all, as in `call<_child1>`, this is
-the same as `_child1`. For this reason, `call<_child1>(_child2)` is the same as
-`call<_child1(_child2)>`.
-
-Example:
-
-[LazyMakePair2]
-
-[endsect]
-
-[section:make [^make<>]]
-
-[def __OBJECT__ [~[^Object]]]
-
- namespace boost { namespace proto
- {
- template<typename Fun>
- struct make;
- }}
-
-The `make<>` transform is used to construct objects and evaluate
-their constructor arguments. When you use an object transform as in
-`when< unary_plus<_>, __OBJECT__(_child) >`, the `make<>` transform is used behind
-the scenes to evaluate `__OBJECT__(_child)`. In fact, for any object
-transform, the following short- and long-forms are equivalent:
-
-[table
- [ [Short From]
- [Long Form] ]
- [ [ `proto::when< Grammar, __OBJECT__(Tran1, Tran2...) >` ]
- [ `proto::when< Grammar, proto::make< __OBJECT__(Tran1, Tran2...) > >` ] ]
-]
-
-You might decide to use `make<>` to explicitly differentiate object
-transforms from callable transforms. (See `call<>`.)
-
-[tip For users of legacy compilers like MSVC 7.1, `make<>` is useful to work
-around compiler bugs. Doubly-nested transforms such as `Object1(Object2(_child))`
-cause older compilers problems, but the equivalent `Object1(make<Object2(_child)>)`
-solves the problem.]
-
-The `make<>` transform checks to see if the resulting object type is a template.
-If it is, the template type is disassembled to find nested transforms. Proto
-considers the following types to represent transforms:
-
-[def __type__ [~type]]
-[def __X__ X\']
-[def __X0__ X0\']
-[def __X1__ X1\']
-[def __MakeImpl__ [~[^MakeImpl]]]
-
-* Function types
-* Function pointer types
-* Types for which `proto::is_callable<__type__>::value` is `true`
-
-When an object transform with a template type such as
-`Object<X0,X1,...>(Args...)` is evaluated with a given
-`Expr`, `State`, and `Data`, the result type is
-`__MakeImpl__<Object<X0,X1,...>, Expr, State, Data>::type` which is
-defined as follows. For each `X` in `X0,X1,...`, do:
-
-* If `X` is a transform, then let `__X__` be
- `boost::result_of<proto::when<_, X>(Expr, State, Data)>::type`.
- Note that a substitution took place.
-* Otherwise, if `X` is a template like `Object2<Y0,Y1,...>`, then
- let `__X__` be `__MakeImpl__<Object2<Y0,Y1,...>, Expr, State, Data>::type`
- (which evaluates this procedure recursively). Note whether any
- substitutions took place during this operation.
-* Otherwise, let `__X__` be `X`, and note that no substitution
- took place.
-* If any substitutions took place in any of the above steps and
- `Object<__X0__,__X1__,...>` has a nested `::type` typedef, the
- result type is `Object<__X0__,__X1__,...>::type`.
-* Otherwise, the result type is `Object<__X0__,__X1__,...>`.
-
-Note that `when<>` is implemented in terms of `call<>` and `make<>`,
-so the above procedure is evaluated recursively.
-
-Given the above description of the `__MakeImpl__<>` helper, the semantics
-of the `make<>` transform is described as follows:
-
-[def __AN__ A[~N]]
-
-[table
- [ [Expression]
- [Returns]
- ]
- [ [`boost::result_of<proto::make<Object(A0, A1, ... __AN__)>(Expr, State, Data)>::type`]
- [`__MakeImpl__<Object, Expr, State, Data>::type`]
- ]
- [ [`proto::make<Object(A0, A1, ... __AN__)>()(expr, state, data)`]
- [``__MakeImpl__<Object, Expr, State, Data>::type(
- proto::when<_, A0>()(expr, state, data)
- , proto::when<_, A1>()(expr, state, data)
- ...
- , proto::when<_, __AN__>()(expr, state, data)
-)``]
- ]
-]
-
-Objects with constructors that take up to `BOOST_PROTO_MAX_ARITY` are handled.
-Some types are so-called /aggregates/ that do not have constructors; rather,
-they use /aggregate initialization/. For these types, you can specialize
-`proto::is_aggregate<>` and Proto will use a brace initializer list to
-initialize the object rather than a constructor. Proto knows that `proto::expr<>`
-is such an aggregate, so if you use object transforms to "construct" a
-new node in an expression tree, the right thing happens.
-
-If no transform arguments are specified at all, as in `make<Object>`, this is
-the same as `make<Object()>`.
-
-Example:
-
-[LazyMakePair]
-
-[endsect]
-
-[section:lazy [^lazy<>]]
-
- namespace boost { namespace proto
- {
- template<typename Fun>
- struct lazy;
- }}
-
-Sometimes you would like a higher-order transform that returns another
-transform to be evaluated. This can happen when you have a transform
-whose behavior needs to be parameterized on the current state of the
-transformation. For these situations, you can use the `lazy<>` transform,
-which is essentially an invocation of the `make<>` transform (to evaluate
-any nested transforms and create the higher-order transform) followed
-by an invocation of `call<>` (to actually execute the higher-order
-transform).
-
-The behavior of `lazy<>` is easily specified in terms of `make<>` and
-`call<>`.
-
-[table
- [ [Expression]
- [Returns]
- ]
- [ [`boost::result_of<proto::lazy<Object(A0, A1, ... __AN__)>(Expr, State, Data)>::type`]
- [``boost::result_of<proto::call<
- boost::result_of<proto::make<Object>(Expr, State, Data)>::type(A0, A1, ... __AN__)
->(Expr, State, Data)>::type``]
- ]
- [ [`proto::lazy<Object(A0, A1, ... __AN__)>()(expr, state, data)`]
- [``proto::call<
- boost::result_of<proto::make<Object>(Expr, State, Data)>::type(A0, A1, ... __AN__)
->()(expr, state, data)``]
- ]
-]
-
-If no transform arguments are specified at all, as in `lazy<Object>`, this is
-the same as `lazy<Object(_expr, _state, _data)>`.
-
-[endsect]
-
-[section:when [^when<>]]
-
- namespace boost { namespace proto
- {
- template<typename Grammar, typename Transform = Grammar>
- struct when;
- }}
-
-`when<>` associates a grammar rule with a transform. It can be used
-in a grammar in place of the rule; that is, it behaves as a grammar
-rule. Expression tree nodes that match the grammar rule are processed
-with the associated transform; that is, `when<>` also behaves like
-a transform.
-
-When no transform is specified, as with `when< unary_plus<Calculator> >`,
-the grammar is treated as the transform. Every grammar element has
-a default transform. For most, such as `unary_plus<>`, the default transform
-is `pass_through<>`.
-
-The `when<>` transform is easily specified in terms of `call<>`,
-`make<>`, and the `is_callable<>` trait.
-
-[table
- [ [Expression]
- [Returns]
- ]
- [ [`boost::result_of<proto::when<Grammar, R(A0, A1, ... __AN__)>(Expr, State, Data)>::type`]
- [``boost::result_of<boost::mpl::if_<
- proto::is_callable<R>
- , proto::call<R(A0, A1, ... __AN__)>
- , proto::make<R(A0, A1, ... __AN__)>
->::type(Expr, State, Data)>::type``]
- ]
- [ [`proto::when<Grammar, R(A0, A1, ... __AN__)>()(expr, state, data)`]
- [``boost::mpl::if_<
- proto::is_callable<R>
- , proto::call<R(A0, A1, ... __AN__)>
- , proto::make<R(A0, A1, ... __AN__)>
->::type()(expr, state, data)``]
- ]
-]
-
-If no transform arguments are specified, as in `when<Grammar, _child>`, the
-transform is assumed to be callable; that is, it is equivalent to
-`when<Grammar, call<_child> >`.[footnote It is done this way to improve compile
-times.]
-
-[endsect]
-
-[section:fold [^fold<>] and [^reverse_fold<>]]
-
- namespace boost { namespace proto
- {
- template<typename Sequence, typename State0, typename Fun>
- struct fold;
-
- template<typename Sequence, typename State0, typename Fun>
- struct reverse_fold;
- }}
-
-The transforms `fold<>` and `reverse_fold<>` are akin to the
-`std::accumulate()` algorithm in the STL, or the `fold()` algorithm in
-Boost.Fusion. They iterate over some sequence and
-accumulate some state at each element. The `fold<>`
-transform iterates over the children in order, starting with the 0th child.
-The `reverse_fold<>` transform does it in reverse order, starting with the Nth
-child. (Note that for building things like cons lists, you'll often want to
-built it back-to-front with `reverse_fold<>`.)
-
-Both `fold<>` and `reverse_fold<>` are implemented in terms of `fusion::fold<>`.
-The three template parameters must each be Proto transforms. The have the following
-meaning:
-
-* `Sequence`: A Proto transform that returns a Fusion sequence.
-* `State`: A Proto transform that returns the initial state of the fold.
-* `Fun`: A Proto transform representing the operation to perform at each
- iteration of the fold algorithm.
-
-Often, the `Sequence` parameter is `proto::_`, which returns the current node
-in the Proto expression tree. Tree nodes are valid Fusion sequences, where
-the children are the elements of the sequence.
-
-[def __AS_CALLABLE__ [~[^AsCallable]]]
-
-The semantics of the `fold<>` and `reverse_fold<>` transforms can both be
-understood in terms of a helper struct, `__AS_CALLABLE__<>`, which binds the
-data and the `Fun` transform into a binary function object for use by
-`fusion::fold()`. `__AS_CALLABLE__<>` has the following behavior:
-
-[table
- [ [Expression]
- [Returns]
- ]
- [ [`boost::result_of<__AS_CALLABLE__<Fun, Data>(Expr, State)>::type`]
- [`boost::result_of<proto::when<_, Fun>(Expr, State, Data)>::type`]
- ]
- [ [`__AS_CALLABLE__<Fun, Data>(data)(expr, state)`]
- [`proto::when<_, Fun>()(expr, state, data)`]
- ]
-]
-
-With the above `__AS_CALLABLE__<>` adaptor, `fold<>` and `reverse_fold<>`
-can be easily implemented in terms of `fusion::fold<>`:
-
-[table
- [ [Expression]
- [Returns]
- ]
- [ [`boost::result_of<proto::fold<Sequence, State0, Fun>(Expr, State, Data)>::type`]
- [``fusion::result_of::fold<
- boost::result_of<proto::when<_, Sequence>(Expr, State, Data)>::type
- , boost::result_of<proto::when<_, State0>(Expr, State, Data)>::type
- , __AS_CALLABLE__<Fun, Data>
->::type``]
- ]
- [ [`proto::fold<Sequence, State0, Fun>()(expr, state, data)`]
- [``fusion::fold(
- proto::when<_, Sequence>()(expr, state, data)
- , proto::when<_, State0>()(expr, state, data)
- , __AS_CALLABLE__<Fun, Data>(data)
-)``]
- ]
- [ [`boost::result_of<proto::reverse_fold<Sequence, State0, Fun>(Expr, State, Data)>::type`]
- [``fusion::result_of::fold<
- fusion::result_of::reverse<
- boost::result_of<proto::when<_, Sequence>(Expr, State, Data)>::type
- >::type
- , boost::result_of<proto::when<_, State0>(Expr, State, Data)>::type
- , __AS_CALLABLE__<Fun, Data>
->::type``]
- ]
- [ [`proto::reverse_fold<Sequence, State0, Fun>()(expr, state, data)`]
- [``fusion::fold(
- fusion::reverse(
- proto::when<_, Sequence>()(expr, state, data)
- )
- , proto::when<_, State0>()(expr, state, data)
- , __AS_CALLABLE__<Fun, Data>(data)
-)``]
- ]
-]
-
-[#reverse_fold_example]Example:
-
-[AsArgList]
-
-[endsect]
-
-[section:fold_tree [^fold_tree<>] and [^reverse_fold_tree<>]]
-
- namespace boost { namespace proto
- {
- template<typename Sequence, typename State0, typename Fun>
- struct fold_tree;
-
- template<typename Sequence, typename State0, typename Fun>
- struct reverse_fold_tree;
- }}
-
-The `fold_tree<>` and `reverse_fold_tree<>` transforms recursively apply the
-`fold<>` and `reverse_fold<>` transforms to sub-trees that all share a common
-tag type. This is useful for flattening trees into lists; for example, you
-might use `reverse_fold_tree<>` to flatten an expression tree like `a | b | c`
-into a Fusion list like `cons(a, cons(b, cons(c)))`.
-
-The `fold_tree<>` and `reverse_fold_tree<>` transforms are unlike the other
-transforms that Proto provides in that they operate on entire sub-trees rather
-than just single nodes within the tree.
-
-[def __FOLD_TREE_IMPL__ [~[^FoldTreeImpl]]]
-[def __REVERSE_FOLD_TREE_IMPL__ [~[^ReverseFoldTreeImpl]]]
-
-These are higher-level transforms, implemented in terms of the `fold<>`
-and `reverse_fold<>` transforms and helper structs `__FOLD_TREE_IMPL__<>` and
-`__REVERSE_FOLD_TREE_IMPL__<>`, one of which is shown below:
-
- // FoldTreeImpl either recurses into the expression, if its Grammar
- // matches, or else ends the recursion by matching Grammar and
- // applying its transform.
- template<typename Grammar, typename Fun>
- struct __FOLD_TREE_IMPL__
- : proto::or_<
- proto::when<Grammar, proto::fold<_, proto::_state, __FOLD_TREE_IMPL__<Grammar, Fun> > >
- , proto::when<_, Fun>
- >
- {};
-
-The `__REVERSE_FOLD_TREE_IMPL__<>` helper is specified similarly, only with
-`reverse_fold<>` instead of `fold<>`. With these two helpers, we can
-specify the behavior of `fold_tree<>` and `reverse_fold_tree<>` as
-follows:
-
-[table
- [ [Expression]
- [Returns]
- ]
- [ [``boost::result_of<
- proto::fold_tree<Sequence, State0, Fun>(Expr, State, Data)
->::type``]
- [``boost::result_of<
- proto::fold<
- Sequence
- , State0
- , __FOLD_TREE_IMPL__<
- proto::nary_expr<Expr::proto_tag, proto::vararg<_> >
- , Fun
- >
- >(Expr, State, Data)
->::type``]
- ]
- [ [`proto::fold_tree<Sequence, State0, Fun>()(expr, state, data)`]
- [``proto::fold<
- Sequence
- , State0
- , __FOLD_TREE_IMPL__<
- proto::nary_expr<Expr::proto_tag, proto::vararg<_> >
- , Fun
- >
->()(expr, state, data)``]
- ]
- [ [``boost::result_of<
- proto::reverse_fold_tree<Sequence, State0, Fun>(Expr, State, Data)
->::type``]
- [``boost::result_of<
- proto::reverse_fold<
- Sequence
- , State0
- , __REVERSE_FOLD_TREE_IMPL__<
- proto::nary_expr<Expr::proto_tag, proto::vararg<_> >
- , Fun
- >
- >(Expr, State, Data)
->::type``]
- ]
- [ [`proto::reverse_fold_tree<Sequence, State0, Fun>()(expr, state, data)`]
- [``proto::reverse_fold<
- Sequence
- , State0
- , __REVERSE_FOLD_TREE_IMPL__<
- proto::nary_expr<Expr::proto_tag, proto::vararg<_> >
- , Fun
- >
->()(expr, state, data)``]
- ]
-]
-
-Example:
-
-[FoldTreeToList]
-
-[endsect]
-
-[section:pass_through [^pass_through<>]]
-
- namespace boost { namespace proto
- {
- template<typename Grammar>
- struct pass_through;
- }}
-
-The `pass_through<>` transform iterates over the pairs of
-children in the grammar and the expression, applying the child grammar's
-transform to the corresponding child expression. The resulting transformed
-children expressions are reassembled back into an expression of the same
-type as the parent expression.
-
-As a side-effect, `pass_through<>` transforms all sub-expressions held by
-reference into ones held by value.
-
-Note that all expression generator metafunctions (Eg., `unary_plus<>`,
-`shift_right<>`, `function<>`, `nary_expr<>`, etc.) have a pass-through
-transform by default, so there is rarely any need to use the `pass_through<>`
-transform explicitly.
-
-[table
- [ [Expression]
- [Returns]
- ]
- [ [``boost::result_of<
- proto::pass_through<Grammar>(Expr, State, Data)
->::type``]
- [``proto::nary_expr<
- Expr::proto_tag
- , boost::result_of<Grammar::proto_child0(Expr::proto_child0, State, Data)>::type
- , boost::result_of<Grammar::proto_child1(Expr::proto_child1, State, Data)>::type
- // ...
- , boost::result_of<Grammar::proto_childN(Expr::proto_childN, State, Data)>::type
->::type``]
- ]
- [ [`proto::pass_through<Grammar>()(expr, state, data)`]
- [``proto::make_expr<Expr::proto_tag>(
- Grammar::proto_child0()(proto::child_c<0>(expr), state, data)
- Grammar::proto_child1()(proto::child_c<1>(expr), state, data)
- // ...
- Grammar::proto_childN()(proto::child_c<N>(expr), state, data)
-)``]
- ]
-]
-
-Example:
-
-[Promote]
-
-[endsect]
-
-[endsect]
-
-[/======================================================]
-[section:user_defined_transforms User-Defined Transforms]
-[/======================================================]
-
-In previous sections, we've seen how to compose larger transforms
-out of smaller transforms using function types. The smaller transforms
-from which larger transforms are composed are /primitive transforms/,
-and Proto provides a bunch of common ones such as `_child0` and `_value`.
-In this section we'll see how to author your own primitive transforms.
-
-[note There are a few reasons why you might want to write your own
-primitive transforms. For instance, your transform may be complicated,
-and composing it out of primitives becomes unwieldy. You might also need
-to work around compiler bugs on legacy compilers that makes
-composing transforms using function types problematic. Finally,
-you might also decide to define your own primitive transforms
-to improve compile times. Since Proto can simply invoke a
-primitive transform directly without having to process arguments
-or differentiate callable transforms from object transforms,
-primitive transforms are more efficient.]
-
-[def _N_ [~N]]
-
-Primitive transforms inherit from `proto::transform<>`
-and have a nested `impl<>` template that inherits from
-`proto::transform_impl<>`. For example, this is how Proto
-defines the `_child_c<_N_>` transform, which returns the
-_N_-th child of the current expression:
-
- namespace boost { namespace proto
- {
- // A primitive transform that returns N-th child
- // of the current expression.
- template<int N>
- struct _child_c : transform<_child_c<N> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl : transform_impl<Expr, State, Data>
- {
- typedef
- typename result_of::child_c<Expr, N>::type
- result_type;
-
- result_type operator ()(
- typename impl::expr_param expr
- , typename impl::state_param state
- , typename impl::data_param data
- ) const
- {
- return proto::child_c<N>(expr);
- }
- };
- };
-
- // Note that _child_c<N> is callable, so that
- // it can be used with arguments, as:
- // _child_c<0>(_child_c<1>)
- template<int N>
- struct is_callable<_child_c<N> >
- : mpl::true_
- {};
- }}
-
-The `proto::transform<>` base class provides the `operator()` overloads
-and the nested `result<>` template that make your transform a valid
-function object. These are implemented in terms of the nested `impl<>`
-template you define.
-
-The `proto::transform_impl<>` base class is a convenience. It
-provides some nested typedefs that are generally useful. The are
-specified in the table below:
-
-[table proto::transform_impl<Expr, State, Data> typedefs
-[[typedef][Equivalent To]]
-[[`expr`][`typename remove_reference<Expr>::type`]]
-[[`state`][`typename remove_reference<State>::type`]]
-[[`data`][`typename remove_reference<Data>::type`]]
-[[`expr_param`][`typename add_reference<typename add_const<Expr>::type>::type`]]
-[[`state_param`][`typename add_reference<typename add_const<State>::type>::type`]]
-[[`data_param`][`typename add_reference<typename add_const<Data>::type>::type`]]
-]
-
-You'll notice that `_child_c::impl::operator()` takes arguments of types
-`expr_param`, `state_param`, and `data_param`. The typedefs make it easy to
-accept arguments by reference or const reference accordingly.
-
-The only other interesting bit is the `is_callable<>` specialization, which
-will be described in the
-[link boost_proto.users_guide.expression_transformation.is_callable
-next section].
-
-[endsect]
-
-[/=================================================]
-[section:is_callable Making Your Transform Callable]
-[/=================================================]
-
-Transforms are typically of the form `proto::when< Something, R(A0,A1,...) >`. The
-question is whether `R` represents a function to call or an object to
-construct, and the answer determines how _when_ evaluates the transform.
-_when_ uses the `proto::is_callable<>` trait to disambiguate between the two.
-Proto does its best to guess whether a transform is callable or not, but
-it doesn't always get it right. It's best to know the rules Proto uses,
-so that you know when you need to be more explicit.
-
-For most types `T`, `proto::is_callable<T>` checks for inheritence from
-`proto::callable`. However, if the type `T` is a template specialization,
-Proto assumes that it is /not/ callable ['even if the template inherits from
-`proto::callable`]. We'll see why in a minute. Consider the following erroneous
-callable transform:
-
- // Proto can't tell this defines a
- // callable transform!
- template<typename T>
- struct times2 : proto::callable
- {
- typedef T result_type;
-
- T operator()(T i) const
- {
- return i * 2;
- }
- };
-
- // ERROR! This is not going to
- // multiply the int by 2.
- struct IntTimes2
- : proto::when<
- proto::terminal<int>
- , times2<int>(proto::_value)
- >
- {};
-
-The problem is that Proto doesn't know that `times2<int>` is a callable
-transform. Instead, it assumes it is an object transform and will try to
-construct a `times2<int>` object and initialize it will an `int`. That
-will not compile.
-
-[note Why can't Proto tell that `times2<int>` is callable? After all,
-it inherits from `proto::callable`, and that is detectable, right?
-The problem is that merely asking whether some type `X<Y>` inherits from
-`callable` will cause the template `X<Y>` to be instantiated. That's a
-problem for a type like `std::vector<_value(_child1)>`. `std::vector<>`
-will not suffer to be instantiated with `_value(_child1)` as a template
-parameter. As a result, Proto has to assume that a type `X<Y>` represents
-an object transform and not a callable transform.]
-
-There are a couple of solutions to the `times2<int>` problem. One
-solution is to wrap the transform in `proto::call<>`. This forces Proto
-to treat `times2<int>` as callable:
-
- // OK, calls times2<int>
- struct IntTimes2
- : proto::when<
- proto::terminal<int>
- , proto::call<times2<int>(proto::_value)>
- >
- {};
-
-This can be a bit of a pain, because we need to wrap every use of
-`times2<int>`, which can be tedious and error prone, and makes our
-grammar cluttered and harder to read.
-
-Another solution is to specialize `proto::is_callable<>` on our
-`times2<>` template:
-
- namespace boost { namespace proto
- {
- template<typename T>
- struct is_callable<times2<T> >
- : mpl::true_
- {};
- }}
-
- // OK, times2<> is callable
- struct IntTimes2
- : proto::when<
- proto::terminal<int>
- , times2<int>(proto::_value)
- >
- {};
-
-This is better, but still a pain because of the need to open
-Proto's namespace.
-
-You could simply make sure that the transform is not
-a template specialization. Consider the following:
-
- // No longer a template specialization!
- struct times2int : times2<int> {};
-
- // OK, times2int is callable
- struct IntTimes2
- : proto::when<
- proto::terminal<int>
- , times2int(proto::_value)
- >
- {};
-
-This works because now Proto can tell that `times2int` inherits
-(indirectly) from `proto::callable`. Any non-template types can
-be safely checked for inheritance because, as they are not
-templates, there is no worry about instantiation errors.
-
-There is one last way to tell Proto that `times2<>` is callable.
-You could add an extra dummy template parameter that defaults
-to `proto::callable`:
-
- // Proto will recognize this as callable
- template<typename T, typename Callable = proto::callable>
- struct times2 : proto::callable
- {
- typedef T result_type;
-
- T operator()(T i) const
- {
- return i * 2;
- }
- };
-
- // OK, this works!
- struct IntTimes2
- : proto::when<
- proto::terminal<int>
- , times2<int>(proto::_value)
- >
- {};
-
-Note that in addition to the extra template parameter, `times2<>`
-still inherits from `proto::callable`. That's not necessary in this
-example but it's good style because any types derived from `times2<>`
-(as `times2int` defined above) will still be considered callable.
-
-[endsect]
-
-[endsect]

Deleted: branches/proto/v4/libs/proto/doc/wave.sh
==============================================================================
--- branches/proto/v4/libs/proto/doc/wave.sh 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
+++ (empty file)
@@ -1,7 +0,0 @@
-../../../../dist/bin/wave\
- -S ../../../..\
- -S "C:\\Program Files\\Microsoft Visual Studio .NET 2003\\vc7\\include"\
- -D _WIN32\
- -D BOOST_PROTO_DOXYGEN_INVOKED\
- -p 1\
- `cygpath -d $1`

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/background_information/examples.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/background_information/examples.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/background_information/examples.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -28,7 +28,7 @@
       Example Programs</a>
 </h3></div></div></div>
 <a name="boost_regex.background_information.examples.test_programs"></a><h5>
-<a name="id657134"></a>
+<a name="id657098"></a>
         <a href="examples.html#boost_regex.background_information.examples.test_programs">Test
         Programs</a>
       </h5>
@@ -107,7 +107,7 @@
         Files: captures_test.cpp.
       </p>
 <a name="boost_regex.background_information.examples.example_programs"></a><h5>
-<a name="id657522"></a>
+<a name="id657486"></a>
         <a href="examples.html#boost_regex.background_information.examples.example_programs">Example
         programs</a>
       </h5>
@@ -133,7 +133,7 @@
         Files: regex_timer.cpp.
       </p>
 <a name="boost_regex.background_information.examples.code_snippets"></a><h5>
-<a name="id657602"></a>
+<a name="id657567"></a>
         <a href="examples.html#boost_regex.background_information.examples.code_snippets">Code
         snippets</a>
       </h5>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/background_information/history.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/background_information/history.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/background_information/history.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -26,7 +26,7 @@
 <a name="boost_regex.background_information.history"></a> History
 </h3></div></div></div>
 <a name="boost_regex.background_information.history.boost_1_34"></a><h5>
-<a name="id659744"></a>
+<a name="id659717"></a>
         <a href="history.html#boost_regex.background_information.history.boost_1_34">Boost
         1.34</a>
       </h5>
@@ -49,7 +49,7 @@
         </li>
 </ul></div>
 <a name="boost_regex.background_information.history.boost_1_33_1"></a><h5>
-<a name="id659795"></a>
+<a name="id659769"></a>
         <a href="history.html#boost_regex.background_information.history.boost_1_33_1">Boost
         1.33.1</a>
       </h5>
@@ -119,7 +119,7 @@
         </li>
 </ul></div>
 <a name="boost_regex.background_information.history.boost_1_33_0"></a><h5>
-<a name="id659924"></a>
+<a name="id659898"></a>
         <a href="history.html#boost_regex.background_information.history.boost_1_33_0">Boost
         1.33.0</a>
       </h5>
@@ -174,7 +174,7 @@
         </li>
 </ul></div>
 <a name="boost_regex.background_information.history.boost_1_32_1"></a><h5>
-<a name="id660024"></a>
+<a name="id660004"></a>
         <a href="history.html#boost_regex.background_information.history.boost_1_32_1">Boost
         1.32.1</a>
       </h5>
@@ -182,7 +182,7 @@
           Fixed bug in partial matches of bounded repeats of '.'.
         </li></ul></div>
 <a name="boost_regex.background_information.history.boost_1_31_0"></a><h5>
-<a name="id660057"></a>
+<a name="id660038"></a>
         <a href="history.html#boost_regex.background_information.history.boost_1_31_0">Boost
         1.31.0</a>
       </h5>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/background_information/locale.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/background_information/locale.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/background_information/locale.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -58,7 +58,7 @@
         There are three separate localization mechanisms supported by Boost.Regex:
       </p>
 <a name="boost_regex.background_information.locale.win32_localization_model_"></a><h5>
-<a name="id653642"></a>
+<a name="id653600"></a>
         <a href="locale.html#boost_regex.background_information.locale.win32_localization_model_">Win32
         localization model.</a>
       </h5>
@@ -90,7 +90,7 @@
         are treated as "unknown" graphic characters.
       </p>
 <a name="boost_regex.background_information.locale.c_localization_model_"></a><h5>
-<a name="id653880"></a>
+<a name="id653844"></a>
         <a href="locale.html#boost_regex.background_information.locale.c_localization_model_">C
         localization model.</a>
       </h5>
@@ -114,7 +114,7 @@
         libraries including version 1 of this library.
       </p>
 <a name="boost_regex.background_information.locale.c___localization_model_"></a><h5>
-<a name="id653992"></a>
+<a name="id653957"></a>
         <a href="locale.html#boost_regex.background_information.locale.c___localization_model_">C++
         localization model.</a>
       </h5>
@@ -151,7 +151,7 @@
         in your code. The best way to ensure this is to add the #define to <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">regex</span><span class="special">/</span><span class="identifier">user</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>.
       </p>
 <a name="boost_regex.background_information.locale.providing_a_message_catalogue"></a><h5>
-<a name="id654452"></a>
+<a name="id654417"></a>
         <a href="locale.html#boost_regex.background_information.locale.providing_a_message_catalogue">Providing
         a message catalogue</a>
       </h5>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/background_information/standards.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/background_information/standards.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/background_information/standards.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -28,7 +28,7 @@
       Conformance</a>
 </h3></div></div></div>
 <a name="boost_regex.background_information.standards.c__"></a><h5>
-<a name="id658582"></a>
+<a name="id658553"></a>
         <a href="standards.html#boost_regex.background_information.standards.c__">C++</a>
       </h5>
 <p>
@@ -36,7 +36,7 @@
         Report on C++ Library Extensions</a>.
       </p>
 <a name="boost_regex.background_information.standards.ecmascript___javascript"></a><h5>
-<a name="id658620"></a>
+<a name="id658591"></a>
         <a href="standards.html#boost_regex.background_information.standards.ecmascript___javascript">ECMAScript
         / JavaScript</a>
       </h5>
@@ -49,7 +49,7 @@
         rather than a Unicode escape sequence; use \x{DDDD} for Unicode escape sequences.
       </p>
 <a name="boost_regex.background_information.standards.perl"></a><h5>
-<a name="id658659"></a>
+<a name="id658630"></a>
         <a href="standards.html#boost_regex.background_information.standards.perl">Perl</a>
       </h5>
 <p>
@@ -62,7 +62,7 @@
         (??{code}) Not implementable in a compiled strongly typed language.
       </p>
 <a name="boost_regex.background_information.standards.posix"></a><h5>
-<a name="id658698"></a>
+<a name="id658669"></a>
         <a href="standards.html#boost_regex.background_information.standards.posix">POSIX</a>
       </h5>
 <p>
@@ -82,7 +82,7 @@
         a custom traits class.
       </p>
 <a name="boost_regex.background_information.standards.unicode"></a><h5>
-<a name="id658745"></a>
+<a name="id658716"></a>
         <a href="standards.html#boost_regex.background_information.standards.unicode">Unicode</a>
       </h5>
 <p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/captures.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/captures.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/captures.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -35,7 +35,7 @@
       accessed.
     </p>
 <a name="boost_regex.captures.marked_sub_expressions"></a><h5>
-<a name="id502903"></a>
+<a name="id502881"></a>
       <a href="captures.html#boost_regex.captures.marked_sub_expressions">Marked sub-expressions</a>
     </h5>
 <p>
@@ -218,7 +218,7 @@
       output stream.
     </p>
 <a name="boost_regex.captures.unmatched_sub_expressions"></a><h5>
-<a name="id503526"></a>
+<a name="id503504"></a>
       <a href="captures.html#boost_regex.captures.unmatched_sub_expressions">Unmatched Sub-Expressions</a>
     </h5>
 <p>
@@ -231,7 +231,7 @@
       you can determine which sub-expressions matched by accessing the <code class="computeroutput"><span class="identifier">sub_match</span><span class="special">::</span><span class="identifier">matched</span></code> data member.
     </p>
 <a name="boost_regex.captures.repeated_captures"></a><h5>
-<a name="id503588"></a>
+<a name="id503566"></a>
       <a href="captures.html#boost_regex.captures.repeated_captures">Repeated Captures</a>
     </h5>
 <p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/format/boost_format_syntax.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/format/boost_format_syntax.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/format/boost_format_syntax.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -32,7 +32,7 @@
         '$', '\', '(', ')', '?', and ':'.
       </p>
 <a name="boost_regex.format.boost_format_syntax.grouping"></a><h5>
-<a name="id525475"></a>
+<a name="id525445"></a>
         <a href="boost_format_syntax.html#boost_regex.format.boost_format_syntax.grouping">Grouping</a>
       </h5>
 <p>
@@ -40,7 +40,7 @@
         you want a to output literal parenthesis.
       </p>
 <a name="boost_regex.format.boost_format_syntax.conditionals"></a><h5>
-<a name="id525505"></a>
+<a name="id525475"></a>
         <a href="boost_format_syntax.html#boost_regex.format.boost_format_syntax.conditionals">Conditionals</a>
       </h5>
 <p>
@@ -66,7 +66,7 @@
         with "bar" otherwise.
       </p>
 <a name="boost_regex.format.boost_format_syntax.placeholder_sequences"></a><h5>
-<a name="id525562"></a>
+<a name="id525532"></a>
         <a href="boost_format_syntax.html#boost_regex.format.boost_format_syntax.placeholder_sequences">Placeholder
         Sequences</a>
       </h5>
@@ -161,7 +161,7 @@
         as a literal.
       </p>
 <a name="boost_regex.format.boost_format_syntax.escape_sequences"></a><h5>
-<a name="id525734"></a>
+<a name="id525704"></a>
         <a href="boost_format_syntax.html#boost_regex.format.boost_format_syntax.escape_sequences">Escape
         Sequences</a>
       </h5>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/install.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/install.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/install.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -49,7 +49,7 @@
       file before you can use it, instructions for specific platforms are as follows:
     </p>
 <a name="boost_regex.install.building_with_bjam"></a><h5>
-<a name="id446088"></a>
+<a name="id446020"></a>
       <a href="install.html#boost_regex.install.building_with_bjam">Building with bjam</a>
     </h5>
 <p>
@@ -58,7 +58,7 @@
       started guide</a> for more information.
     </p>
 <a name="boost_regex.install.building_with_unicode_and_icu_support"></a><h5>
-<a name="id447706"></a>
+<a name="id445530"></a>
       <a href="install.html#boost_regex.install.building_with_unicode_and_icu_support">Building
       With Unicode and ICU Support</a>
     </h5>
@@ -96,11 +96,11 @@
       ICU you are using is binary compatible with the toolset you use to build Boost.
     </p>
 <a name="boost_regex.install.building_via_makefiles"></a><h5>
-<a name="id445600"></a>
+<a name="id450159"></a>
       <a href="install.html#boost_regex.install.building_via_makefiles">Building via makefiles</a>
     </h5>
 <a name="boost_regex.install.borland_c___builder_"></a><h6>
-<a name="id445624"></a>
+<a name="id450182"></a>
       <a href="install.html#boost_regex.install.borland_c___builder_">Borland C++ Builder:</a>
     </h6>
 <div class="itemizedlist"><ul type="disc">
@@ -166,7 +166,7 @@
       a lot in compile times!
     </p>
 <a name="boost_regex.install.microsoft_visual_c___6__7__7_1_and_8"></a><h5>
-<a name="id500138"></a>
+<a name="id500116"></a>
       <a href="install.html#boost_regex.install.microsoft_visual_c___6__7__7_1_and_8">Microsoft
       Visual C++ 6, 7, 7.1 and 8</a>
     </h5>
@@ -253,7 +253,7 @@
       </li>
 </ul></div>
 <a name="boost_regex.install.gcc_2_95_and_later_"></a><h6>
-<a name="id500450"></a>
+<a name="id500428"></a>
       <a href="install.html#boost_regex.install.gcc_2_95_and_later_">GCC(2.95 and later)</a>
     </h6>
 <p>
@@ -302,7 +302,7 @@
       see the config library documentation.
     </p>
 <a name="boost_regex.install.sun_workshop_6_1"></a><h6>
-<a name="id500651"></a>
+<a name="id500629"></a>
       <a href="install.html#boost_regex.install.sun_workshop_6_1">Sun Workshop 6.1</a>
     </h6>
 <p>
@@ -347,7 +347,7 @@
       will build v9 variants of the regex library named libboost_regex_v9.a etc.
     </p>
 <a name="boost_regex.install.makefiles_for_other_compilers"></a><h6>
-<a name="id500873"></a>
+<a name="id500850"></a>
       <a href="install.html#boost_regex.install.makefiles_for_other_compilers">Makefiles
       for Other compilers</a>
     </h6>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/bad_expression.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/bad_expression.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/bad_expression.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -27,7 +27,7 @@
 <a name="boost_regex.ref.bad_expression"></a> bad_expression
 </h3></div></div></div>
 <a name="boost_regex.ref.bad_expression.synopsis"></a><h5>
-<a name="id606153"></a>
+<a name="id606126"></a>
         <a href="bad_expression.html#boost_regex.ref.bad_expression.synopsis">Synopsis</a>
       </h5>
 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">pattern_except</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
@@ -54,7 +54,7 @@
 <span class="special">}</span> <span class="comment">// namespace boost
 </span></pre>
 <a name="boost_regex.ref.bad_expression.description"></a><h5>
-<a name="id606656"></a>
+<a name="id606629"></a>
         <a href="bad_expression.html#boost_regex.ref.bad_expression.description">Description</a>
       </h5>
 <pre class="programlisting"><span class="identifier">regex_error</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">error_type</span> <span class="identifier">err</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">pos</span><span class="special">);</span>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/basic_regex.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/basic_regex.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/basic_regex.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -27,7 +27,7 @@
 <a name="boost_regex.ref.basic_regex"></a> basic_regex
 </h3></div></div></div>
 <a name="boost_regex.ref.basic_regex.synopsis"></a><h5>
-<a name="id526147"></a>
+<a name="id526117"></a>
         <a href="basic_regex.html#boost_regex.ref.basic_regex.synopsis">Synopsis</a>
       </h5>
 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">regex</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
@@ -243,7 +243,7 @@
 <span class="special">}</span> <span class="comment">// namespace boost
 </span></pre>
 <a name="boost_regex.ref.basic_regex.description"></a><h5>
-<a name="id532078"></a>
+<a name="id532048"></a>
         <a href="basic_regex.html#boost_regex.ref.basic_regex.description">Description</a>
       </h5>
 <p>
@@ -326,7 +326,7 @@
         <code class="computeroutput"><span class="identifier">basic_regex</span></code>.
       </p>
 <div class="table">
-<a name="id534014"></a><p class="title"><b>Table 1. basic_regex default construction postconditions</b></p>
+<a name="id533984"></a><p class="title"><b>Table 1. basic_regex default construction postconditions</b></p>
 <div class="table-contents"><table class="table" summary="basic_regex default construction postconditions">
 <colgroup>
 <col>
@@ -406,7 +406,7 @@
         flags</a> specified in <span class="emphasis"><em>f</em></span>.
       </p>
 <div class="table">
-<a name="id534413"></a><p class="title"><b>Table 2. Postconditions for basic_regex construction</b></p>
+<a name="id534382"></a><p class="title"><b>Table 2. Postconditions for basic_regex construction</b></p>
 <div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
 <colgroup>
 <col>
@@ -511,7 +511,7 @@
         specified in <span class="emphasis"><em>f</em></span>.
       </p>
 <div class="table">
-<a name="id534958"></a><p class="title"><b>Table 3. Postconditions for basic_regex construction</b></p>
+<a name="id534928"></a><p class="title"><b>Table 3. Postconditions for basic_regex construction</b></p>
 <div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
 <colgroup>
 <col>
@@ -615,7 +615,7 @@
         according the option flags specified in <span class="emphasis"><em>f</em></span>.
       </p>
 <div class="table">
-<a name="id535491"></a><p class="title"><b>Table 4. Postconditions for basic_regex construction</b></p>
+<a name="id535461"></a><p class="title"><b>Table 4. Postconditions for basic_regex construction</b></p>
 <div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
 <colgroup>
 <col>
@@ -726,7 +726,7 @@
         flags</a> specified in <span class="emphasis"><em>f</em></span>.
       </p>
 <div class="table">
-<a name="id536126"></a><p class="title"><b>Table 5. Postconditions for basic_regex construction</b></p>
+<a name="id536096"></a><p class="title"><b>Table 5. Postconditions for basic_regex construction</b></p>
 <div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
 <colgroup>
 <col>
@@ -828,7 +828,7 @@
         flags</a> specified in <span class="emphasis"><em>f</em></span>.
       </p>
 <div class="table">
-<a name="id536601"></a><p class="title"><b>Table 6. Postconditions for basic_regex construction</b></p>
+<a name="id536571"></a><p class="title"><b>Table 6. Postconditions for basic_regex construction</b></p>
 <div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
 <colgroup>
 <col>
@@ -1026,7 +1026,7 @@
         in <span class="emphasis"><em>f</em></span>.
       </p>
 <div class="table">
-<a name="id538455"></a><p class="title"><b>Table 7. Postconditions for basic_regex::assign</b></p>
+<a name="id538424"></a><p class="title"><b>Table 7. Postconditions for basic_regex::assign</b></p>
 <div class="table-contents"><table class="table" summary="Postconditions for basic_regex::assign">
 <colgroup>
 <col>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/concepts/traits_concept.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/concepts/traits_concept.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/concepts/traits_concept.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -34,7 +34,7 @@
           Boost-specific enhanced interface.
         </p>
 <a name="boost_regex.ref.concepts.traits_concept.minimal_requirements_"></a><h5>
-<a name="id632754"></a>
+<a name="id632710"></a>
           <a href="traits_concept.html#boost_regex.ref.concepts.traits_concept.minimal_requirements_">Minimal
           requirements.</a>
         </h5>
@@ -381,7 +381,7 @@
 </tbody>
 </table></div>
 <a name="boost_regex.ref.concepts.traits_concept.additional_optional_requirements"></a><h5>
-<a name="id633573"></a>
+<a name="id633530"></a>
           <a href="traits_concept.html#boost_regex.ref.concepts.traits_concept.additional_optional_requirements">Additional
           Optional Requirements</a>
         </h5>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -34,7 +34,7 @@
           previous version of Boost.Regex and will not be further updated:
         </p>
 <a name="boost_regex.ref.deprecated_interfaces.regex_format.algorithm_regex_format"></a><h5>
-<a name="id634317"></a>
+<a name="id634274"></a>
           <a href="regex_format.html#boost_regex.ref.deprecated_interfaces.regex_format.algorithm_regex_format">Algorithm
           regex_format</a>
         </h5>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/error_type.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/error_type.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/error_type.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -27,7 +27,7 @@
 <a name="boost_regex.ref.error_type"></a> error_type
 </h3></div></div></div>
 <a name="boost_regex.ref.error_type.synopsis"></a><h5>
-<a name="id612137"></a>
+<a name="id612111"></a>
         <a href="error_type.html#boost_regex.ref.error_type.synopsis">Synopsis</a>
       </h5>
 <p>
@@ -57,7 +57,7 @@
 </span><span class="special">}</span> <span class="comment">// namespace boost
 </span></pre>
 <a name="boost_regex.ref.error_type.description"></a><h5>
-<a name="id612702"></a>
+<a name="id612674"></a>
         <a href="error_type.html#boost_regex.ref.error_type.description">Description</a>
       </h5>
 <p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/match_flag_type.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/match_flag_type.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/match_flag_type.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -69,7 +69,7 @@
 </span><span class="special">}</span> <span class="comment">// namespace boost
 </span></pre>
 <a name="boost_regex.ref.match_flag_type.description"></a><h5>
-<a name="id611372"></a>
+<a name="id611345"></a>
         <a href="match_flag_type.html#boost_regex.ref.match_flag_type.description">Description</a>
       </h5>
 <p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/match_results.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/match_results.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/match_results.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -27,7 +27,7 @@
 <a name="boost_regex.ref.match_results"></a> match_results
 </h3></div></div></div>
 <a name="boost_regex.ref.match_results.synopsis"></a><h5>
-<a name="id541842"></a>
+<a name="id541812"></a>
         <a href="match_results.html#boost_regex.ref.match_results.synopsis">Synopsis</a>
       </h5>
 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">regex</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
@@ -142,7 +142,7 @@
          <span class="identifier">match_results</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="identifier">Allocator</span><span class="special">&gt;&amp;</span> <span class="identifier">m2</span><span class="special">);</span>
 </pre>
 <a name="boost_regex.ref.match_results.description"></a><h5>
-<a name="id544746"></a>
+<a name="id544716"></a>
         <a href="match_results.html#boost_regex.ref.match_results.description">Description</a>
       </h5>
 <p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -43,7 +43,7 @@
             on to the "real" algorithm.
           </p>
 <a name="boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_match"></a><h5>
-<a name="id615144"></a>
+<a name="id615110"></a>
             <a href="unicode_algo.html#boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_match">u32regex_match</a>
           </h5>
 <p>
@@ -89,7 +89,7 @@
 <span class="special">}</span>
 </pre>
 <a name="boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_search"></a><h5>
-<a name="id615863"></a>
+<a name="id615828"></a>
             <a href="unicode_algo.html#boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_search">u32regex_search</a>
           </h5>
 <p>
@@ -128,7 +128,7 @@
 <span class="special">}</span>
 </pre>
 <a name="boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_replace"></a><h5>
-<a name="id616456"></a>
+<a name="id616422"></a>
             <a href="unicode_algo.html#boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_replace">u32regex_replace</a>
           </h5>
 <p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -28,7 +28,7 @@
           Unicode Aware Regex Iterators</a>
 </h5></div></div></div>
 <a name="boost_regex.ref.non_std_strings.icu.unicode_iter.u32regex_iterator"></a><h5>
-<a name="id616916"></a>
+<a name="id616881"></a>
             <a href="unicode_iter.html#boost_regex.ref.non_std_strings.icu.unicode_iter.u32regex_iterator">u32regex_iterator</a>
           </h5>
 <p>
@@ -126,7 +126,7 @@
             Provided of course that the input is encoded as UTF-8.
           </p>
 <a name="boost_regex.ref.non_std_strings.icu.unicode_iter.u32regex_token_iterator"></a><h5>
-<a name="id618662"></a>
+<a name="id618628"></a>
             <a href="unicode_iter.html#boost_regex.ref.non_std_strings.icu.unicode_iter.u32regex_token_iterator">u32regex_token_iterator</a>
           </h5>
 <p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -34,7 +34,7 @@
             here they are anyway:
           </p>
 <a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_match"></a><h5>
-<a name="id623819"></a>
+<a name="id623785"></a>
             <a href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_match">regex_match</a>
           </h5>
 <p>
@@ -82,7 +82,7 @@
 <span class="special">}</span>
 </pre>
 <a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_match__second_overload_"></a><h5>
-<a name="id624731"></a>
+<a name="id624697"></a>
             <a href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_match__second_overload_">regex_match
             (second overload)</a>
           </h5>
@@ -110,7 +110,7 @@
 <span class="special">}</span>
 </pre>
 <a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_search"></a><h5>
-<a name="id625322"></a>
+<a name="id625288"></a>
             <a href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_search">regex_search</a>
           </h5>
 <p>
@@ -149,7 +149,7 @@
 <span class="special">}</span>
 </pre>
 <a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_search__second_overload_"></a><h5>
-<a name="id626060"></a>
+<a name="id626026"></a>
             <a href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_search__second_overload_">regex_search
             (second overload)</a>
           </h5>
@@ -164,7 +164,7 @@
             <span class="special">+</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">GetLength</span><span class="special">(),</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span></code>
           </p>
 <a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_replace"></a><h5>
-<a name="id626464"></a>
+<a name="id626430"></a>
             <a href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_replace">regex_replace</a>
           </h5>
 <p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -32,7 +32,7 @@
             an MFC/ATL string to a regex_iterator or regex_token_iterator:
           </p>
 <a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_iter.regex_iterator_creation_helper"></a><h5>
-<a name="id627545"></a>
+<a name="id627510"></a>
             <a href="mfc_iter.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_iter.regex_iterator_creation_helper">regex_iterator
             creation helper</a>
           </h5>
@@ -68,7 +68,7 @@
 <span class="special">}</span>
 </pre>
 <a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_iter.regex_token_iterator_creation_helpers"></a><h5>
-<a name="id628294"></a>
+<a name="id628259"></a>
             <a href="mfc_iter.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_iter.regex_token_iterator_creation_helpers">regex_token_iterator
             creation helpers</a>
           </h5>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/posix.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/posix.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/posix.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -165,7 +165,7 @@
 <a name="regcomp"></a><p>
       </p>
 <a name="boost_regex.ref.posix.regcomp"></a><h5>
-<a name="id631211"></a>
+<a name="id631176"></a>
         <a href="posix.html#boost_regex.ref.posix.regcomp">regcomp</a>
       </h5>
 <p>
@@ -379,7 +379,7 @@
 <a name="regerror"></a><p>
       </p>
 <a name="boost_regex.ref.posix.regerror"></a><h5>
-<a name="id631855"></a>
+<a name="id631820"></a>
         <a href="posix.html#boost_regex.ref.posix.regerror">regerror</a>
       </h5>
 <p>
@@ -467,7 +467,7 @@
 <a name="regexec"></a><p>
       </p>
 <a name="boost_regex.ref.posix.regexec"></a><h5>
-<a name="id632046"></a>
+<a name="id632003"></a>
         <a href="posix.html#boost_regex.ref.posix.regexec">regexec</a>
       </h5>
 <p>
@@ -537,7 +537,7 @@
 <a name="regfree"></a><p>
       </p>
 <a name="boost_regex.ref.posix.regfree"></a><h5>
-<a name="id632188"></a>
+<a name="id632144"></a>
         <a href="posix.html#boost_regex.ref.posix.regfree">regfree</a>
       </h5>
 <p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_iterator.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_iterator.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_iterator.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -78,7 +78,7 @@
                           <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">match_flag_type</span> <span class="identifier">m</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">match_default</span><span class="special">);</span>
 </pre>
 <a name="boost_regex.ref.regex_iterator.description"></a><h5>
-<a name="id590309"></a>
+<a name="id590276"></a>
         <a href="regex_iterator.html#boost_regex.ref.regex_iterator.description">Description</a>
       </h5>
 <p>
@@ -436,7 +436,7 @@
         <span class="emphasis"><em>m</em></span>.
       </p>
 <a name="boost_regex.ref.regex_iterator.examples"></a><h5>
-<a name="id593442"></a>
+<a name="id593410"></a>
         <a href="regex_iterator.html#boost_regex.ref.regex_iterator.examples">Examples</a>
       </h5>
 <p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_match.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_match.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_match.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -80,7 +80,7 @@
                  <span class="identifier">match_flag_type</span> <span class="identifier">flags</span> <span class="special">=</span> <span class="identifier">match_default</span><span class="special">);</span>
 </pre>
 <a name="boost_regex.ref.regex_match.description"></a><h5>
-<a name="id573914"></a>
+<a name="id573882"></a>
         <a href="regex_match.html#boost_regex.ref.regex_match.description">Description</a>
       </h5>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
@@ -360,7 +360,7 @@
         <span class="bold"><strong>Effects</strong></span>: Returns the result of <code class="computeroutput"><span class="identifier">regex_match</span><span class="special">(</span><span class="identifier">s</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">flags</span><span class="special">)</span></code>.
       </p>
 <a name="boost_regex.ref.regex_match.examples"></a><h5>
-<a name="id577093"></a>
+<a name="id577061"></a>
         <a href="regex_match.html#boost_regex.ref.regex_match.examples">Examples</a>
       </h5>
 <p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_replace.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_replace.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_replace.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -53,7 +53,7 @@
                                   <span class="identifier">match_flag_type</span> <span class="identifier">flags</span> <span class="special">=</span> <span class="identifier">match_default</span><span class="special">);</span>
 </pre>
 <a name="boost_regex.ref.regex_replace.description"></a><h5>
-<a name="id584393"></a>
+<a name="id584361"></a>
         <a href="regex_replace.html#boost_regex.ref.regex_replace.description">Description</a>
       </h5>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">charT</span><span class="special">&gt;</span>
@@ -163,7 +163,7 @@
         and then returns <code class="computeroutput"><span class="identifier">result</span></code>.
       </p>
 <a name="boost_regex.ref.regex_replace.examples"></a><h5>
-<a name="id585942"></a>
+<a name="id585910"></a>
         <a href="regex_replace.html#boost_regex.ref.regex_replace.examples">Examples</a>
       </h5>
 <p>
@@ -238,7 +238,7 @@
 <span class="special">}</span>
 
 <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">pre_expression</span> <span class="special">=</span> <span class="string">"(&lt;)|(&gt;)|(&amp;)|\\r"</span><span class="special">;</span>
-<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">pre_format</span> <span class="special">=</span> <span class="string">"(?1&lt;)(?2&gt;)(?3&amp;amp;)"</span><span class="special">;</span>
+<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">pre_format</span> <span class="special">=</span> <span class="string">"(?1&amp;lt;)(?2&amp;gt;)(?3&amp;amp;)"</span><span class="special">;</span>
 
 
 <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">expression_text</span> <span class="special">=</span>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_search.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_search.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_search.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -73,7 +73,7 @@
                   <span class="identifier">match_flag_type</span> <span class="identifier">flags</span> <span class="special">=</span> <span class="identifier">match_default</span><span class="special">);</span>
 </pre>
 <a name="boost_regex.ref.regex_search.description"></a><h5>
-<a name="id579303"></a>
+<a name="id579271"></a>
         <a href="regex_search.html#boost_regex.ref.regex_search.description">Description</a>
       </h5>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
@@ -355,7 +355,7 @@
         <span class="bold"><strong>Effects</strong></span>: Returns the result of <code class="computeroutput"><span class="identifier">regex_search</span><span class="special">(</span><span class="identifier">s</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">flags</span><span class="special">)</span></code>.
       </p>
 <a name="boost_regex.ref.regex_search.examples"></a><h5>
-<a name="id582569"></a>
+<a name="id582536"></a>
         <a href="regex_search.html#boost_regex.ref.regex_search.examples">Examples</a>
       </h5>
 <p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_token_iterator.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_token_iterator.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_token_iterator.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -136,7 +136,7 @@
          <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">match_flag_type</span> <span class="identifier">m</span> <span class="special">=</span> <span class="identifier">regex_constants</span><span class="special">::</span><span class="identifier">match_default</span><span class="special">);</span>
 </pre>
 <a name="boost_regex.ref.regex_token_iterator.description"></a><h5>
-<a name="id599254"></a>
+<a name="id599227"></a>
         <a href="regex_token_iterator.html#boost_regex.ref.regex_token_iterator.description">Description</a>
       </h5>
 <a name="boost_regex.regex_token_iterator.construct1"></a><p>
@@ -383,7 +383,7 @@
         <span class="emphasis"><em>m</em></span>.
       </p>
 <a name="boost_regex.ref.regex_token_iterator.examples"></a><h5>
-<a name="id603471"></a>
+<a name="id603444"></a>
         <a href="regex_token_iterator.html#boost_regex.ref.regex_token_iterator.examples">Examples</a>
       </h5>
 <p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_traits.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_traits.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/regex_traits.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -46,7 +46,7 @@
 <span class="special">}</span> <span class="comment">// namespace boost
 </span></pre>
 <a name="boost_regex.ref.regex_traits.description"></a><h5>
-<a name="id613383"></a>
+<a name="id613356"></a>
         <a href="regex_traits.html#boost_regex.ref.regex_traits.description">Description</a>
       </h5>
 <p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/ref/sub_match.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/ref/sub_match.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/ref/sub_match.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -329,11 +329,11 @@
 <span class="special">}</span> <span class="comment">// namespace boost
 </span></pre>
 <a name="boost_regex.ref.sub_match.description"></a><h5>
-<a name="id558434"></a>
+<a name="id558403"></a>
         <a href="sub_match.html#boost_regex.ref.sub_match.description">Description</a>
       </h5>
 <a name="boost_regex.ref.sub_match.members"></a><h6>
-<a name="id558457"></a>
+<a name="id558426"></a>
         <a href="sub_match.html#boost_regex.ref.sub_match.members">Members</a>
       </h6>
 <a name="boost_regex.sub_match.value_type"></a><p>
@@ -473,7 +473,7 @@
         </li>
 </ul></div>
 <a name="boost_regex.ref.sub_match.sub_match_non_member_operators"></a><h6>
-<a name="id560032"></a>
+<a name="id560001"></a>
         <a href="sub_match.html#boost_regex.ref.sub_match.sub_match_non_member_operators">sub_match
         non-member operators</a>
       </h6>
@@ -1008,7 +1008,7 @@
         <span class="special">+</span> <span class="identifier">m2</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span></code>.
       </p>
 <a name="boost_regex.ref.sub_match.stream_inserter"></a><h6>
-<a name="id572003"></a>
+<a name="id571971"></a>
         <a href="sub_match.html#boost_regex.ref.sub_match.stream_inserter">Stream inserter</a>
       </h6>
 <a name="boost_regex.sub_match.op_stream"></a><p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/syntax/basic_extended.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/syntax/basic_extended.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/syntax/basic_extended.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -28,7 +28,7 @@
       Expression Syntax</a>
 </h3></div></div></div>
 <a name="boost_regex.syntax.basic_extended.synopsis"></a><h4>
-<a name="id514191"></a>
+<a name="id514165"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.synopsis">Synopsis</a>
       </h4>
 <p>
@@ -46,7 +46,7 @@
 <a name="boost_regex.posix_extended_syntax"></a><p>
       </p>
 <a name="boost_regex.syntax.basic_extended.posix_extended_syntax"></a><h4>
-<a name="id514455"></a>
+<a name="id514430"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.posix_extended_syntax">POSIX
         Extended Syntax</a>
       </h4>
@@ -56,7 +56,7 @@
       </p>
 <pre class="programlisting">.[{()\*+?|^$</pre>
 <a name="boost_regex.syntax.basic_extended.wildcard_"></a><h5>
-<a name="id514495"></a>
+<a name="id514469"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.wildcard_">Wildcard:</a>
       </h5>
 <p>
@@ -74,7 +74,7 @@
         </li>
 </ul></div>
 <a name="boost_regex.syntax.basic_extended.anchors_"></a><h5>
-<a name="id514563"></a>
+<a name="id514537"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.anchors_">Anchors:</a>
       </h5>
 <p>
@@ -86,7 +86,7 @@
         of an expression, or the last character of a sub-expression.
       </p>
 <a name="boost_regex.syntax.basic_extended.marked_sub_expressions_"></a><h5>
-<a name="id514599"></a>
+<a name="id514573"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.marked_sub_expressions_">Marked
         sub-expressions:</a>
       </h5>
@@ -98,7 +98,7 @@
         to by a back-reference.
       </p>
 <a name="boost_regex.syntax.basic_extended.repeats_"></a><h5>
-<a name="id514655"></a>
+<a name="id514630"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.repeats_">Repeats:</a>
       </h5>
 <p>
@@ -184,7 +184,7 @@
         operator to be applied to.
       </p>
 <a name="boost_regex.syntax.basic_extended.back_references_"></a><h5>
-<a name="id515103"></a>
+<a name="id515077"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.back_references_">Back references:</a>
       </h5>
 <p>
@@ -214,7 +214,7 @@
         </p></td></tr>
 </table></div>
 <a name="boost_regex.syntax.basic_extended.alternation"></a><h5>
-<a name="id515197"></a>
+<a name="id515171"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.alternation">Alternation</a>
       </h5>
 <p>
@@ -227,7 +227,7 @@
         will match either of "abd" or "abef".
       </p>
 <a name="boost_regex.syntax.basic_extended.character_sets_"></a><h5>
-<a name="id515300"></a>
+<a name="id515274"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.character_sets_">Character
         sets:</a>
       </h5>
@@ -240,7 +240,7 @@
         A bracket expression may contain any combination of the following:
       </p>
 <a name="boost_regex.syntax.basic_extended.single_characters_"></a><h6>
-<a name="id515336"></a>
+<a name="id515311"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.single_characters_">Single
         characters:</a>
       </h6>
@@ -249,7 +249,7 @@
         or 'c'.
       </p>
 <a name="boost_regex.syntax.basic_extended.character_ranges_"></a><h6>
-<a name="id515387"></a>
+<a name="id515361"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.character_ranges_">Character
         ranges:</a>
       </h6>
@@ -265,7 +265,7 @@
         the code points of the characters only.
       </p>
 <a name="boost_regex.syntax.basic_extended.negation_"></a><h6>
-<a name="id515488"></a>
+<a name="id515462"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.negation_">Negation:</a>
       </h6>
 <p>
@@ -274,7 +274,7 @@
         range <code class="computeroutput"><span class="identifier">a</span><span class="special">-</span><span class="identifier">c</span></code>.
       </p>
 <a name="boost_regex.syntax.basic_extended.character_classes_"></a><h6>
-<a name="id515570"></a>
+<a name="id515544"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.character_classes_">Character
         classes:</a>
       </h6>
@@ -284,7 +284,7 @@
         <a href="character_classes.html" title="Character Class Names">character class names</a>.
       </p>
 <a name="boost_regex.syntax.basic_extended.collating_elements_"></a><h6>
-<a name="id515652"></a>
+<a name="id515627"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.collating_elements_">Collating
         Elements:</a>
       </h6>
@@ -312,7 +312,7 @@
         matches a NUL character.
       </p>
 <a name="boost_regex.syntax.basic_extended.equivalence_classes_"></a><h6>
-<a name="id515814"></a>
+<a name="id515785"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.equivalence_classes_">Equivalence
         classes:</a>
       </h6>
@@ -329,7 +329,7 @@
         or even all locales on one platform.
       </p>
 <a name="boost_regex.syntax.basic_extended.combinations_"></a><h6>
-<a name="id515919"></a>
+<a name="id515889"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.combinations_">Combinations:</a>
       </h6>
 <p>
@@ -337,7 +337,7 @@
         <code class="computeroutput"><span class="special">[[:</span><span class="identifier">digit</span><span class="special">:]</span><span class="identifier">a</span><span class="special">-</span><span class="identifier">c</span><span class="special">[.</span><span class="identifier">NUL</span><span class="special">.]]</span></code>.
       </p>
 <a name="boost_regex.syntax.basic_extended.escapes"></a><h5>
-<a name="id515998"></a>
+<a name="id515969"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.escapes">Escapes</a>
       </h5>
 <p>
@@ -363,7 +363,7 @@
         extensions are also supported by Boost.Regex:
       </p>
 <a name="boost_regex.syntax.basic_extended.escapes_matching_a_specific_character"></a><h6>
-<a name="id516068"></a>
+<a name="id516039"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.escapes_matching_a_specific_character">Escapes
         matching a specific character</a>
       </h6>
@@ -552,7 +552,7 @@
 </tbody>
 </table></div>
 <a name="boost_regex.syntax.basic_extended._quot_single_character_quot__character_classes_"></a><h6>
-<a name="id516415"></a>
+<a name="id516386"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended._quot_single_character_quot__character_classes_">"Single
         character" character classes:</a>
       </h6>
@@ -706,7 +706,7 @@
 </tbody>
 </table></div>
 <a name="boost_regex.syntax.basic_extended.character_properties"></a><h6>
-<a name="id517047"></a>
+<a name="id517018"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.character_properties">Character
         Properties</a>
       </h6>
@@ -813,7 +813,7 @@
         matches any "digit" character, as does <code class="computeroutput"><span class="special">\</span><span class="identifier">p</span><span class="special">{</span><span class="identifier">digit</span><span class="special">}</span></code>.
       </p>
 <a name="boost_regex.syntax.basic_extended.word_boundaries"></a><h6>
-<a name="id517448"></a>
+<a name="id517419"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.word_boundaries">Word Boundaries</a>
       </h6>
 <p>
@@ -888,7 +888,7 @@
 </tbody>
 </table></div>
 <a name="boost_regex.syntax.basic_extended.buffer_boundaries"></a><h6>
-<a name="id517641"></a>
+<a name="id517612"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.buffer_boundaries">Buffer
         boundaries</a>
       </h6>
@@ -979,7 +979,7 @@
 </tbody>
 </table></div>
 <a name="boost_regex.syntax.basic_extended.continuation_escape"></a><h6>
-<a name="id517877"></a>
+<a name="id517847"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.continuation_escape">Continuation
         Escape</a>
       </h6>
@@ -991,7 +991,7 @@
         match to start where the last one ended.
       </p>
 <a name="boost_regex.syntax.basic_extended.quoting_escape"></a><h6>
-<a name="id517926"></a>
+<a name="id517896"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.quoting_escape">Quoting
         escape</a>
       </h6>
@@ -1005,7 +1005,7 @@
 <span class="special">\*+</span><span class="identifier">aaa</span>
 </pre>
 <a name="boost_regex.syntax.basic_extended.unicode_escapes"></a><h6>
-<a name="id518049"></a>
+<a name="id518020"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.unicode_escapes">Unicode
         escapes</a>
       </h6>
@@ -1056,7 +1056,7 @@
 </tbody>
 </table></div>
 <a name="boost_regex.syntax.basic_extended.any_other_escape"></a><h6>
-<a name="id518182"></a>
+<a name="id518153"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.any_other_escape">Any other
         escape</a>
       </h6>
@@ -1065,7 +1065,7 @@
         \@ matches a literal '@'.
       </p>
 <a name="boost_regex.syntax.basic_extended.operator_precedence"></a><h5>
-<a name="id518212"></a>
+<a name="id518183"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.operator_precedence">Operator
         precedence</a>
       </h5>
@@ -1101,7 +1101,7 @@
 </li>
 </ol></div>
 <a name="boost_regex.syntax.basic_extended.what_gets_matched"></a><h5>
-<a name="id518402"></a>
+<a name="id518372"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.what_gets_matched">What
         Gets Matched</a>
       </h5>
@@ -1111,11 +1111,11 @@
         rule</a>.
       </p>
 <a name="boost_regex.syntax.basic_extended.variations"></a><h4>
-<a name="id518442"></a>
+<a name="id518412"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.variations">Variations</a>
       </h4>
 <a name="boost_regex.syntax.basic_extended.egrep"></a><h5>
-<a name="id518465"></a>
+<a name="id518435"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.egrep">Egrep</a>
       </h5>
 <p>
@@ -1136,7 +1136,7 @@
         used with the -E option.
       </p>
 <a name="boost_regex.syntax.basic_extended.awk"></a><h5>
-<a name="id518622"></a>
+<a name="id518593"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.awk">awk</a>
       </h5>
 <p>
@@ -1150,7 +1150,7 @@
         these by default anyway.
       </p>
 <a name="boost_regex.syntax.basic_extended.options"></a><h4>
-<a name="id518669"></a>
+<a name="id518640"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.options">Options</a>
       </h4>
 <p>
@@ -1163,7 +1163,7 @@
         modify how the case and locale sensitivity are to be applied.
       </p>
 <a name="boost_regex.syntax.basic_extended.references"></a><h4>
-<a name="id518798"></a>
+<a name="id518768"></a>
         <a href="basic_extended.html#boost_regex.syntax.basic_extended.references">References</a>
       </h4>
 <p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/syntax/basic_syntax.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/syntax/basic_syntax.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/syntax/basic_syntax.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -28,7 +28,7 @@
       Expression Syntax</a>
 </h3></div></div></div>
 <a name="boost_regex.syntax.basic_syntax.synopsis"></a><h4>
-<a name="id518880"></a>
+<a name="id518850"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.synopsis">Synopsis</a>
       </h4>
 <p>
@@ -45,7 +45,7 @@
 <a name="boost_regex.posix_basic"></a><p>
       </p>
 <a name="boost_regex.syntax.basic_syntax.posix_basic_syntax"></a><h4>
-<a name="id519171"></a>
+<a name="id519142"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.posix_basic_syntax">POSIX
         Basic Syntax</a>
       </h4>
@@ -55,7 +55,7 @@
       </p>
 <pre class="programlisting">.[\*^$</pre>
 <a name="boost_regex.syntax.basic_syntax.wildcard_"></a><h5>
-<a name="id519210"></a>
+<a name="id519181"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.wildcard_">Wildcard:</a>
       </h5>
 <p>
@@ -73,7 +73,7 @@
         </li>
 </ul></div>
 <a name="boost_regex.syntax.basic_syntax.anchors_"></a><h5>
-<a name="id519279"></a>
+<a name="id519250"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.anchors_">Anchors:</a>
       </h5>
 <p>
@@ -85,7 +85,7 @@
         of an expression, or the last character of a sub-expression.
       </p>
 <a name="boost_regex.syntax.basic_syntax.marked_sub_expressions_"></a><h5>
-<a name="id519316"></a>
+<a name="id519286"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.marked_sub_expressions_">Marked
         sub-expressions:</a>
       </h5>
@@ -97,7 +97,7 @@
         by a back-reference.
       </p>
 <a name="boost_regex.syntax.basic_syntax.repeats_"></a><h5>
-<a name="id519372"></a>
+<a name="id519343"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.repeats_">Repeats:</a>
       </h5>
 <p>
@@ -155,7 +155,7 @@
         to.
       </p>
 <a name="boost_regex.syntax.basic_syntax.back_references_"></a><h5>
-<a name="id519616"></a>
+<a name="id519587"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.back_references_">Back references:</a>
       </h5>
 <p>
@@ -173,7 +173,7 @@
       </p>
 <pre class="programlisting">aaabba</pre>
 <a name="boost_regex.syntax.basic_syntax.character_sets_"></a><h5>
-<a name="id519690"></a>
+<a name="id519661"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.character_sets_">Character
         sets:</a>
       </h5>
@@ -186,7 +186,7 @@
         A bracket expression may contain any combination of the following:
       </p>
 <a name="boost_regex.syntax.basic_syntax.single_characters_"></a><h6>
-<a name="id519726"></a>
+<a name="id519697"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.single_characters_">Single
         characters:</a>
       </h6>
@@ -195,7 +195,7 @@
         or 'c'.
       </p>
 <a name="boost_regex.syntax.basic_syntax.character_ranges_"></a><h6>
-<a name="id519777"></a>
+<a name="id519747"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.character_ranges_">Character
         ranges:</a>
       </h6>
@@ -211,7 +211,7 @@
         of the characters only.
       </p>
 <a name="boost_regex.syntax.basic_syntax.negation_"></a><h6>
-<a name="id519868"></a>
+<a name="id519839"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.negation_">Negation:</a>
       </h6>
 <p>
@@ -220,7 +220,7 @@
         range a-c.
       </p>
 <a name="boost_regex.syntax.basic_syntax.character_classes_"></a><h6>
-<a name="id519929"></a>
+<a name="id519900"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.character_classes_">Character
         classes:</a>
       </h6>
@@ -230,7 +230,7 @@
         <a href="character_classes.html" title="Character Class Names">character class names</a>.
       </p>
 <a name="boost_regex.syntax.basic_syntax.collating_elements_"></a><h6>
-<a name="id520012"></a>
+<a name="id519983"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.collating_elements_">Collating
         Elements:</a>
       </h6>
@@ -259,7 +259,7 @@
         element names</a>.
       </p>
 <a name="boost_regex.syntax.basic_syntax.equivalence_classes_"></a><h6>
-<a name="id520161"></a>
+<a name="id520132"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.equivalence_classes_">Equivalence
         classes:</a>
       </h6>
@@ -276,7 +276,7 @@
         or even all locales on one platform.
       </p>
 <a name="boost_regex.syntax.basic_syntax.combinations_"></a><h6>
-<a name="id520265"></a>
+<a name="id520236"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.combinations_">Combinations:</a>
       </h6>
 <p>
@@ -284,7 +284,7 @@
         <code class="computeroutput"><span class="special">[[:</span><span class="identifier">digit</span><span class="special">:]</span><span class="identifier">a</span><span class="special">-</span><span class="identifier">c</span><span class="special">[.</span><span class="identifier">NUL</span><span class="special">.]].</span></code>
       </p>
 <a name="boost_regex.syntax.basic_syntax.escapes"></a><h5>
-<a name="id520343"></a>
+<a name="id520314"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.escapes">Escapes</a>
       </h5>
 <p>
@@ -299,7 +299,7 @@
         will match either a literal '\' or a '^'.
       </p>
 <a name="boost_regex.syntax.basic_syntax.what_gets_matched"></a><h4>
-<a name="id520400"></a>
+<a name="id520371"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.what_gets_matched">What Gets
         Matched</a>
       </h4>
@@ -309,13 +309,13 @@
         rule</a>.
       </p>
 <a name="boost_regex.syntax.basic_syntax.variations"></a><h4>
-<a name="id520440"></a>
+<a name="id520411"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.variations">Variations</a>
       </h4>
 <a name="boost_regex.grep_syntax"></a><p>
       </p>
 <a name="boost_regex.syntax.basic_syntax.grep"></a><h5>
-<a name="id520473"></a>
+<a name="id520443"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.grep">Grep</a>
       </h5>
 <p>
@@ -333,7 +333,7 @@
         As its name suggests, this behavior is consistent with the Unix utility grep.
       </p>
 <a name="boost_regex.syntax.basic_syntax.emacs"></a><h5>
-<a name="id520616"></a>
+<a name="id520587"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.emacs">emacs</a>
       </h5>
 <p>
@@ -613,7 +613,7 @@
         leftmost-longest rule</a>.
       </p>
 <a name="boost_regex.syntax.basic_syntax.options"></a><h4>
-<a name="id521112"></a>
+<a name="id521082"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.options">Options</a>
       </h4>
 <p>
@@ -627,7 +627,7 @@
         options</a> modify how the case and locale sensitivity are to be applied.
       </p>
 <a name="boost_regex.syntax.basic_syntax.references"></a><h4>
-<a name="id521285"></a>
+<a name="id521255"></a>
         <a href="basic_syntax.html#boost_regex.syntax.basic_syntax.references">References</a>
       </h4>
 <p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -28,7 +28,7 @@
       Syntax</a>
 </h3></div></div></div>
 <a name="boost_regex.syntax.perl_syntax.synopsis"></a><h4>
-<a name="id507610"></a>
+<a name="id507588"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.synopsis">Synopsis</a>
       </h4>
 <p>
@@ -45,7 +45,7 @@
 </span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span> <span class="identifier">e2</span><span class="special">(</span><span class="identifier">my_expression</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span><span class="special">::</span><span class="identifier">perl</span><span class="special">|</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span><span class="special">::</span><span class="identifier">icase</span><span class="special">);</span>
 </pre>
 <a name="boost_regex.syntax.perl_syntax.perl_regular_expression_syntax"></a><h4>
-<a name="id507832"></a>
+<a name="id507810"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.perl_regular_expression_syntax">Perl
         Regular Expression Syntax</a>
       </h4>
@@ -55,7 +55,7 @@
       </p>
 <pre class="programlisting">.[{()\*+?|^$</pre>
 <a name="boost_regex.syntax.perl_syntax.wildcard"></a><h5>
-<a name="id507869"></a>
+<a name="id507848"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.wildcard">Wildcard</a>
       </h5>
 <p>
@@ -75,7 +75,7 @@
         </li>
 </ul></div>
 <a name="boost_regex.syntax.perl_syntax.anchors"></a><h5>
-<a name="id507950"></a>
+<a name="id507929"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.anchors">Anchors</a>
       </h5>
 <p>
@@ -85,7 +85,7 @@
         A '$' character shall match the end of a line.
       </p>
 <a name="boost_regex.syntax.perl_syntax.marked_sub_expressions"></a><h5>
-<a name="id507984"></a>
+<a name="id507962"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.marked_sub_expressions">Marked
         sub-expressions</a>
       </h5>
@@ -97,7 +97,7 @@
         to by a back-reference.
       </p>
 <a name="boost_regex.syntax.perl_syntax.non_marking_grouping"></a><h5>
-<a name="id508040"></a>
+<a name="id508018"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.non_marking_grouping">Non-marking
         grouping</a>
       </h5>
@@ -111,7 +111,7 @@
         out any separate sub-expressions.
       </p>
 <a name="boost_regex.syntax.perl_syntax.repeats"></a><h5>
-<a name="id508128"></a>
+<a name="id508106"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.repeats">Repeats</a>
       </h5>
 <p>
@@ -197,7 +197,7 @@
         operator to be applied to.
       </p>
 <a name="boost_regex.syntax.perl_syntax.non_greedy_repeats"></a><h5>
-<a name="id508601"></a>
+<a name="id508580"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.non_greedy_repeats">Non greedy
         repeats</a>
       </h5>
@@ -228,7 +228,7 @@
         input as possible.
       </p>
 <a name="boost_regex.syntax.perl_syntax.back_references"></a><h5>
-<a name="id508746"></a>
+<a name="id508725"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.back_references">Back references</a>
       </h5>
 <p>
@@ -248,7 +248,7 @@
 <pre class="programlisting"><span class="identifier">aaabba</span>
 </pre>
 <a name="boost_regex.syntax.perl_syntax.alternation"></a><h5>
-<a name="id508829"></a>
+<a name="id508808"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.alternation">Alternation</a>
       </h5>
 <p>
@@ -277,7 +277,7 @@
         <code class="computeroutput"><span class="special">(?:</span><span class="identifier">abc</span><span class="special">)??</span></code> has exactly the same effect.
       </p>
 <a name="boost_regex.syntax.perl_syntax.character_sets"></a><h5>
-<a name="id509018"></a>
+<a name="id508996"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.character_sets">Character sets</a>
       </h5>
 <p>
@@ -290,7 +290,7 @@
         A bracket expression may contain any combination of the following:
       </p>
 <a name="boost_regex.syntax.perl_syntax.single_characters"></a><h6>
-<a name="id509077"></a>
+<a name="id509055"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.single_characters">Single characters</a>
       </h6>
 <p>
@@ -298,7 +298,7 @@
         or 'c'.
       </p>
 <a name="boost_regex.syntax.perl_syntax.character_ranges"></a><h6>
-<a name="id509127"></a>
+<a name="id509105"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.character_ranges">Character
         ranges</a>
       </h6>
@@ -311,7 +311,7 @@
         regular expression, then ranges are locale sensitive.
       </p>
 <a name="boost_regex.syntax.perl_syntax.negation"></a><h6>
-<a name="id509207"></a>
+<a name="id509186"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.negation">Negation</a>
       </h6>
 <p>
@@ -320,7 +320,7 @@
         range <code class="computeroutput"><span class="identifier">a</span><span class="special">-</span><span class="identifier">c</span></code>.
       </p>
 <a name="boost_regex.syntax.perl_syntax.character_classes"></a><h6>
-<a name="id509290"></a>
+<a name="id509268"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.character_classes">Character
         classes</a>
       </h6>
@@ -330,7 +330,7 @@
         <a href="character_classes.html" title="Character Class Names">character class names</a>.
       </p>
 <a name="boost_regex.syntax.perl_syntax.collating_elements"></a><h6>
-<a name="id509373"></a>
+<a name="id509351"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.collating_elements">Collating
         Elements</a>
       </h6>
@@ -354,7 +354,7 @@
         character.
       </p>
 <a name="boost_regex.syntax.perl_syntax.equivalence_classes"></a><h6>
-<a name="id509521"></a>
+<a name="id509500"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.equivalence_classes">Equivalence
         classes</a>
       </h6>
@@ -371,7 +371,7 @@
         or even all locales on one platform.
       </p>
 <a name="boost_regex.syntax.perl_syntax.escaped_characters"></a><h6>
-<a name="id509624"></a>
+<a name="id509603"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.escaped_characters">Escaped
         Characters</a>
       </h6>
@@ -383,7 +383,7 @@
         is <span class="emphasis"><em>not</em></span> a "word" character.
       </p>
 <a name="boost_regex.syntax.perl_syntax.combinations"></a><h6>
-<a name="id509730"></a>
+<a name="id509709"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.combinations">Combinations</a>
       </h6>
 <p>
@@ -391,7 +391,7 @@
         <code class="computeroutput"><span class="special">[[:</span><span class="identifier">digit</span><span class="special">:]</span><span class="identifier">a</span><span class="special">-</span><span class="identifier">c</span><span class="special">[.</span><span class="identifier">NUL</span><span class="special">.]]</span></code>.
       </p>
 <a name="boost_regex.syntax.perl_syntax.escapes"></a><h5>
-<a name="id509808"></a>
+<a name="id509787"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.escapes">Escapes</a>
       </h5>
 <p>
@@ -584,7 +584,7 @@
 </tbody>
 </table></div>
 <a name="boost_regex.syntax.perl_syntax._quot_single_character_quot__character_classes_"></a><h6>
-<a name="id510521"></a>
+<a name="id510500"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax._quot_single_character_quot__character_classes_">"Single
         character" character classes:</a>
       </h6>
@@ -738,7 +738,7 @@
 </tbody>
 </table></div>
 <a name="boost_regex.syntax.perl_syntax.character_properties"></a><h6>
-<a name="id511153"></a>
+<a name="id511132"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.character_properties">Character
         Properties</a>
       </h6>
@@ -846,7 +846,7 @@
         matches any "digit" character, as does <code class="computeroutput"><span class="special">\</span><span class="identifier">p</span><span class="special">{</span><span class="identifier">digit</span><span class="special">}</span></code>.
       </p>
 <a name="boost_regex.syntax.perl_syntax.word_boundaries"></a><h6>
-<a name="id511562"></a>
+<a name="id511541"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.word_boundaries">Word Boundaries</a>
       </h6>
 <p>
@@ -868,7 +868,7 @@
         Matches only when not at a word boundary.
       </p>
 <a name="boost_regex.syntax.perl_syntax.buffer_boundaries"></a><h6>
-<a name="id511664"></a>
+<a name="id511643"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.buffer_boundaries">Buffer boundaries</a>
       </h6>
 <p>
@@ -893,7 +893,7 @@
         to the regular expression <code class="computeroutput"><span class="special">\</span><span class="identifier">n</span><span class="special">*\</span><span class="identifier">z</span></code>
       </p>
 <a name="boost_regex.syntax.perl_syntax.continuation_escape"></a><h6>
-<a name="id511747"></a>
+<a name="id511726"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.continuation_escape">Continuation
         Escape</a>
       </h6>
@@ -905,7 +905,7 @@
         match to start where the last one ended.
       </p>
 <a name="boost_regex.syntax.perl_syntax.quoting_escape"></a><h6>
-<a name="id511798"></a>
+<a name="id511776"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.quoting_escape">Quoting escape</a>
       </h6>
 <p>
@@ -918,7 +918,7 @@
 <span class="special">\*+</span><span class="identifier">aaa</span>
 </pre>
 <a name="boost_regex.syntax.perl_syntax.unicode_escapes"></a><h6>
-<a name="id511904"></a>
+<a name="id511879"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.unicode_escapes">Unicode escapes</a>
       </h6>
 <p>
@@ -929,7 +929,7 @@
         combining characters.
       </p>
 <a name="boost_regex.syntax.perl_syntax.any_other_escape"></a><h6>
-<a name="id511968"></a>
+<a name="id511943"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.any_other_escape">Any other
         escape</a>
       </h6>
@@ -938,7 +938,7 @@
         \@ matches a literal '@'.
       </p>
 <a name="boost_regex.syntax.perl_syntax.perl_extended_patterns"></a><h5>
-<a name="id511997"></a>
+<a name="id511972"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.perl_extended_patterns">Perl
         Extended Patterns</a>
       </h5>
@@ -947,7 +947,7 @@
         <code class="computeroutput"><span class="special">(?</span></code>.
       </p>
 <a name="boost_regex.syntax.perl_syntax.comments"></a><h6>
-<a name="id512038"></a>
+<a name="id512014"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.comments">Comments</a>
       </h6>
 <p>
@@ -956,7 +956,7 @@
         are ignored.
       </p>
 <a name="boost_regex.syntax.perl_syntax.modifiers"></a><h6>
-<a name="id512091"></a>
+<a name="id512066"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.modifiers">Modifiers</a>
       </h6>
 <p>
@@ -971,7 +971,7 @@
         applies the specified modifiers to pattern only.
       </p>
 <a name="boost_regex.syntax.perl_syntax.non_marking_groups"></a><h6>
-<a name="id512218"></a>
+<a name="id512193"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.non_marking_groups">Non-marking
         groups</a>
       </h6>
@@ -980,7 +980,7 @@
         an additional sub-expression.
       </p>
 <a name="boost_regex.syntax.perl_syntax.lookahead"></a><h6>
-<a name="id512269"></a>
+<a name="id512244"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.lookahead">Lookahead</a>
       </h6>
 <p>
@@ -1003,7 +1003,7 @@
         could be used to validate the password.
       </p>
 <a name="boost_regex.syntax.perl_syntax.lookbehind"></a><h6>
-<a name="id512410"></a>
+<a name="id512386"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.lookbehind">Lookbehind</a>
       </h6>
 <p>
@@ -1017,7 +1017,7 @@
         (pattern must be of fixed length).
       </p>
 <a name="boost_regex.syntax.perl_syntax.independent_sub_expressions"></a><h6>
-<a name="id512489"></a>
+<a name="id512464"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.independent_sub_expressions">Independent
         sub-expressions</a>
       </h6>
@@ -1030,7 +1030,7 @@
         no match is found at all.
       </p>
 <a name="boost_regex.syntax.perl_syntax.conditional_expressions"></a><h6>
-<a name="id512553"></a>
+<a name="id512528"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.conditional_expressions">Conditional
         Expressions</a>
       </h6>
@@ -1050,7 +1050,7 @@
         sub-expression has been matched).
       </p>
 <a name="boost_regex.syntax.perl_syntax.operator_precedence"></a><h5>
-<a name="id512722"></a>
+<a name="id512696"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.operator_precedence">Operator
         precedence</a>
       </h5>
@@ -1086,7 +1086,7 @@
         </li>
 </ol></div>
 <a name="boost_regex.syntax.perl_syntax.what_gets_matched"></a><h4>
-<a name="id512900"></a>
+<a name="id512875"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.what_gets_matched">What gets
         matched</a>
       </h4>
@@ -1271,7 +1271,7 @@
 </tbody>
 </table></div>
 <a name="boost_regex.syntax.perl_syntax.variations"></a><h4>
-<a name="id513815"></a>
+<a name="id513789"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.variations">Variations</a>
       </h4>
 <p>
@@ -1280,7 +1280,7 @@
         <code class="computeroutput"><span class="identifier">JavaScript</span></code> and <code class="computeroutput"><span class="identifier">JScript</span></code></a> are all synonyms for <code class="computeroutput"><span class="identifier">perl</span></code>.
       </p>
 <a name="boost_regex.syntax.perl_syntax.options"></a><h4>
-<a name="id513910"></a>
+<a name="id513884"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.options">Options</a>
       </h4>
 <p>
@@ -1293,7 +1293,7 @@
         sensitivity are to be applied.
       </p>
 <a name="boost_regex.syntax.perl_syntax.pattern_modifiers"></a><h4>
-<a name="id514011"></a>
+<a name="id513985"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.pattern_modifiers">Pattern
         Modifiers</a>
       </h4>
@@ -1305,7 +1305,7 @@
         and <code class="computeroutput"><span class="identifier">no_mod_s</span></code></a>.
       </p>
 <a name="boost_regex.syntax.perl_syntax.references"></a><h4>
-<a name="id514138"></a>
+<a name="id514112"></a>
         <a href="perl_syntax.html#boost_regex.syntax.perl_syntax.references">References</a>
       </h4>
 <p>

Modified: branches/proto/v4/libs/regex/doc/html/boost_regex/unicode.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/boost_regex/unicode.html (original)
+++ branches/proto/v4/libs/regex/doc/html/boost_regex/unicode.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -30,7 +30,7 @@
       There are two ways to use Boost.Regex with Unicode strings:
     </p>
 <a name="boost_regex.unicode.rely_on_wchar_t"></a><h5>
-<a name="id502629"></a>
+<a name="id502607"></a>
       <a href="unicode.html#boost_regex.unicode.rely_on_wchar_t">Rely on wchar_t</a>
     </h5>
 <p>
@@ -56,7 +56,7 @@
       </li>
 </ul></div>
 <a name="boost_regex.unicode.use_a_unicode_aware_regular_expression_type_"></a><h5>
-<a name="id502813"></a>
+<a name="id502791"></a>
       <a href="unicode.html#boost_regex.unicode.use_a_unicode_aware_regular_expression_type_">Use
       a Unicode Aware Regular Expression Type.</a>
     </h5>

Modified: branches/proto/v4/libs/regex/doc/html/index.html
==============================================================================
--- branches/proto/v4/libs/regex/doc/html/index.html (original)
+++ branches/proto/v4/libs/regex/doc/html/index.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -28,7 +28,7 @@
 </h3></div></div></div>
 <div><p class="copyright">Copyright © 1998 -2007 John Maddock</p></div>
 <div><div class="legalnotice">
-<a name="id445742"></a><p>
+<a name="id447418"></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>
@@ -196,7 +196,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: July 25, 2008 at 09:01:43 GMT</small></p></td>
+<td align="left"><p><small>Last revised: October 23, 2008 at 14:48:47 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: branches/proto/v4/libs/regex/doc/regex_replace.qbk
==============================================================================
--- branches/proto/v4/libs/regex/doc/regex_replace.qbk (original)
+++ branches/proto/v4/libs/regex/doc/regex_replace.qbk 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -190,7 +190,7 @@
    }
 
    extern const char* pre_expression = "(<)|(>)|(&)|\\r";
- extern const char* pre_format = "(?1<)(?2>)(?3&amp;)";
+ extern const char* pre_format = "(?1&lt;)(?2&gt;)(?3&amp;)";
 
 
    const char* expression_text =

Modified: branches/proto/v4/libs/spirit/test/qi/char_class.cpp
==============================================================================
--- branches/proto/v4/libs/spirit/test/qi/char_class.cpp (original)
+++ branches/proto/v4/libs/spirit/test/qi/char_class.cpp 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -75,6 +75,10 @@
         BOOST_TEST(test("0", xdigit));
         BOOST_TEST(test("f", xdigit));
         BOOST_TEST(!test("g", xdigit));
+
+ BOOST_TEST(test("é", alpha));
+ BOOST_TEST(test("é", lower));
+ BOOST_TEST(!test("é", upper));
     }
 
     {

Modified: branches/proto/v4/libs/statechart/Statechart.sln
==============================================================================
--- branches/proto/v4/libs/statechart/Statechart.sln (original)
+++ branches/proto/v4/libs/statechart/Statechart.sln 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,328 +1,328 @@
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BitMachine", "example\BitMachine\BitMachine.vcproj", "{CF66596F-7DEA-4BB6-A728-F7FEF2889855}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Camera", "example\Camera\Camera.vcproj", "{7FD5B025-1675-4D68-BA85-588AFC99C5B8}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Handcrafted", "example\Handcrafted\Handcrafted.vcproj", "{155DB9E1-28AC-4671-8248-5FD03E8FCDAD}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Keyboard", "example\Keyboard\Keyboard.vcproj", "{4CBF564B-EEC6-49E1-B69B-CABF5DDFC684}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PingPong", "example\PingPong\PingPong.vcproj", "{11CCA9FC-6012-4B64-8C61-808D0F8D1B51}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StopWatch", "example\StopWatch\StopWatch.vcproj", "{DFA55264-E7F5-43FE-841F-D56AC48FF2A8}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TransitionTest", "test\TransitionTest.vcproj", "{D9103E3E-640D-4AB7-910C-ACA96709ED0A}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DeferralTest", "test\DeferralTest.vcproj", "{E599D469-A2BD-42FB-A217-73A420213D06}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InvalidTransitionTest1", "test\InvalidTransitionTest1.vcproj", "{345A4DD5-8B5C-40E4-95D2-4CF5A2621040}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InvalidTransitionTest2", "test\InvalidTransitionTest2.vcproj", "{FCB42B5B-DDE0-4E12-8474-F55DC85606FE}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HistoryTest", "test\HistoryTest.vcproj", "{206654FA-7AA0-4E06-BCFA-DC94D4281755}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InvalidChartTest1", "test\InvalidChartTest1.vcproj", "{AA1A7669-702E-4D56-A390-849612EB9CDF}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InvalidChartTest3", "test\InvalidChartTest3.vcproj", "{7083917A-4A8D-4BEF-A435-61AAF3BA554C}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InvalidChartTest2", "test\InvalidChartTest2.vcproj", "{CCB4DBF2-626B-4DA5-AB02-9504B0A97F9A}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InconsistentHistoryTest1", "test\InconsistentHistoryTest1.vcproj", "{B2739180-6048-4CA7-A96B-ECE182100321}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InconsistentHistoryTest2", "test\InconsistentHistoryTest2.vcproj", "{7C58D72A-C6EA-4E25-92E8-5ADEB5F61662}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InconsistentHistoryTest3", "test\InconsistentHistoryTest3.vcproj", "{801027D8-DC4E-48DC-9F98-75BA0B7F2997}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InconsistentHistoryTest4", "test\InconsistentHistoryTest4.vcproj", "{A211FFC9-D4B4-4C3A-900E-044A7519F8E4}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InconsistentHistoryTest5", "test\InconsistentHistoryTest5.vcproj", "{BE34C83E-6D4A-4E49-B9BA-EFF47ECBAA39}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InconsistentHistoryTest6", "test\InconsistentHistoryTest6.vcproj", "{7D2AB32E-930A-4758-8FAF-F5E0A19A411C}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InconsistentHistoryTest7", "test\InconsistentHistoryTest7.vcproj", "{41A33CE9-785E-4EC2-9022-A3B229D4935B}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InconsistentHistoryTest8", "test\InconsistentHistoryTest8.vcproj", "{FDBCBAEF-C973-42C2-BD8B-4796C0A1E6A8}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnsuppDeepHistoryTest", "test\UnsuppDeepHistoryTest.vcproj", "{7B6A4F61-6210-4FDC-BC23-660DA10EE7DD}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StateCastTest", "test\StateCastTest.vcproj", "{1826122F-4DB3-4C69-8BB2-E0B18D809FA9}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TypeInfoTest", "test\TypeInfoTest.vcproj", "{6FBB8140-6B00-4BF1-AD6D-9D394DE3610F}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StateIterationTest", "test\StateIterationTest.vcproj", "{D52BF95D-392C-4535-B332-CB3CC29C8227}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CustomReactionTest", "test\CustomReactionTest.vcproj", "{2D85E7DE-2347-43EA-843F-691101E6F98F}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TerminationTest", "test\TerminationTest.vcproj", "{A9921F2C-D8D3-4A4A-87C8-9A34DDD588B2}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FifoSchedulerTest", "test\FifoSchedulerTest.vcproj", "{3A9E80AF-DD29-4CE7-AB7D-1A13C766AC96}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InvalidResultAssignTest", "test\InvalidResultAssignTest.vcproj", "{962F23F9-D433-4825-9945-D5A5C5337B7F}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InvalidResultDefCtorTest", "test\InvalidResultDefCtorTest.vcproj", "{8381EC0A-7D7B-4127-93E8-DFE12F023611}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InvalidResultCopyTest", "test\InvalidResultCopyTest.vcproj", "{856A30E8-85E8-4BE4-B208-B5FC395408AF}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnconsumedResultTest", "test\UnconsumedResultTest.vcproj", "{93FEA76A-3C04-4A70-B53B-485490CF38A1}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InStateReactionTest", "test\InStateReactionTest.vcproj", "{DAD64722-72C8-4424-9024-185A0D0D897A}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TuTest", "test\TuTest.vcproj", "{892D213C-F575-4003-BB0F-5787DA2C407D}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Performance", "example\Performance\Performance.vcproj", "{045411F0-A746-4DB3-85B9-C9AEDE6D5CBA}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3D7ED412-11AE-4AE7-8258-0FF6CF8BD11C}"
- ProjectSection(SolutionItems) = preProject
- example\Jamfile.v2 = example\Jamfile.v2
- test\Jamfile.v2 = test\Jamfile.v2
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Documentation", "Documentation", "{FF998410-FD7E-4B0E-8754-20003E19F51D}"
- ProjectSection(SolutionItems) = preProject
- doc\acknowledgments.html = doc\acknowledgments.html
- doc\configuration.html = doc\configuration.html
- doc\contact.html = doc\contact.html
- doc\definitions.html = doc\definitions.html
- doc\faq.html = doc\faq.html
- doc\future_and_history.html = doc\future_and_history.html
- doc\index.html = doc\index.html
- doc\performance.html = doc\performance.html
- doc\rationale.html = doc\rationale.html
- doc\reference.html = doc\reference.html
- doc\tutorial.html = doc\tutorial.html
- doc\uml_mapping.html = doc\uml_mapping.html
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- DebugFail|Win32 = DebugFail|Win32
- Release|Win32 = Release|Win32
- ReleaseFail|Win32 = ReleaseFail|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {CF66596F-7DEA-4BB6-A728-F7FEF2889855}.Debug|Win32.ActiveCfg = Debug|Win32
- {CF66596F-7DEA-4BB6-A728-F7FEF2889855}.Debug|Win32.Build.0 = Debug|Win32
- {CF66596F-7DEA-4BB6-A728-F7FEF2889855}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {CF66596F-7DEA-4BB6-A728-F7FEF2889855}.Release|Win32.ActiveCfg = Release|Win32
- {CF66596F-7DEA-4BB6-A728-F7FEF2889855}.Release|Win32.Build.0 = Release|Win32
- {CF66596F-7DEA-4BB6-A728-F7FEF2889855}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {7FD5B025-1675-4D68-BA85-588AFC99C5B8}.Debug|Win32.ActiveCfg = Debug|Win32
- {7FD5B025-1675-4D68-BA85-588AFC99C5B8}.Debug|Win32.Build.0 = Debug|Win32
- {7FD5B025-1675-4D68-BA85-588AFC99C5B8}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {7FD5B025-1675-4D68-BA85-588AFC99C5B8}.Release|Win32.ActiveCfg = Release|Win32
- {7FD5B025-1675-4D68-BA85-588AFC99C5B8}.Release|Win32.Build.0 = Release|Win32
- {7FD5B025-1675-4D68-BA85-588AFC99C5B8}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {155DB9E1-28AC-4671-8248-5FD03E8FCDAD}.Debug|Win32.ActiveCfg = Debug|Win32
- {155DB9E1-28AC-4671-8248-5FD03E8FCDAD}.Debug|Win32.Build.0 = Debug|Win32
- {155DB9E1-28AC-4671-8248-5FD03E8FCDAD}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {155DB9E1-28AC-4671-8248-5FD03E8FCDAD}.Release|Win32.ActiveCfg = Release|Win32
- {155DB9E1-28AC-4671-8248-5FD03E8FCDAD}.Release|Win32.Build.0 = Release|Win32
- {155DB9E1-28AC-4671-8248-5FD03E8FCDAD}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {4CBF564B-EEC6-49E1-B69B-CABF5DDFC684}.Debug|Win32.ActiveCfg = Debug|Win32
- {4CBF564B-EEC6-49E1-B69B-CABF5DDFC684}.Debug|Win32.Build.0 = Debug|Win32
- {4CBF564B-EEC6-49E1-B69B-CABF5DDFC684}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {4CBF564B-EEC6-49E1-B69B-CABF5DDFC684}.Release|Win32.ActiveCfg = Release|Win32
- {4CBF564B-EEC6-49E1-B69B-CABF5DDFC684}.Release|Win32.Build.0 = Release|Win32
- {4CBF564B-EEC6-49E1-B69B-CABF5DDFC684}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {11CCA9FC-6012-4B64-8C61-808D0F8D1B51}.Debug|Win32.ActiveCfg = Debug|Win32
- {11CCA9FC-6012-4B64-8C61-808D0F8D1B51}.Debug|Win32.Build.0 = Debug|Win32
- {11CCA9FC-6012-4B64-8C61-808D0F8D1B51}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {11CCA9FC-6012-4B64-8C61-808D0F8D1B51}.Release|Win32.ActiveCfg = Release|Win32
- {11CCA9FC-6012-4B64-8C61-808D0F8D1B51}.Release|Win32.Build.0 = Release|Win32
- {11CCA9FC-6012-4B64-8C61-808D0F8D1B51}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {DFA55264-E7F5-43FE-841F-D56AC48FF2A8}.Debug|Win32.ActiveCfg = Debug|Win32
- {DFA55264-E7F5-43FE-841F-D56AC48FF2A8}.Debug|Win32.Build.0 = Debug|Win32
- {DFA55264-E7F5-43FE-841F-D56AC48FF2A8}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {DFA55264-E7F5-43FE-841F-D56AC48FF2A8}.Release|Win32.ActiveCfg = Release|Win32
- {DFA55264-E7F5-43FE-841F-D56AC48FF2A8}.Release|Win32.Build.0 = Release|Win32
- {DFA55264-E7F5-43FE-841F-D56AC48FF2A8}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {D9103E3E-640D-4AB7-910C-ACA96709ED0A}.Debug|Win32.ActiveCfg = Debug|Win32
- {D9103E3E-640D-4AB7-910C-ACA96709ED0A}.Debug|Win32.Build.0 = Debug|Win32
- {D9103E3E-640D-4AB7-910C-ACA96709ED0A}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {D9103E3E-640D-4AB7-910C-ACA96709ED0A}.Release|Win32.ActiveCfg = Release|Win32
- {D9103E3E-640D-4AB7-910C-ACA96709ED0A}.Release|Win32.Build.0 = Release|Win32
- {D9103E3E-640D-4AB7-910C-ACA96709ED0A}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {E599D469-A2BD-42FB-A217-73A420213D06}.Debug|Win32.ActiveCfg = Debug|Win32
- {E599D469-A2BD-42FB-A217-73A420213D06}.Debug|Win32.Build.0 = Debug|Win32
- {E599D469-A2BD-42FB-A217-73A420213D06}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {E599D469-A2BD-42FB-A217-73A420213D06}.Release|Win32.ActiveCfg = Release|Win32
- {E599D469-A2BD-42FB-A217-73A420213D06}.Release|Win32.Build.0 = Release|Win32
- {E599D469-A2BD-42FB-A217-73A420213D06}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {345A4DD5-8B5C-40E4-95D2-4CF5A2621040}.Debug|Win32.ActiveCfg = Debug|Win32
- {345A4DD5-8B5C-40E4-95D2-4CF5A2621040}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {345A4DD5-8B5C-40E4-95D2-4CF5A2621040}.DebugFail|Win32.Build.0 = Debug|Win32
- {345A4DD5-8B5C-40E4-95D2-4CF5A2621040}.Release|Win32.ActiveCfg = Release|Win32
- {345A4DD5-8B5C-40E4-95D2-4CF5A2621040}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {345A4DD5-8B5C-40E4-95D2-4CF5A2621040}.ReleaseFail|Win32.Build.0 = Release|Win32
- {FCB42B5B-DDE0-4E12-8474-F55DC85606FE}.Debug|Win32.ActiveCfg = Debug|Win32
- {FCB42B5B-DDE0-4E12-8474-F55DC85606FE}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {FCB42B5B-DDE0-4E12-8474-F55DC85606FE}.DebugFail|Win32.Build.0 = Debug|Win32
- {FCB42B5B-DDE0-4E12-8474-F55DC85606FE}.Release|Win32.ActiveCfg = Release|Win32
- {FCB42B5B-DDE0-4E12-8474-F55DC85606FE}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {FCB42B5B-DDE0-4E12-8474-F55DC85606FE}.ReleaseFail|Win32.Build.0 = Release|Win32
- {206654FA-7AA0-4E06-BCFA-DC94D4281755}.Debug|Win32.ActiveCfg = Debug|Win32
- {206654FA-7AA0-4E06-BCFA-DC94D4281755}.Debug|Win32.Build.0 = Debug|Win32
- {206654FA-7AA0-4E06-BCFA-DC94D4281755}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {206654FA-7AA0-4E06-BCFA-DC94D4281755}.Release|Win32.ActiveCfg = Release|Win32
- {206654FA-7AA0-4E06-BCFA-DC94D4281755}.Release|Win32.Build.0 = Release|Win32
- {206654FA-7AA0-4E06-BCFA-DC94D4281755}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {AA1A7669-702E-4D56-A390-849612EB9CDF}.Debug|Win32.ActiveCfg = Debug|Win32
- {AA1A7669-702E-4D56-A390-849612EB9CDF}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {AA1A7669-702E-4D56-A390-849612EB9CDF}.DebugFail|Win32.Build.0 = Debug|Win32
- {AA1A7669-702E-4D56-A390-849612EB9CDF}.Release|Win32.ActiveCfg = Release|Win32
- {AA1A7669-702E-4D56-A390-849612EB9CDF}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {AA1A7669-702E-4D56-A390-849612EB9CDF}.ReleaseFail|Win32.Build.0 = Release|Win32
- {7083917A-4A8D-4BEF-A435-61AAF3BA554C}.Debug|Win32.ActiveCfg = Debug|Win32
- {7083917A-4A8D-4BEF-A435-61AAF3BA554C}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {7083917A-4A8D-4BEF-A435-61AAF3BA554C}.DebugFail|Win32.Build.0 = Debug|Win32
- {7083917A-4A8D-4BEF-A435-61AAF3BA554C}.Release|Win32.ActiveCfg = Release|Win32
- {7083917A-4A8D-4BEF-A435-61AAF3BA554C}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {7083917A-4A8D-4BEF-A435-61AAF3BA554C}.ReleaseFail|Win32.Build.0 = Release|Win32
- {CCB4DBF2-626B-4DA5-AB02-9504B0A97F9A}.Debug|Win32.ActiveCfg = Debug|Win32
- {CCB4DBF2-626B-4DA5-AB02-9504B0A97F9A}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {CCB4DBF2-626B-4DA5-AB02-9504B0A97F9A}.DebugFail|Win32.Build.0 = Debug|Win32
- {CCB4DBF2-626B-4DA5-AB02-9504B0A97F9A}.Release|Win32.ActiveCfg = Release|Win32
- {CCB4DBF2-626B-4DA5-AB02-9504B0A97F9A}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {CCB4DBF2-626B-4DA5-AB02-9504B0A97F9A}.ReleaseFail|Win32.Build.0 = Release|Win32
- {B2739180-6048-4CA7-A96B-ECE182100321}.Debug|Win32.ActiveCfg = Debug|Win32
- {B2739180-6048-4CA7-A96B-ECE182100321}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {B2739180-6048-4CA7-A96B-ECE182100321}.DebugFail|Win32.Build.0 = Debug|Win32
- {B2739180-6048-4CA7-A96B-ECE182100321}.Release|Win32.ActiveCfg = Release|Win32
- {B2739180-6048-4CA7-A96B-ECE182100321}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {B2739180-6048-4CA7-A96B-ECE182100321}.ReleaseFail|Win32.Build.0 = Release|Win32
- {7C58D72A-C6EA-4E25-92E8-5ADEB5F61662}.Debug|Win32.ActiveCfg = Debug|Win32
- {7C58D72A-C6EA-4E25-92E8-5ADEB5F61662}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {7C58D72A-C6EA-4E25-92E8-5ADEB5F61662}.DebugFail|Win32.Build.0 = Debug|Win32
- {7C58D72A-C6EA-4E25-92E8-5ADEB5F61662}.Release|Win32.ActiveCfg = Release|Win32
- {7C58D72A-C6EA-4E25-92E8-5ADEB5F61662}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {7C58D72A-C6EA-4E25-92E8-5ADEB5F61662}.ReleaseFail|Win32.Build.0 = Release|Win32
- {801027D8-DC4E-48DC-9F98-75BA0B7F2997}.Debug|Win32.ActiveCfg = Debug|Win32
- {801027D8-DC4E-48DC-9F98-75BA0B7F2997}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {801027D8-DC4E-48DC-9F98-75BA0B7F2997}.DebugFail|Win32.Build.0 = Debug|Win32
- {801027D8-DC4E-48DC-9F98-75BA0B7F2997}.Release|Win32.ActiveCfg = Release|Win32
- {801027D8-DC4E-48DC-9F98-75BA0B7F2997}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {801027D8-DC4E-48DC-9F98-75BA0B7F2997}.ReleaseFail|Win32.Build.0 = Release|Win32
- {A211FFC9-D4B4-4C3A-900E-044A7519F8E4}.Debug|Win32.ActiveCfg = Debug|Win32
- {A211FFC9-D4B4-4C3A-900E-044A7519F8E4}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {A211FFC9-D4B4-4C3A-900E-044A7519F8E4}.DebugFail|Win32.Build.0 = Debug|Win32
- {A211FFC9-D4B4-4C3A-900E-044A7519F8E4}.Release|Win32.ActiveCfg = Release|Win32
- {A211FFC9-D4B4-4C3A-900E-044A7519F8E4}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {A211FFC9-D4B4-4C3A-900E-044A7519F8E4}.ReleaseFail|Win32.Build.0 = Release|Win32
- {BE34C83E-6D4A-4E49-B9BA-EFF47ECBAA39}.Debug|Win32.ActiveCfg = Debug|Win32
- {BE34C83E-6D4A-4E49-B9BA-EFF47ECBAA39}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {BE34C83E-6D4A-4E49-B9BA-EFF47ECBAA39}.DebugFail|Win32.Build.0 = Debug|Win32
- {BE34C83E-6D4A-4E49-B9BA-EFF47ECBAA39}.Release|Win32.ActiveCfg = Release|Win32
- {BE34C83E-6D4A-4E49-B9BA-EFF47ECBAA39}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {BE34C83E-6D4A-4E49-B9BA-EFF47ECBAA39}.ReleaseFail|Win32.Build.0 = Release|Win32
- {7D2AB32E-930A-4758-8FAF-F5E0A19A411C}.Debug|Win32.ActiveCfg = Debug|Win32
- {7D2AB32E-930A-4758-8FAF-F5E0A19A411C}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {7D2AB32E-930A-4758-8FAF-F5E0A19A411C}.DebugFail|Win32.Build.0 = Debug|Win32
- {7D2AB32E-930A-4758-8FAF-F5E0A19A411C}.Release|Win32.ActiveCfg = Release|Win32
- {7D2AB32E-930A-4758-8FAF-F5E0A19A411C}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {7D2AB32E-930A-4758-8FAF-F5E0A19A411C}.ReleaseFail|Win32.Build.0 = Release|Win32
- {41A33CE9-785E-4EC2-9022-A3B229D4935B}.Debug|Win32.ActiveCfg = Debug|Win32
- {41A33CE9-785E-4EC2-9022-A3B229D4935B}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {41A33CE9-785E-4EC2-9022-A3B229D4935B}.DebugFail|Win32.Build.0 = Debug|Win32
- {41A33CE9-785E-4EC2-9022-A3B229D4935B}.Release|Win32.ActiveCfg = Release|Win32
- {41A33CE9-785E-4EC2-9022-A3B229D4935B}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {41A33CE9-785E-4EC2-9022-A3B229D4935B}.ReleaseFail|Win32.Build.0 = Release|Win32
- {FDBCBAEF-C973-42C2-BD8B-4796C0A1E6A8}.Debug|Win32.ActiveCfg = Debug|Win32
- {FDBCBAEF-C973-42C2-BD8B-4796C0A1E6A8}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {FDBCBAEF-C973-42C2-BD8B-4796C0A1E6A8}.DebugFail|Win32.Build.0 = Debug|Win32
- {FDBCBAEF-C973-42C2-BD8B-4796C0A1E6A8}.Release|Win32.ActiveCfg = Release|Win32
- {FDBCBAEF-C973-42C2-BD8B-4796C0A1E6A8}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {FDBCBAEF-C973-42C2-BD8B-4796C0A1E6A8}.ReleaseFail|Win32.Build.0 = Release|Win32
- {7B6A4F61-6210-4FDC-BC23-660DA10EE7DD}.Debug|Win32.ActiveCfg = Debug|Win32
- {7B6A4F61-6210-4FDC-BC23-660DA10EE7DD}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {7B6A4F61-6210-4FDC-BC23-660DA10EE7DD}.DebugFail|Win32.Build.0 = Debug|Win32
- {7B6A4F61-6210-4FDC-BC23-660DA10EE7DD}.Release|Win32.ActiveCfg = Release|Win32
- {7B6A4F61-6210-4FDC-BC23-660DA10EE7DD}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {7B6A4F61-6210-4FDC-BC23-660DA10EE7DD}.ReleaseFail|Win32.Build.0 = Release|Win32
- {1826122F-4DB3-4C69-8BB2-E0B18D809FA9}.Debug|Win32.ActiveCfg = Debug|Win32
- {1826122F-4DB3-4C69-8BB2-E0B18D809FA9}.Debug|Win32.Build.0 = Debug|Win32
- {1826122F-4DB3-4C69-8BB2-E0B18D809FA9}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {1826122F-4DB3-4C69-8BB2-E0B18D809FA9}.Release|Win32.ActiveCfg = Release|Win32
- {1826122F-4DB3-4C69-8BB2-E0B18D809FA9}.Release|Win32.Build.0 = Release|Win32
- {1826122F-4DB3-4C69-8BB2-E0B18D809FA9}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {6FBB8140-6B00-4BF1-AD6D-9D394DE3610F}.Debug|Win32.ActiveCfg = Debug|Win32
- {6FBB8140-6B00-4BF1-AD6D-9D394DE3610F}.Debug|Win32.Build.0 = Debug|Win32
- {6FBB8140-6B00-4BF1-AD6D-9D394DE3610F}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {6FBB8140-6B00-4BF1-AD6D-9D394DE3610F}.Release|Win32.ActiveCfg = Release|Win32
- {6FBB8140-6B00-4BF1-AD6D-9D394DE3610F}.Release|Win32.Build.0 = Release|Win32
- {6FBB8140-6B00-4BF1-AD6D-9D394DE3610F}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {D52BF95D-392C-4535-B332-CB3CC29C8227}.Debug|Win32.ActiveCfg = Debug|Win32
- {D52BF95D-392C-4535-B332-CB3CC29C8227}.Debug|Win32.Build.0 = Debug|Win32
- {D52BF95D-392C-4535-B332-CB3CC29C8227}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {D52BF95D-392C-4535-B332-CB3CC29C8227}.Release|Win32.ActiveCfg = Release|Win32
- {D52BF95D-392C-4535-B332-CB3CC29C8227}.Release|Win32.Build.0 = Release|Win32
- {D52BF95D-392C-4535-B332-CB3CC29C8227}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {2D85E7DE-2347-43EA-843F-691101E6F98F}.Debug|Win32.ActiveCfg = Debug|Win32
- {2D85E7DE-2347-43EA-843F-691101E6F98F}.Debug|Win32.Build.0 = Debug|Win32
- {2D85E7DE-2347-43EA-843F-691101E6F98F}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {2D85E7DE-2347-43EA-843F-691101E6F98F}.Release|Win32.ActiveCfg = Release|Win32
- {2D85E7DE-2347-43EA-843F-691101E6F98F}.Release|Win32.Build.0 = Release|Win32
- {2D85E7DE-2347-43EA-843F-691101E6F98F}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {A9921F2C-D8D3-4A4A-87C8-9A34DDD588B2}.Debug|Win32.ActiveCfg = Debug|Win32
- {A9921F2C-D8D3-4A4A-87C8-9A34DDD588B2}.Debug|Win32.Build.0 = Debug|Win32
- {A9921F2C-D8D3-4A4A-87C8-9A34DDD588B2}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {A9921F2C-D8D3-4A4A-87C8-9A34DDD588B2}.Release|Win32.ActiveCfg = Release|Win32
- {A9921F2C-D8D3-4A4A-87C8-9A34DDD588B2}.Release|Win32.Build.0 = Release|Win32
- {A9921F2C-D8D3-4A4A-87C8-9A34DDD588B2}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {3A9E80AF-DD29-4CE7-AB7D-1A13C766AC96}.Debug|Win32.ActiveCfg = Debug|Win32
- {3A9E80AF-DD29-4CE7-AB7D-1A13C766AC96}.Debug|Win32.Build.0 = Debug|Win32
- {3A9E80AF-DD29-4CE7-AB7D-1A13C766AC96}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {3A9E80AF-DD29-4CE7-AB7D-1A13C766AC96}.Release|Win32.ActiveCfg = Release|Win32
- {3A9E80AF-DD29-4CE7-AB7D-1A13C766AC96}.Release|Win32.Build.0 = Release|Win32
- {3A9E80AF-DD29-4CE7-AB7D-1A13C766AC96}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {962F23F9-D433-4825-9945-D5A5C5337B7F}.Debug|Win32.ActiveCfg = Debug|Win32
- {962F23F9-D433-4825-9945-D5A5C5337B7F}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {962F23F9-D433-4825-9945-D5A5C5337B7F}.DebugFail|Win32.Build.0 = Debug|Win32
- {962F23F9-D433-4825-9945-D5A5C5337B7F}.Release|Win32.ActiveCfg = Release|Win32
- {962F23F9-D433-4825-9945-D5A5C5337B7F}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {962F23F9-D433-4825-9945-D5A5C5337B7F}.ReleaseFail|Win32.Build.0 = Release|Win32
- {8381EC0A-7D7B-4127-93E8-DFE12F023611}.Debug|Win32.ActiveCfg = Debug|Win32
- {8381EC0A-7D7B-4127-93E8-DFE12F023611}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {8381EC0A-7D7B-4127-93E8-DFE12F023611}.DebugFail|Win32.Build.0 = Debug|Win32
- {8381EC0A-7D7B-4127-93E8-DFE12F023611}.Release|Win32.ActiveCfg = Release|Win32
- {8381EC0A-7D7B-4127-93E8-DFE12F023611}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {8381EC0A-7D7B-4127-93E8-DFE12F023611}.ReleaseFail|Win32.Build.0 = Release|Win32
- {856A30E8-85E8-4BE4-B208-B5FC395408AF}.Debug|Win32.ActiveCfg = Debug|Win32
- {856A30E8-85E8-4BE4-B208-B5FC395408AF}.Debug|Win32.Build.0 = Debug|Win32
- {856A30E8-85E8-4BE4-B208-B5FC395408AF}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {856A30E8-85E8-4BE4-B208-B5FC395408AF}.Release|Win32.ActiveCfg = Release|Win32
- {856A30E8-85E8-4BE4-B208-B5FC395408AF}.Release|Win32.Build.0 = Release|Win32
- {856A30E8-85E8-4BE4-B208-B5FC395408AF}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {93FEA76A-3C04-4A70-B53B-485490CF38A1}.Debug|Win32.ActiveCfg = Debug|Win32
- {93FEA76A-3C04-4A70-B53B-485490CF38A1}.Debug|Win32.Build.0 = Debug|Win32
- {93FEA76A-3C04-4A70-B53B-485490CF38A1}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {93FEA76A-3C04-4A70-B53B-485490CF38A1}.Release|Win32.ActiveCfg = Release|Win32
- {93FEA76A-3C04-4A70-B53B-485490CF38A1}.Release|Win32.Build.0 = Release|Win32
- {93FEA76A-3C04-4A70-B53B-485490CF38A1}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {DAD64722-72C8-4424-9024-185A0D0D897A}.Debug|Win32.ActiveCfg = Debug|Win32
- {DAD64722-72C8-4424-9024-185A0D0D897A}.Debug|Win32.Build.0 = Debug|Win32
- {DAD64722-72C8-4424-9024-185A0D0D897A}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {DAD64722-72C8-4424-9024-185A0D0D897A}.Release|Win32.ActiveCfg = Release|Win32
- {DAD64722-72C8-4424-9024-185A0D0D897A}.Release|Win32.Build.0 = Release|Win32
- {DAD64722-72C8-4424-9024-185A0D0D897A}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {892D213C-F575-4003-BB0F-5787DA2C407D}.Debug|Win32.ActiveCfg = Debug|Win32
- {892D213C-F575-4003-BB0F-5787DA2C407D}.Debug|Win32.Build.0 = Debug|Win32
- {892D213C-F575-4003-BB0F-5787DA2C407D}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {892D213C-F575-4003-BB0F-5787DA2C407D}.Release|Win32.ActiveCfg = Release|Win32
- {892D213C-F575-4003-BB0F-5787DA2C407D}.Release|Win32.Build.0 = Release|Win32
- {892D213C-F575-4003-BB0F-5787DA2C407D}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- {045411F0-A746-4DB3-85B9-C9AEDE6D5CBA}.Debug|Win32.ActiveCfg = Debug|Win32
- {045411F0-A746-4DB3-85B9-C9AEDE6D5CBA}.Debug|Win32.Build.0 = Debug|Win32
- {045411F0-A746-4DB3-85B9-C9AEDE6D5CBA}.DebugFail|Win32.ActiveCfg = Debug|Win32
- {045411F0-A746-4DB3-85B9-C9AEDE6D5CBA}.Release|Win32.ActiveCfg = Release|Win32
- {045411F0-A746-4DB3-85B9-C9AEDE6D5CBA}.Release|Win32.Build.0 = Release|Win32
- {045411F0-A746-4DB3-85B9-C9AEDE6D5CBA}.ReleaseFail|Win32.ActiveCfg = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {FF998410-FD7E-4B0E-8754-20003E19F51D} = {3D7ED412-11AE-4AE7-8258-0FF6CF8BD11C}
- EndGlobalSection
-EndGlobal
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BitMachine", "example\BitMachine\BitMachine.vcproj", "{CF66596F-7DEA-4BB6-A728-F7FEF2889855}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Camera", "example\Camera\Camera.vcproj", "{7FD5B025-1675-4D68-BA85-588AFC99C5B8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Handcrafted", "example\Handcrafted\Handcrafted.vcproj", "{155DB9E1-28AC-4671-8248-5FD03E8FCDAD}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Keyboard", "example\Keyboard\Keyboard.vcproj", "{4CBF564B-EEC6-49E1-B69B-CABF5DDFC684}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PingPong", "example\PingPong\PingPong.vcproj", "{11CCA9FC-6012-4B64-8C61-808D0F8D1B51}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StopWatch", "example\StopWatch\StopWatch.vcproj", "{DFA55264-E7F5-43FE-841F-D56AC48FF2A8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TransitionTest", "test\TransitionTest.vcproj", "{D9103E3E-640D-4AB7-910C-ACA96709ED0A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DeferralTest", "test\DeferralTest.vcproj", "{E599D469-A2BD-42FB-A217-73A420213D06}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InvalidTransitionTest1", "test\InvalidTransitionTest1.vcproj", "{345A4DD5-8B5C-40E4-95D2-4CF5A2621040}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InvalidTransitionTest2", "test\InvalidTransitionTest2.vcproj", "{FCB42B5B-DDE0-4E12-8474-F55DC85606FE}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HistoryTest", "test\HistoryTest.vcproj", "{206654FA-7AA0-4E06-BCFA-DC94D4281755}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InvalidChartTest1", "test\InvalidChartTest1.vcproj", "{AA1A7669-702E-4D56-A390-849612EB9CDF}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InvalidChartTest3", "test\InvalidChartTest3.vcproj", "{7083917A-4A8D-4BEF-A435-61AAF3BA554C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InvalidChartTest2", "test\InvalidChartTest2.vcproj", "{CCB4DBF2-626B-4DA5-AB02-9504B0A97F9A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InconsistentHistoryTest1", "test\InconsistentHistoryTest1.vcproj", "{B2739180-6048-4CA7-A96B-ECE182100321}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InconsistentHistoryTest2", "test\InconsistentHistoryTest2.vcproj", "{7C58D72A-C6EA-4E25-92E8-5ADEB5F61662}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InconsistentHistoryTest3", "test\InconsistentHistoryTest3.vcproj", "{801027D8-DC4E-48DC-9F98-75BA0B7F2997}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InconsistentHistoryTest4", "test\InconsistentHistoryTest4.vcproj", "{A211FFC9-D4B4-4C3A-900E-044A7519F8E4}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InconsistentHistoryTest5", "test\InconsistentHistoryTest5.vcproj", "{BE34C83E-6D4A-4E49-B9BA-EFF47ECBAA39}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InconsistentHistoryTest6", "test\InconsistentHistoryTest6.vcproj", "{7D2AB32E-930A-4758-8FAF-F5E0A19A411C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InconsistentHistoryTest7", "test\InconsistentHistoryTest7.vcproj", "{41A33CE9-785E-4EC2-9022-A3B229D4935B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InconsistentHistoryTest8", "test\InconsistentHistoryTest8.vcproj", "{FDBCBAEF-C973-42C2-BD8B-4796C0A1E6A8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnsuppDeepHistoryTest", "test\UnsuppDeepHistoryTest.vcproj", "{7B6A4F61-6210-4FDC-BC23-660DA10EE7DD}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StateCastTest", "test\StateCastTest.vcproj", "{1826122F-4DB3-4C69-8BB2-E0B18D809FA9}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TypeInfoTest", "test\TypeInfoTest.vcproj", "{6FBB8140-6B00-4BF1-AD6D-9D394DE3610F}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StateIterationTest", "test\StateIterationTest.vcproj", "{D52BF95D-392C-4535-B332-CB3CC29C8227}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CustomReactionTest", "test\CustomReactionTest.vcproj", "{2D85E7DE-2347-43EA-843F-691101E6F98F}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TerminationTest", "test\TerminationTest.vcproj", "{A9921F2C-D8D3-4A4A-87C8-9A34DDD588B2}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FifoSchedulerTest", "test\FifoSchedulerTest.vcproj", "{3A9E80AF-DD29-4CE7-AB7D-1A13C766AC96}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InvalidResultAssignTest", "test\InvalidResultAssignTest.vcproj", "{962F23F9-D433-4825-9945-D5A5C5337B7F}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InvalidResultDefCtorTest", "test\InvalidResultDefCtorTest.vcproj", "{8381EC0A-7D7B-4127-93E8-DFE12F023611}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InvalidResultCopyTest", "test\InvalidResultCopyTest.vcproj", "{856A30E8-85E8-4BE4-B208-B5FC395408AF}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnconsumedResultTest", "test\UnconsumedResultTest.vcproj", "{93FEA76A-3C04-4A70-B53B-485490CF38A1}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InStateReactionTest", "test\InStateReactionTest.vcproj", "{DAD64722-72C8-4424-9024-185A0D0D897A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TuTest", "test\TuTest.vcproj", "{892D213C-F575-4003-BB0F-5787DA2C407D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Performance", "example\Performance\Performance.vcproj", "{045411F0-A746-4DB3-85B9-C9AEDE6D5CBA}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3D7ED412-11AE-4AE7-8258-0FF6CF8BD11C}"
+ ProjectSection(SolutionItems) = preProject
+ example\Jamfile.v2 = example\Jamfile.v2
+ test\Jamfile.v2 = test\Jamfile.v2
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Documentation", "Documentation", "{FF998410-FD7E-4B0E-8754-20003E19F51D}"
+ ProjectSection(SolutionItems) = preProject
+ doc\acknowledgments.html = doc\acknowledgments.html
+ doc\configuration.html = doc\configuration.html
+ doc\contact.html = doc\contact.html
+ doc\definitions.html = doc\definitions.html
+ doc\faq.html = doc\faq.html
+ doc\future_and_history.html = doc\future_and_history.html
+ doc\index.html = doc\index.html
+ doc\performance.html = doc\performance.html
+ doc\rationale.html = doc\rationale.html
+ doc\reference.html = doc\reference.html
+ doc\tutorial.html = doc\tutorial.html
+ doc\uml_mapping.html = doc\uml_mapping.html
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ DebugFail|Win32 = DebugFail|Win32
+ Release|Win32 = Release|Win32
+ ReleaseFail|Win32 = ReleaseFail|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {CF66596F-7DEA-4BB6-A728-F7FEF2889855}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CF66596F-7DEA-4BB6-A728-F7FEF2889855}.Debug|Win32.Build.0 = Debug|Win32
+ {CF66596F-7DEA-4BB6-A728-F7FEF2889855}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {CF66596F-7DEA-4BB6-A728-F7FEF2889855}.Release|Win32.ActiveCfg = Release|Win32
+ {CF66596F-7DEA-4BB6-A728-F7FEF2889855}.Release|Win32.Build.0 = Release|Win32
+ {CF66596F-7DEA-4BB6-A728-F7FEF2889855}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {7FD5B025-1675-4D68-BA85-588AFC99C5B8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7FD5B025-1675-4D68-BA85-588AFC99C5B8}.Debug|Win32.Build.0 = Debug|Win32
+ {7FD5B025-1675-4D68-BA85-588AFC99C5B8}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {7FD5B025-1675-4D68-BA85-588AFC99C5B8}.Release|Win32.ActiveCfg = Release|Win32
+ {7FD5B025-1675-4D68-BA85-588AFC99C5B8}.Release|Win32.Build.0 = Release|Win32
+ {7FD5B025-1675-4D68-BA85-588AFC99C5B8}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {155DB9E1-28AC-4671-8248-5FD03E8FCDAD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {155DB9E1-28AC-4671-8248-5FD03E8FCDAD}.Debug|Win32.Build.0 = Debug|Win32
+ {155DB9E1-28AC-4671-8248-5FD03E8FCDAD}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {155DB9E1-28AC-4671-8248-5FD03E8FCDAD}.Release|Win32.ActiveCfg = Release|Win32
+ {155DB9E1-28AC-4671-8248-5FD03E8FCDAD}.Release|Win32.Build.0 = Release|Win32
+ {155DB9E1-28AC-4671-8248-5FD03E8FCDAD}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {4CBF564B-EEC6-49E1-B69B-CABF5DDFC684}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4CBF564B-EEC6-49E1-B69B-CABF5DDFC684}.Debug|Win32.Build.0 = Debug|Win32
+ {4CBF564B-EEC6-49E1-B69B-CABF5DDFC684}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {4CBF564B-EEC6-49E1-B69B-CABF5DDFC684}.Release|Win32.ActiveCfg = Release|Win32
+ {4CBF564B-EEC6-49E1-B69B-CABF5DDFC684}.Release|Win32.Build.0 = Release|Win32
+ {4CBF564B-EEC6-49E1-B69B-CABF5DDFC684}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {11CCA9FC-6012-4B64-8C61-808D0F8D1B51}.Debug|Win32.ActiveCfg = Debug|Win32
+ {11CCA9FC-6012-4B64-8C61-808D0F8D1B51}.Debug|Win32.Build.0 = Debug|Win32
+ {11CCA9FC-6012-4B64-8C61-808D0F8D1B51}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {11CCA9FC-6012-4B64-8C61-808D0F8D1B51}.Release|Win32.ActiveCfg = Release|Win32
+ {11CCA9FC-6012-4B64-8C61-808D0F8D1B51}.Release|Win32.Build.0 = Release|Win32
+ {11CCA9FC-6012-4B64-8C61-808D0F8D1B51}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {DFA55264-E7F5-43FE-841F-D56AC48FF2A8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DFA55264-E7F5-43FE-841F-D56AC48FF2A8}.Debug|Win32.Build.0 = Debug|Win32
+ {DFA55264-E7F5-43FE-841F-D56AC48FF2A8}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {DFA55264-E7F5-43FE-841F-D56AC48FF2A8}.Release|Win32.ActiveCfg = Release|Win32
+ {DFA55264-E7F5-43FE-841F-D56AC48FF2A8}.Release|Win32.Build.0 = Release|Win32
+ {DFA55264-E7F5-43FE-841F-D56AC48FF2A8}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {D9103E3E-640D-4AB7-910C-ACA96709ED0A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {D9103E3E-640D-4AB7-910C-ACA96709ED0A}.Debug|Win32.Build.0 = Debug|Win32
+ {D9103E3E-640D-4AB7-910C-ACA96709ED0A}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {D9103E3E-640D-4AB7-910C-ACA96709ED0A}.Release|Win32.ActiveCfg = Release|Win32
+ {D9103E3E-640D-4AB7-910C-ACA96709ED0A}.Release|Win32.Build.0 = Release|Win32
+ {D9103E3E-640D-4AB7-910C-ACA96709ED0A}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {E599D469-A2BD-42FB-A217-73A420213D06}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E599D469-A2BD-42FB-A217-73A420213D06}.Debug|Win32.Build.0 = Debug|Win32
+ {E599D469-A2BD-42FB-A217-73A420213D06}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {E599D469-A2BD-42FB-A217-73A420213D06}.Release|Win32.ActiveCfg = Release|Win32
+ {E599D469-A2BD-42FB-A217-73A420213D06}.Release|Win32.Build.0 = Release|Win32
+ {E599D469-A2BD-42FB-A217-73A420213D06}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {345A4DD5-8B5C-40E4-95D2-4CF5A2621040}.Debug|Win32.ActiveCfg = Debug|Win32
+ {345A4DD5-8B5C-40E4-95D2-4CF5A2621040}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {345A4DD5-8B5C-40E4-95D2-4CF5A2621040}.DebugFail|Win32.Build.0 = Debug|Win32
+ {345A4DD5-8B5C-40E4-95D2-4CF5A2621040}.Release|Win32.ActiveCfg = Release|Win32
+ {345A4DD5-8B5C-40E4-95D2-4CF5A2621040}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {345A4DD5-8B5C-40E4-95D2-4CF5A2621040}.ReleaseFail|Win32.Build.0 = Release|Win32
+ {FCB42B5B-DDE0-4E12-8474-F55DC85606FE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {FCB42B5B-DDE0-4E12-8474-F55DC85606FE}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {FCB42B5B-DDE0-4E12-8474-F55DC85606FE}.DebugFail|Win32.Build.0 = Debug|Win32
+ {FCB42B5B-DDE0-4E12-8474-F55DC85606FE}.Release|Win32.ActiveCfg = Release|Win32
+ {FCB42B5B-DDE0-4E12-8474-F55DC85606FE}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {FCB42B5B-DDE0-4E12-8474-F55DC85606FE}.ReleaseFail|Win32.Build.0 = Release|Win32
+ {206654FA-7AA0-4E06-BCFA-DC94D4281755}.Debug|Win32.ActiveCfg = Debug|Win32
+ {206654FA-7AA0-4E06-BCFA-DC94D4281755}.Debug|Win32.Build.0 = Debug|Win32
+ {206654FA-7AA0-4E06-BCFA-DC94D4281755}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {206654FA-7AA0-4E06-BCFA-DC94D4281755}.Release|Win32.ActiveCfg = Release|Win32
+ {206654FA-7AA0-4E06-BCFA-DC94D4281755}.Release|Win32.Build.0 = Release|Win32
+ {206654FA-7AA0-4E06-BCFA-DC94D4281755}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {AA1A7669-702E-4D56-A390-849612EB9CDF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {AA1A7669-702E-4D56-A390-849612EB9CDF}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {AA1A7669-702E-4D56-A390-849612EB9CDF}.DebugFail|Win32.Build.0 = Debug|Win32
+ {AA1A7669-702E-4D56-A390-849612EB9CDF}.Release|Win32.ActiveCfg = Release|Win32
+ {AA1A7669-702E-4D56-A390-849612EB9CDF}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {AA1A7669-702E-4D56-A390-849612EB9CDF}.ReleaseFail|Win32.Build.0 = Release|Win32
+ {7083917A-4A8D-4BEF-A435-61AAF3BA554C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7083917A-4A8D-4BEF-A435-61AAF3BA554C}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {7083917A-4A8D-4BEF-A435-61AAF3BA554C}.DebugFail|Win32.Build.0 = Debug|Win32
+ {7083917A-4A8D-4BEF-A435-61AAF3BA554C}.Release|Win32.ActiveCfg = Release|Win32
+ {7083917A-4A8D-4BEF-A435-61AAF3BA554C}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {7083917A-4A8D-4BEF-A435-61AAF3BA554C}.ReleaseFail|Win32.Build.0 = Release|Win32
+ {CCB4DBF2-626B-4DA5-AB02-9504B0A97F9A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CCB4DBF2-626B-4DA5-AB02-9504B0A97F9A}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {CCB4DBF2-626B-4DA5-AB02-9504B0A97F9A}.DebugFail|Win32.Build.0 = Debug|Win32
+ {CCB4DBF2-626B-4DA5-AB02-9504B0A97F9A}.Release|Win32.ActiveCfg = Release|Win32
+ {CCB4DBF2-626B-4DA5-AB02-9504B0A97F9A}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {CCB4DBF2-626B-4DA5-AB02-9504B0A97F9A}.ReleaseFail|Win32.Build.0 = Release|Win32
+ {B2739180-6048-4CA7-A96B-ECE182100321}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B2739180-6048-4CA7-A96B-ECE182100321}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {B2739180-6048-4CA7-A96B-ECE182100321}.DebugFail|Win32.Build.0 = Debug|Win32
+ {B2739180-6048-4CA7-A96B-ECE182100321}.Release|Win32.ActiveCfg = Release|Win32
+ {B2739180-6048-4CA7-A96B-ECE182100321}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {B2739180-6048-4CA7-A96B-ECE182100321}.ReleaseFail|Win32.Build.0 = Release|Win32
+ {7C58D72A-C6EA-4E25-92E8-5ADEB5F61662}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7C58D72A-C6EA-4E25-92E8-5ADEB5F61662}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {7C58D72A-C6EA-4E25-92E8-5ADEB5F61662}.DebugFail|Win32.Build.0 = Debug|Win32
+ {7C58D72A-C6EA-4E25-92E8-5ADEB5F61662}.Release|Win32.ActiveCfg = Release|Win32
+ {7C58D72A-C6EA-4E25-92E8-5ADEB5F61662}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {7C58D72A-C6EA-4E25-92E8-5ADEB5F61662}.ReleaseFail|Win32.Build.0 = Release|Win32
+ {801027D8-DC4E-48DC-9F98-75BA0B7F2997}.Debug|Win32.ActiveCfg = Debug|Win32
+ {801027D8-DC4E-48DC-9F98-75BA0B7F2997}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {801027D8-DC4E-48DC-9F98-75BA0B7F2997}.DebugFail|Win32.Build.0 = Debug|Win32
+ {801027D8-DC4E-48DC-9F98-75BA0B7F2997}.Release|Win32.ActiveCfg = Release|Win32
+ {801027D8-DC4E-48DC-9F98-75BA0B7F2997}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {801027D8-DC4E-48DC-9F98-75BA0B7F2997}.ReleaseFail|Win32.Build.0 = Release|Win32
+ {A211FFC9-D4B4-4C3A-900E-044A7519F8E4}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A211FFC9-D4B4-4C3A-900E-044A7519F8E4}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {A211FFC9-D4B4-4C3A-900E-044A7519F8E4}.DebugFail|Win32.Build.0 = Debug|Win32
+ {A211FFC9-D4B4-4C3A-900E-044A7519F8E4}.Release|Win32.ActiveCfg = Release|Win32
+ {A211FFC9-D4B4-4C3A-900E-044A7519F8E4}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {A211FFC9-D4B4-4C3A-900E-044A7519F8E4}.ReleaseFail|Win32.Build.0 = Release|Win32
+ {BE34C83E-6D4A-4E49-B9BA-EFF47ECBAA39}.Debug|Win32.ActiveCfg = Debug|Win32
+ {BE34C83E-6D4A-4E49-B9BA-EFF47ECBAA39}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {BE34C83E-6D4A-4E49-B9BA-EFF47ECBAA39}.DebugFail|Win32.Build.0 = Debug|Win32
+ {BE34C83E-6D4A-4E49-B9BA-EFF47ECBAA39}.Release|Win32.ActiveCfg = Release|Win32
+ {BE34C83E-6D4A-4E49-B9BA-EFF47ECBAA39}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {BE34C83E-6D4A-4E49-B9BA-EFF47ECBAA39}.ReleaseFail|Win32.Build.0 = Release|Win32
+ {7D2AB32E-930A-4758-8FAF-F5E0A19A411C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7D2AB32E-930A-4758-8FAF-F5E0A19A411C}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {7D2AB32E-930A-4758-8FAF-F5E0A19A411C}.DebugFail|Win32.Build.0 = Debug|Win32
+ {7D2AB32E-930A-4758-8FAF-F5E0A19A411C}.Release|Win32.ActiveCfg = Release|Win32
+ {7D2AB32E-930A-4758-8FAF-F5E0A19A411C}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {7D2AB32E-930A-4758-8FAF-F5E0A19A411C}.ReleaseFail|Win32.Build.0 = Release|Win32
+ {41A33CE9-785E-4EC2-9022-A3B229D4935B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {41A33CE9-785E-4EC2-9022-A3B229D4935B}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {41A33CE9-785E-4EC2-9022-A3B229D4935B}.DebugFail|Win32.Build.0 = Debug|Win32
+ {41A33CE9-785E-4EC2-9022-A3B229D4935B}.Release|Win32.ActiveCfg = Release|Win32
+ {41A33CE9-785E-4EC2-9022-A3B229D4935B}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {41A33CE9-785E-4EC2-9022-A3B229D4935B}.ReleaseFail|Win32.Build.0 = Release|Win32
+ {FDBCBAEF-C973-42C2-BD8B-4796C0A1E6A8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {FDBCBAEF-C973-42C2-BD8B-4796C0A1E6A8}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {FDBCBAEF-C973-42C2-BD8B-4796C0A1E6A8}.DebugFail|Win32.Build.0 = Debug|Win32
+ {FDBCBAEF-C973-42C2-BD8B-4796C0A1E6A8}.Release|Win32.ActiveCfg = Release|Win32
+ {FDBCBAEF-C973-42C2-BD8B-4796C0A1E6A8}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {FDBCBAEF-C973-42C2-BD8B-4796C0A1E6A8}.ReleaseFail|Win32.Build.0 = Release|Win32
+ {7B6A4F61-6210-4FDC-BC23-660DA10EE7DD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7B6A4F61-6210-4FDC-BC23-660DA10EE7DD}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {7B6A4F61-6210-4FDC-BC23-660DA10EE7DD}.DebugFail|Win32.Build.0 = Debug|Win32
+ {7B6A4F61-6210-4FDC-BC23-660DA10EE7DD}.Release|Win32.ActiveCfg = Release|Win32
+ {7B6A4F61-6210-4FDC-BC23-660DA10EE7DD}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {7B6A4F61-6210-4FDC-BC23-660DA10EE7DD}.ReleaseFail|Win32.Build.0 = Release|Win32
+ {1826122F-4DB3-4C69-8BB2-E0B18D809FA9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1826122F-4DB3-4C69-8BB2-E0B18D809FA9}.Debug|Win32.Build.0 = Debug|Win32
+ {1826122F-4DB3-4C69-8BB2-E0B18D809FA9}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {1826122F-4DB3-4C69-8BB2-E0B18D809FA9}.Release|Win32.ActiveCfg = Release|Win32
+ {1826122F-4DB3-4C69-8BB2-E0B18D809FA9}.Release|Win32.Build.0 = Release|Win32
+ {1826122F-4DB3-4C69-8BB2-E0B18D809FA9}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {6FBB8140-6B00-4BF1-AD6D-9D394DE3610F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6FBB8140-6B00-4BF1-AD6D-9D394DE3610F}.Debug|Win32.Build.0 = Debug|Win32
+ {6FBB8140-6B00-4BF1-AD6D-9D394DE3610F}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {6FBB8140-6B00-4BF1-AD6D-9D394DE3610F}.Release|Win32.ActiveCfg = Release|Win32
+ {6FBB8140-6B00-4BF1-AD6D-9D394DE3610F}.Release|Win32.Build.0 = Release|Win32
+ {6FBB8140-6B00-4BF1-AD6D-9D394DE3610F}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {D52BF95D-392C-4535-B332-CB3CC29C8227}.Debug|Win32.ActiveCfg = Debug|Win32
+ {D52BF95D-392C-4535-B332-CB3CC29C8227}.Debug|Win32.Build.0 = Debug|Win32
+ {D52BF95D-392C-4535-B332-CB3CC29C8227}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {D52BF95D-392C-4535-B332-CB3CC29C8227}.Release|Win32.ActiveCfg = Release|Win32
+ {D52BF95D-392C-4535-B332-CB3CC29C8227}.Release|Win32.Build.0 = Release|Win32
+ {D52BF95D-392C-4535-B332-CB3CC29C8227}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {2D85E7DE-2347-43EA-843F-691101E6F98F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2D85E7DE-2347-43EA-843F-691101E6F98F}.Debug|Win32.Build.0 = Debug|Win32
+ {2D85E7DE-2347-43EA-843F-691101E6F98F}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {2D85E7DE-2347-43EA-843F-691101E6F98F}.Release|Win32.ActiveCfg = Release|Win32
+ {2D85E7DE-2347-43EA-843F-691101E6F98F}.Release|Win32.Build.0 = Release|Win32
+ {2D85E7DE-2347-43EA-843F-691101E6F98F}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {A9921F2C-D8D3-4A4A-87C8-9A34DDD588B2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A9921F2C-D8D3-4A4A-87C8-9A34DDD588B2}.Debug|Win32.Build.0 = Debug|Win32
+ {A9921F2C-D8D3-4A4A-87C8-9A34DDD588B2}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {A9921F2C-D8D3-4A4A-87C8-9A34DDD588B2}.Release|Win32.ActiveCfg = Release|Win32
+ {A9921F2C-D8D3-4A4A-87C8-9A34DDD588B2}.Release|Win32.Build.0 = Release|Win32
+ {A9921F2C-D8D3-4A4A-87C8-9A34DDD588B2}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {3A9E80AF-DD29-4CE7-AB7D-1A13C766AC96}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3A9E80AF-DD29-4CE7-AB7D-1A13C766AC96}.Debug|Win32.Build.0 = Debug|Win32
+ {3A9E80AF-DD29-4CE7-AB7D-1A13C766AC96}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {3A9E80AF-DD29-4CE7-AB7D-1A13C766AC96}.Release|Win32.ActiveCfg = Release|Win32
+ {3A9E80AF-DD29-4CE7-AB7D-1A13C766AC96}.Release|Win32.Build.0 = Release|Win32
+ {3A9E80AF-DD29-4CE7-AB7D-1A13C766AC96}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {962F23F9-D433-4825-9945-D5A5C5337B7F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {962F23F9-D433-4825-9945-D5A5C5337B7F}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {962F23F9-D433-4825-9945-D5A5C5337B7F}.DebugFail|Win32.Build.0 = Debug|Win32
+ {962F23F9-D433-4825-9945-D5A5C5337B7F}.Release|Win32.ActiveCfg = Release|Win32
+ {962F23F9-D433-4825-9945-D5A5C5337B7F}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {962F23F9-D433-4825-9945-D5A5C5337B7F}.ReleaseFail|Win32.Build.0 = Release|Win32
+ {8381EC0A-7D7B-4127-93E8-DFE12F023611}.Debug|Win32.ActiveCfg = Debug|Win32
+ {8381EC0A-7D7B-4127-93E8-DFE12F023611}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {8381EC0A-7D7B-4127-93E8-DFE12F023611}.DebugFail|Win32.Build.0 = Debug|Win32
+ {8381EC0A-7D7B-4127-93E8-DFE12F023611}.Release|Win32.ActiveCfg = Release|Win32
+ {8381EC0A-7D7B-4127-93E8-DFE12F023611}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {8381EC0A-7D7B-4127-93E8-DFE12F023611}.ReleaseFail|Win32.Build.0 = Release|Win32
+ {856A30E8-85E8-4BE4-B208-B5FC395408AF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {856A30E8-85E8-4BE4-B208-B5FC395408AF}.Debug|Win32.Build.0 = Debug|Win32
+ {856A30E8-85E8-4BE4-B208-B5FC395408AF}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {856A30E8-85E8-4BE4-B208-B5FC395408AF}.Release|Win32.ActiveCfg = Release|Win32
+ {856A30E8-85E8-4BE4-B208-B5FC395408AF}.Release|Win32.Build.0 = Release|Win32
+ {856A30E8-85E8-4BE4-B208-B5FC395408AF}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {93FEA76A-3C04-4A70-B53B-485490CF38A1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {93FEA76A-3C04-4A70-B53B-485490CF38A1}.Debug|Win32.Build.0 = Debug|Win32
+ {93FEA76A-3C04-4A70-B53B-485490CF38A1}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {93FEA76A-3C04-4A70-B53B-485490CF38A1}.Release|Win32.ActiveCfg = Release|Win32
+ {93FEA76A-3C04-4A70-B53B-485490CF38A1}.Release|Win32.Build.0 = Release|Win32
+ {93FEA76A-3C04-4A70-B53B-485490CF38A1}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {DAD64722-72C8-4424-9024-185A0D0D897A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DAD64722-72C8-4424-9024-185A0D0D897A}.Debug|Win32.Build.0 = Debug|Win32
+ {DAD64722-72C8-4424-9024-185A0D0D897A}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {DAD64722-72C8-4424-9024-185A0D0D897A}.Release|Win32.ActiveCfg = Release|Win32
+ {DAD64722-72C8-4424-9024-185A0D0D897A}.Release|Win32.Build.0 = Release|Win32
+ {DAD64722-72C8-4424-9024-185A0D0D897A}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {892D213C-F575-4003-BB0F-5787DA2C407D}.Debug|Win32.ActiveCfg = Debug|Win32
+ {892D213C-F575-4003-BB0F-5787DA2C407D}.Debug|Win32.Build.0 = Debug|Win32
+ {892D213C-F575-4003-BB0F-5787DA2C407D}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {892D213C-F575-4003-BB0F-5787DA2C407D}.Release|Win32.ActiveCfg = Release|Win32
+ {892D213C-F575-4003-BB0F-5787DA2C407D}.Release|Win32.Build.0 = Release|Win32
+ {892D213C-F575-4003-BB0F-5787DA2C407D}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ {045411F0-A746-4DB3-85B9-C9AEDE6D5CBA}.Debug|Win32.ActiveCfg = Debug|Win32
+ {045411F0-A746-4DB3-85B9-C9AEDE6D5CBA}.Debug|Win32.Build.0 = Debug|Win32
+ {045411F0-A746-4DB3-85B9-C9AEDE6D5CBA}.DebugFail|Win32.ActiveCfg = Debug|Win32
+ {045411F0-A746-4DB3-85B9-C9AEDE6D5CBA}.Release|Win32.ActiveCfg = Release|Win32
+ {045411F0-A746-4DB3-85B9-C9AEDE6D5CBA}.Release|Win32.Build.0 = Release|Win32
+ {045411F0-A746-4DB3-85B9-C9AEDE6D5CBA}.ReleaseFail|Win32.ActiveCfg = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {FF998410-FD7E-4B0E-8754-20003E19F51D} = {3D7ED412-11AE-4AE7-8258-0FF6CF8BD11C}
+ EndGlobalSection
+EndGlobal

Modified: branches/proto/v4/libs/statechart/example/BitMachine/BitMachine.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/example/BitMachine/BitMachine.vcproj (original)
+++ branches/proto/v4/libs/statechart/example/BitMachine/BitMachine.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,301 +1,301 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="BitMachine"
- ProjectGUID="{CF66596F-7DEA-4BB6-A728-F7FEF2889855}"
- RootNamespace="BitMachine"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/Zm300 /bigobj"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\.."
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- BufferSecurityCheck="true"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- EnablePREfast="false"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/BitMachine.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/BitMachine.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- EmbedManifest="true"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/Zm300 /bigobj"
- Optimization="3"
- InlineFunctionExpansion="2"
- AdditionalIncludeDirectories="..\..\..\.."
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- StringPooling="true"
- ExceptionHandling="1"
- RuntimeLibrary="2"
- BufferSecurityCheck="false"
- EnableFunctionLevelLinking="true"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="0"
- EnablePREfast="false"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/BitMachine.exe"
- LinkIncremental="1"
- GenerateDebugInformation="false"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- EmbedManifest="true"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
- >
- <File
- RelativePath="BitMachine.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Statechart Header Files"
- Filter="h;hpp;hxx;hm;inl;inc"
- >
- <File
- RelativePath="..\..\..\..\boost\statechart\asynchronous_state_machine.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\custom_reaction.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\deep_history.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\deferral.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\event.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\event_base.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\event_processor.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\exception_translator.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\fifo_scheduler.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\in_state_reaction.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\null_exception_translator.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\result.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\shallow_history.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\simple_state.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\state.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\state_machine.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\termination.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\transition.hpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- >
- <File
- RelativePath=".\UniqueObject.hpp"
- >
- </File>
- <File
- RelativePath=".\UniqueObjectAllocator.hpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="BitMachine"
+ ProjectGUID="{CF66596F-7DEA-4BB6-A728-F7FEF2889855}"
+ RootNamespace="BitMachine"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/Zm300 /bigobj"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ EnablePREfast="false"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/BitMachine.exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/BitMachine.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ EmbedManifest="true"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/Zm300 /bigobj"
+ Optimization="3"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ StringPooling="true"
+ ExceptionHandling="1"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="0"
+ EnablePREfast="false"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/BitMachine.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="false"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ EmbedManifest="true"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
+ >
+ <File
+ RelativePath="BitMachine.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Statechart Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc"
+ >
+ <File
+ RelativePath="..\..\..\..\boost\statechart\asynchronous_state_machine.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\custom_reaction.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\deep_history.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\deferral.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\event.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\event_base.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\event_processor.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\exception_translator.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\fifo_scheduler.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\in_state_reaction.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\null_exception_translator.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\result.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\shallow_history.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\simple_state.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\state.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\state_machine.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\termination.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\transition.hpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ >
+ <File
+ RelativePath=".\UniqueObject.hpp"
+ >
+ </File>
+ <File
+ RelativePath=".\UniqueObjectAllocator.hpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/example/Camera/Camera.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/example/Camera/Camera.vcproj (original)
+++ branches/proto/v4/libs/statechart/example/Camera/Camera.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,335 +1,335 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="Camera"
- ProjectGUID="{7FD5B025-1675-4D68-BA85-588AFC99C5B8}"
- RootNamespace="Camera"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\.."
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- BufferSecurityCheck="true"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="Precompiled.hpp"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/Camera.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/Camera.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- InlineFunctionExpansion="2"
- AdditionalIncludeDirectories="..\..\..\.."
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- StringPooling="true"
- RuntimeLibrary="2"
- BufferSecurityCheck="false"
- EnableFunctionLevelLinking="true"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="Precompiled.hpp"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="0"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/Camera.exe"
- LinkIncremental="1"
- GenerateDebugInformation="false"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
- >
- <File
- RelativePath="Camera.cpp"
- >
- </File>
- <File
- RelativePath=".\Configuring.cpp"
- >
- </File>
- <File
- RelativePath="Main.cpp"
- >
- </File>
- <File
- RelativePath="Precompiled.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\Shooting.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc"
- >
- <File
- RelativePath="Camera.hpp"
- >
- </File>
- <File
- RelativePath="Configuring.hpp"
- >
- </File>
- <File
- RelativePath="Precompiled.hpp"
- >
- </File>
- <File
- RelativePath="Shooting.hpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Statechart Header Files"
- >
- <File
- RelativePath="..\..\..\..\boost\statechart\asynchronous_state_machine.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\custom_reaction.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\deep_history.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\deferral.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\event.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\event_base.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\event_processor.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\exception_translator.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\fifo_scheduler.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\in_state_reaction.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\null_exception_translator.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\result.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\shallow_history.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\simple_state.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\state.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\state_machine.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\termination.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\transition.hpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="Camera"
+ ProjectGUID="{7FD5B025-1675-4D68-BA85-588AFC99C5B8}"
+ RootNamespace="Camera"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderThrough="Precompiled.hpp"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/Camera.exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/Camera.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="3"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderThrough="Precompiled.hpp"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/Camera.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="false"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
+ >
+ <File
+ RelativePath="Camera.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Configuring.cpp"
+ >
+ </File>
+ <File
+ RelativePath="Main.cpp"
+ >
+ </File>
+ <File
+ RelativePath="Precompiled.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath=".\Shooting.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc"
+ >
+ <File
+ RelativePath="Camera.hpp"
+ >
+ </File>
+ <File
+ RelativePath="Configuring.hpp"
+ >
+ </File>
+ <File
+ RelativePath="Precompiled.hpp"
+ >
+ </File>
+ <File
+ RelativePath="Shooting.hpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Statechart Header Files"
+ >
+ <File
+ RelativePath="..\..\..\..\boost\statechart\asynchronous_state_machine.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\custom_reaction.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\deep_history.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\deferral.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\event.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\event_base.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\event_processor.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\exception_translator.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\fifo_scheduler.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\in_state_reaction.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\null_exception_translator.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\result.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\shallow_history.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\simple_state.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\state.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\state_machine.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\termination.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\transition.hpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/example/Handcrafted/Handcrafted.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/example/Handcrafted/Handcrafted.vcproj (original)
+++ branches/proto/v4/libs/statechart/example/Handcrafted/Handcrafted.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,205 +1,205 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="Handcrafted"
- ProjectGUID="{155DB9E1-28AC-4671-8248-5FD03E8FCDAD}"
- RootNamespace="Handcrafted"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/Zm300"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\.."
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- BufferSecurityCheck="true"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/Handcrafted.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/Handcrafted.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/Zm300"
- Optimization="3"
- InlineFunctionExpansion="2"
- AdditionalIncludeDirectories="..\..\..\.."
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- StringPooling="true"
- RuntimeLibrary="2"
- BufferSecurityCheck="false"
- EnableFunctionLevelLinking="true"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="0"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/Handcrafted.exe"
- LinkIncremental="1"
- GenerateDebugInformation="false"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
- >
- <File
- RelativePath="Handcrafted.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="Handcrafted"
+ ProjectGUID="{155DB9E1-28AC-4671-8248-5FD03E8FCDAD}"
+ RootNamespace="Handcrafted"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/Zm300"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/Handcrafted.exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/Handcrafted.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/Zm300"
+ Optimization="3"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/Handcrafted.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="false"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
+ >
+ <File
+ RelativePath="Handcrafted.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/example/Keyboard/Keyboard.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/example/Keyboard/Keyboard.vcproj (original)
+++ branches/proto/v4/libs/statechart/example/Keyboard/Keyboard.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,284 +1,284 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="Keyboard"
- ProjectGUID="{4CBF564B-EEC6-49E1-B69B-CABF5DDFC684}"
- RootNamespace="Keyboard"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\.."
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- ExceptionHandling="1"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- BufferSecurityCheck="true"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/Keyboard.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/Keyboard.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- InlineFunctionExpansion="2"
- AdditionalIncludeDirectories="..\..\..\.."
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- StringPooling="true"
- ExceptionHandling="1"
- RuntimeLibrary="2"
- BufferSecurityCheck="false"
- EnableFunctionLevelLinking="true"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="0"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/Keyboard.exe"
- LinkIncremental="1"
- GenerateDebugInformation="false"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\Keyboard.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Statechart Header Files"
- >
- <File
- RelativePath="..\..\..\..\boost\statechart\asynchronous_state_machine.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\custom_reaction.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\deep_history.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\deferral.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\event.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\event_base.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\event_processor.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\exception_translator.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\fifo_scheduler.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\in_state_reaction.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\null_exception_translator.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\result.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\shallow_history.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\simple_state.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\state.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\state_machine.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\termination.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\transition.hpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="Keyboard"
+ ProjectGUID="{4CBF564B-EEC6-49E1-B69B-CABF5DDFC684}"
+ RootNamespace="Keyboard"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ ExceptionHandling="1"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/Keyboard.exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/Keyboard.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="3"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ StringPooling="true"
+ ExceptionHandling="1"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/Keyboard.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="false"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\Keyboard.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Statechart Header Files"
+ >
+ <File
+ RelativePath="..\..\..\..\boost\statechart\asynchronous_state_machine.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\custom_reaction.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\deep_history.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\deferral.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\event.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\event_base.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\event_processor.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\exception_translator.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\fifo_scheduler.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\in_state_reaction.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\null_exception_translator.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\result.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\shallow_history.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\simple_state.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\state.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\state_machine.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\termination.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\transition.hpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/example/Performance/Performance.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/example/Performance/Performance.vcproj (original)
+++ branches/proto/v4/libs/statechart/example/Performance/Performance.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,285 +1,285 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="Performance"
- ProjectGUID="{045411F0-A746-4DB3-85B9-C9AEDE6D5CBA}"
- RootNamespace="Performance"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/Zm800"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\.."
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- BufferSecurityCheck="true"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/Performance.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/Performance.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/Zm800"
- Optimization="3"
- InlineFunctionExpansion="2"
- AdditionalIncludeDirectories="..\..\..\.."
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- StringPooling="true"
- ExceptionHandling="1"
- RuntimeLibrary="2"
- BufferSecurityCheck="false"
- EnableFunctionLevelLinking="true"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="0"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/Performance.exe"
- LinkIncremental="1"
- GenerateDebugInformation="false"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
- >
- <File
- RelativePath="Performance.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Statechart Header Files"
- Filter="h;hpp;hxx;hm;inl;inc"
- >
- <File
- RelativePath="..\..\..\..\boost\statechart\asynchronous_state_machine.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\custom_reaction.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\deep_history.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\deferral.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\event.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\event_base.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\event_processor.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\exception_translator.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\fifo_scheduler.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\in_state_reaction.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\null_exception_translator.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\result.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\shallow_history.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\simple_state.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\state.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\state_machine.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\termination.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\transition.hpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="Performance"
+ ProjectGUID="{045411F0-A746-4DB3-85B9-C9AEDE6D5CBA}"
+ RootNamespace="Performance"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/Zm800"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/Performance.exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/Performance.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/Zm800"
+ Optimization="3"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ StringPooling="true"
+ ExceptionHandling="1"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/Performance.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="false"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
+ >
+ <File
+ RelativePath="Performance.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Statechart Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc"
+ >
+ <File
+ RelativePath="..\..\..\..\boost\statechart\asynchronous_state_machine.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\custom_reaction.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\deep_history.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\deferral.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\event.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\event_base.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\event_processor.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\exception_translator.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\fifo_scheduler.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\in_state_reaction.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\null_exception_translator.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\result.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\shallow_history.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\simple_state.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\state.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\state_machine.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\termination.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\transition.hpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/example/StopWatch/StopWatch.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/example/StopWatch/StopWatch.vcproj (original)
+++ branches/proto/v4/libs/statechart/example/StopWatch/StopWatch.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,282 +1,282 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="StopWatch"
- ProjectGUID="{DFA55264-E7F5-43FE-841F-D56AC48FF2A8}"
- RootNamespace="StopWatch"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\.."
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- BufferSecurityCheck="true"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/StopWatch.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/StopWatch.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- InlineFunctionExpansion="2"
- AdditionalIncludeDirectories="..\..\..\.."
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- StringPooling="true"
- RuntimeLibrary="2"
- BufferSecurityCheck="false"
- EnableFunctionLevelLinking="true"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="0"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/StopWatch.exe"
- LinkIncremental="1"
- GenerateDebugInformation="false"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
- >
- <File
- RelativePath="StopWatch.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Statechart Header Files"
- Filter="h;hpp;hxx;hm;inl;inc"
- >
- <File
- RelativePath="..\..\..\..\boost\statechart\asynchronous_state_machine.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\custom_reaction.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\deep_history.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\deferral.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\event.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\event_base.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\event_processor.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\exception_translator.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\fifo_scheduler.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\in_state_reaction.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\null_exception_translator.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\result.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\shallow_history.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\simple_state.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\state.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\state_machine.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\termination.hpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\statechart\transition.hpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="StopWatch"
+ ProjectGUID="{DFA55264-E7F5-43FE-841F-D56AC48FF2A8}"
+ RootNamespace="StopWatch"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ BufferSecurityCheck="true"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/StopWatch.exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/StopWatch.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="3"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ BufferSecurityCheck="false"
+ EnableFunctionLevelLinking="true"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/StopWatch.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="false"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
+ >
+ <File
+ RelativePath="StopWatch.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Statechart Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc"
+ >
+ <File
+ RelativePath="..\..\..\..\boost\statechart\asynchronous_state_machine.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\custom_reaction.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\deep_history.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\deferral.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\event.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\event_base.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\event_processor.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\exception_translator.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\fifo_scheduler.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\in_state_reaction.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\null_exception_translator.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\result.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\shallow_history.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\simple_state.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\state.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\state_machine.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\termination.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\statechart\transition.hpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/CustomReactionTest.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/CustomReactionTest.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/CustomReactionTest.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,204 +1,204 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="CustomReactionTest"
- ProjectGUID="{2D85E7DE-2347-43EA-843F-691101E6F98F}"
- RootNamespace="CustomReactionTest"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
- OutputFile="$(OutDir)/CustomReactionTest.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/CustomReactionTest.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
- OutputFile="$(OutDir)/CustomReactionTest.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\CustomReactionTest.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="CustomReactionTest"
+ ProjectGUID="{2D85E7DE-2347-43EA-843F-691101E6F98F}"
+ RootNamespace="CustomReactionTest"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
+ OutputFile="$(OutDir)/CustomReactionTest.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/CustomReactionTest.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
+ OutputFile="$(OutDir)/CustomReactionTest.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\CustomReactionTest.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/DeferralTest.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/DeferralTest.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/DeferralTest.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,204 +1,204 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="DeferralTest"
- ProjectGUID="{E599D469-A2BD-42FB-A217-73A420213D06}"
- RootNamespace="DeferralTest"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
- OutputFile="$(OutDir)/DeferralTest.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/DeferralTest.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
- OutputFile="$(OutDir)/DeferralTest.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\DeferralTest.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="DeferralTest"
+ ProjectGUID="{E599D469-A2BD-42FB-A217-73A420213D06}"
+ RootNamespace="DeferralTest"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
+ OutputFile="$(OutDir)/DeferralTest.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/DeferralTest.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
+ OutputFile="$(OutDir)/DeferralTest.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\DeferralTest.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/FifoSchedulerTest.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/FifoSchedulerTest.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/FifoSchedulerTest.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,204 +1,204 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="FifoSchedulerTest"
- ProjectGUID="{3A9E80AF-DD29-4CE7-AB7D-1A13C766AC96}"
- RootNamespace="FifoSchedulerTest"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
- OutputFile="$(OutDir)/FifoSchedulerTest.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/FifoSchedulerTest.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
- OutputFile="$(OutDir)/FifoSchedulerTest.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\FifoSchedulerTest.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="FifoSchedulerTest"
+ ProjectGUID="{3A9E80AF-DD29-4CE7-AB7D-1A13C766AC96}"
+ RootNamespace="FifoSchedulerTest"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
+ OutputFile="$(OutDir)/FifoSchedulerTest.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/FifoSchedulerTest.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
+ OutputFile="$(OutDir)/FifoSchedulerTest.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\FifoSchedulerTest.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/HistoryTest.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/HistoryTest.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/HistoryTest.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,204 +1,204 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="HistoryTest"
- ProjectGUID="{206654FA-7AA0-4E06-BCFA-DC94D4281755}"
- RootNamespace="HistoryTest"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
- OutputFile="$(OutDir)/HistoryTest.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/HistoryTest.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
- OutputFile="$(OutDir)/HistoryTest.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\HistoryTest.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="HistoryTest"
+ ProjectGUID="{206654FA-7AA0-4E06-BCFA-DC94D4281755}"
+ RootNamespace="HistoryTest"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
+ OutputFile="$(OutDir)/HistoryTest.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/HistoryTest.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
+ OutputFile="$(OutDir)/HistoryTest.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\HistoryTest.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/InStateReactionTest.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/InStateReactionTest.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/InStateReactionTest.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,204 +1,204 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="InStateReactionTest"
- ProjectGUID="{DAD64722-72C8-4424-9024-185A0D0D897A}"
- RootNamespace="InStateReactionTest"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
- OutputFile="$(OutDir)/InStateReactionTest.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/InStateReactionTest.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
- OutputFile="$(OutDir)/InStateReactionTest.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\InStateReactionTest.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="InStateReactionTest"
+ ProjectGUID="{DAD64722-72C8-4424-9024-185A0D0D897A}"
+ RootNamespace="InStateReactionTest"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
+ OutputFile="$(OutDir)/InStateReactionTest.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/InStateReactionTest.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
+ OutputFile="$(OutDir)/InStateReactionTest.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\InStateReactionTest.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/InconsistentHistoryTest1.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/InconsistentHistoryTest1.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/InconsistentHistoryTest1.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,202 +1,202 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="InconsistentHistoryTest1"
- ProjectGUID="{B2739180-6048-4CA7-A96B-ECE182100321}"
- RootNamespace="InconsistentHistoryTest1"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InconsistentHistoryTest1.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/InconsistentHistoryTest1.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InconsistentHistoryTest1.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\InconsistentHistoryTest1.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="InconsistentHistoryTest1"
+ ProjectGUID="{B2739180-6048-4CA7-A96B-ECE182100321}"
+ RootNamespace="InconsistentHistoryTest1"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InconsistentHistoryTest1.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/InconsistentHistoryTest1.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InconsistentHistoryTest1.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\InconsistentHistoryTest1.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/InconsistentHistoryTest2.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/InconsistentHistoryTest2.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/InconsistentHistoryTest2.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,202 +1,202 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="InconsistentHistoryTest2"
- ProjectGUID="{7C58D72A-C6EA-4E25-92E8-5ADEB5F61662}"
- RootNamespace="InconsistentHistoryTest2"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InconsistentHistoryTest2.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/InconsistentHistoryTest2.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InconsistentHistoryTest2.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\InconsistentHistoryTest2.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="InconsistentHistoryTest2"
+ ProjectGUID="{7C58D72A-C6EA-4E25-92E8-5ADEB5F61662}"
+ RootNamespace="InconsistentHistoryTest2"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InconsistentHistoryTest2.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/InconsistentHistoryTest2.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InconsistentHistoryTest2.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\InconsistentHistoryTest2.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/InconsistentHistoryTest3.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/InconsistentHistoryTest3.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/InconsistentHistoryTest3.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,202 +1,202 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="InconsistentHistoryTest3"
- ProjectGUID="{801027D8-DC4E-48DC-9F98-75BA0B7F2997}"
- RootNamespace="InconsistentHistoryTest3"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InconsistentHistoryTest3.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/InconsistentHistoryTest3.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InconsistentHistoryTest3.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\InconsistentHistoryTest3.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="InconsistentHistoryTest3"
+ ProjectGUID="{801027D8-DC4E-48DC-9F98-75BA0B7F2997}"
+ RootNamespace="InconsistentHistoryTest3"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InconsistentHistoryTest3.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/InconsistentHistoryTest3.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InconsistentHistoryTest3.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\InconsistentHistoryTest3.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/InconsistentHistoryTest4.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/InconsistentHistoryTest4.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/InconsistentHistoryTest4.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,202 +1,202 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="InconsistentHistoryTest4"
- ProjectGUID="{A211FFC9-D4B4-4C3A-900E-044A7519F8E4}"
- RootNamespace="InconsistentHistoryTest4"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InconsistentHistoryTest4.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/InconsistentHistoryTest4.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InconsistentHistoryTest4.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\InconsistentHistoryTest4.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="InconsistentHistoryTest4"
+ ProjectGUID="{A211FFC9-D4B4-4C3A-900E-044A7519F8E4}"
+ RootNamespace="InconsistentHistoryTest4"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InconsistentHistoryTest4.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/InconsistentHistoryTest4.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InconsistentHistoryTest4.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\InconsistentHistoryTest4.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/InconsistentHistoryTest5.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/InconsistentHistoryTest5.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/InconsistentHistoryTest5.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,202 +1,202 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="InconsistentHistoryTest5"
- ProjectGUID="{BE34C83E-6D4A-4E49-B9BA-EFF47ECBAA39}"
- RootNamespace="InconsistentHistoryTest5"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InconsistentHistoryTest5.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/InconsistentHistoryTest5.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InconsistentHistoryTest5.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\InconsistentHistoryTest5.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="InconsistentHistoryTest5"
+ ProjectGUID="{BE34C83E-6D4A-4E49-B9BA-EFF47ECBAA39}"
+ RootNamespace="InconsistentHistoryTest5"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InconsistentHistoryTest5.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/InconsistentHistoryTest5.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InconsistentHistoryTest5.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\InconsistentHistoryTest5.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/InconsistentHistoryTest6.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/InconsistentHistoryTest6.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/InconsistentHistoryTest6.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,202 +1,202 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="InconsistentHistoryTest6"
- ProjectGUID="{7D2AB32E-930A-4758-8FAF-F5E0A19A411C}"
- RootNamespace="InconsistentHistoryTest6"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InconsistentHistoryTest6.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/InconsistentHistoryTest6.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InconsistentHistoryTest6.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\InconsistentHistoryTest6.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="InconsistentHistoryTest6"
+ ProjectGUID="{7D2AB32E-930A-4758-8FAF-F5E0A19A411C}"
+ RootNamespace="InconsistentHistoryTest6"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InconsistentHistoryTest6.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/InconsistentHistoryTest6.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InconsistentHistoryTest6.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\InconsistentHistoryTest6.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/InconsistentHistoryTest7.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/InconsistentHistoryTest7.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/InconsistentHistoryTest7.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,202 +1,202 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="InconsistentHistoryTest7"
- ProjectGUID="{41A33CE9-785E-4EC2-9022-A3B229D4935B}"
- RootNamespace="InconsistentHistoryTest7"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InconsistentHistoryTest7.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/InconsistentHistoryTest7.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InconsistentHistoryTest7.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\InconsistentHistoryTest7.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="InconsistentHistoryTest7"
+ ProjectGUID="{41A33CE9-785E-4EC2-9022-A3B229D4935B}"
+ RootNamespace="InconsistentHistoryTest7"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InconsistentHistoryTest7.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/InconsistentHistoryTest7.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InconsistentHistoryTest7.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\InconsistentHistoryTest7.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/InconsistentHistoryTest8.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/InconsistentHistoryTest8.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/InconsistentHistoryTest8.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,202 +1,202 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="InconsistentHistoryTest8"
- ProjectGUID="{FDBCBAEF-C973-42C2-BD8B-4796C0A1E6A8}"
- RootNamespace="InconsistentHistoryTest8"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InconsistentHistoryTest8.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/InconsistentHistoryTest8.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InconsistentHistoryTest8.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\InconsistentHistoryTest8.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="InconsistentHistoryTest8"
+ ProjectGUID="{FDBCBAEF-C973-42C2-BD8B-4796C0A1E6A8}"
+ RootNamespace="InconsistentHistoryTest8"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InconsistentHistoryTest8.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/InconsistentHistoryTest8.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InconsistentHistoryTest8.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\InconsistentHistoryTest8.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/InvalidChartTest1.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/InvalidChartTest1.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/InvalidChartTest1.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,202 +1,202 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="InvalidChartTest1"
- ProjectGUID="{AA1A7669-702E-4D56-A390-849612EB9CDF}"
- RootNamespace="InvalidChartTest1"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InvalidChartTest1.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/InvalidChartTest1.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InvalidChartTest1.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\InvalidChartTest1.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="InvalidChartTest1"
+ ProjectGUID="{AA1A7669-702E-4D56-A390-849612EB9CDF}"
+ RootNamespace="InvalidChartTest1"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InvalidChartTest1.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/InvalidChartTest1.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InvalidChartTest1.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\InvalidChartTest1.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/InvalidChartTest2.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/InvalidChartTest2.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/InvalidChartTest2.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,202 +1,202 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="InvalidChartTest2"
- ProjectGUID="{CCB4DBF2-626B-4DA5-AB02-9504B0A97F9A}"
- RootNamespace="InvalidChartTest2"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InvalidChartTest2.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/InvalidChartTest2.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InvalidChartTest2.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\InvalidChartTest2.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="InvalidChartTest2"
+ ProjectGUID="{CCB4DBF2-626B-4DA5-AB02-9504B0A97F9A}"
+ RootNamespace="InvalidChartTest2"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InvalidChartTest2.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/InvalidChartTest2.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InvalidChartTest2.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\InvalidChartTest2.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/InvalidChartTest3.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/InvalidChartTest3.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/InvalidChartTest3.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,202 +1,202 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="InvalidChartTest3"
- ProjectGUID="{7083917A-4A8D-4BEF-A435-61AAF3BA554C}"
- RootNamespace="InvalidChartTest3"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InvalidChartTest3.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/InvalidChartTest3.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InvalidChartTest3.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\InvalidChartTest3.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="InvalidChartTest3"
+ ProjectGUID="{7083917A-4A8D-4BEF-A435-61AAF3BA554C}"
+ RootNamespace="InvalidChartTest3"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InvalidChartTest3.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/InvalidChartTest3.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InvalidChartTest3.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\InvalidChartTest3.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/InvalidResultAssignTest.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/InvalidResultAssignTest.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/InvalidResultAssignTest.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,202 +1,202 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="InvalidResultAssignTest"
- ProjectGUID="{962F23F9-D433-4825-9945-D5A5C5337B7F}"
- RootNamespace="InvalidResultAssignTest"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InvalidResultAssignTest.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/InvalidResultAssignTest.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InvalidResultAssignTest.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\InvalidResultAssignTest.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="InvalidResultAssignTest"
+ ProjectGUID="{962F23F9-D433-4825-9945-D5A5C5337B7F}"
+ RootNamespace="InvalidResultAssignTest"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InvalidResultAssignTest.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/InvalidResultAssignTest.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InvalidResultAssignTest.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\InvalidResultAssignTest.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/InvalidResultCopyTest.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/InvalidResultCopyTest.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/InvalidResultCopyTest.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,204 +1,204 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="InvalidResultCopyTest"
- ProjectGUID="{856A30E8-85E8-4BE4-B208-B5FC395408AF}"
- RootNamespace="InvalidResultCopyTest"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
- OutputFile="$(OutDir)/InvalidResultCopyTest.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/InvalidResultCopyTest.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
- OutputFile="$(OutDir)/InvalidResultCopyTest.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\InvalidResultCopyTest.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="InvalidResultCopyTest"
+ ProjectGUID="{856A30E8-85E8-4BE4-B208-B5FC395408AF}"
+ RootNamespace="InvalidResultCopyTest"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
+ OutputFile="$(OutDir)/InvalidResultCopyTest.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/InvalidResultCopyTest.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
+ OutputFile="$(OutDir)/InvalidResultCopyTest.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\InvalidResultCopyTest.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/InvalidResultDefCtorTest.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/InvalidResultDefCtorTest.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/InvalidResultDefCtorTest.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,202 +1,202 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="InvalidResultDefCtorTest"
- ProjectGUID="{8381EC0A-7D7B-4127-93E8-DFE12F023611}"
- RootNamespace="InvalidResultDefCtorTest"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InvalidResultDefCtorTest.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/InvalidResultDefCtorTest.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InvalidResultDefCtorTest.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\InvalidResultDefCtorTest.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="InvalidResultDefCtorTest"
+ ProjectGUID="{8381EC0A-7D7B-4127-93E8-DFE12F023611}"
+ RootNamespace="InvalidResultDefCtorTest"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InvalidResultDefCtorTest.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/InvalidResultDefCtorTest.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InvalidResultDefCtorTest.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\InvalidResultDefCtorTest.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/InvalidTransitionTest1.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/InvalidTransitionTest1.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/InvalidTransitionTest1.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,202 +1,202 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="InvalidTransitionTest1"
- ProjectGUID="{345A4DD5-8B5C-40E4-95D2-4CF5A2621040}"
- RootNamespace="InvalidTransitionTest1"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InvalidTransitionTest1.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/InvalidTransitionTest1.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InvalidTransitionTest1.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\InvalidTransitionTest1.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="InvalidTransitionTest1"
+ ProjectGUID="{345A4DD5-8B5C-40E4-95D2-4CF5A2621040}"
+ RootNamespace="InvalidTransitionTest1"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InvalidTransitionTest1.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/InvalidTransitionTest1.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InvalidTransitionTest1.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\InvalidTransitionTest1.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/InvalidTransitionTest2.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/InvalidTransitionTest2.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/InvalidTransitionTest2.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,202 +1,202 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="InvalidTransitionTest2"
- ProjectGUID="{FCB42B5B-DDE0-4E12-8474-F55DC85606FE}"
- RootNamespace="InvalidTransitionTest2"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InvalidTransitionTest2.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/InvalidTransitionTest2.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/InvalidTransitionTest2.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories=""
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\InvalidTransitionTest2.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="InvalidTransitionTest2"
+ ProjectGUID="{FCB42B5B-DDE0-4E12-8474-F55DC85606FE}"
+ RootNamespace="InvalidTransitionTest2"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InvalidTransitionTest2.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/InvalidTransitionTest2.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/InvalidTransitionTest2.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\InvalidTransitionTest2.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/StateCastTest.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/StateCastTest.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/StateCastTest.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,204 +1,204 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="StateCastTest"
- ProjectGUID="{1826122F-4DB3-4C69-8BB2-E0B18D809FA9}"
- RootNamespace="StateCastTest"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
- OutputFile="$(OutDir)/StateCastTest.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/StateCastTest.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
- OutputFile="$(OutDir)/StateCastTest.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\StateCastTest.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="StateCastTest"
+ ProjectGUID="{1826122F-4DB3-4C69-8BB2-E0B18D809FA9}"
+ RootNamespace="StateCastTest"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
+ OutputFile="$(OutDir)/StateCastTest.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/StateCastTest.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
+ OutputFile="$(OutDir)/StateCastTest.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\StateCastTest.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/StateIterationTest.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/StateIterationTest.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/StateIterationTest.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,204 +1,204 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="StateIterationTest"
- ProjectGUID="{D52BF95D-392C-4535-B332-CB3CC29C8227}"
- RootNamespace="StateIterationTest"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
- OutputFile="$(OutDir)/StateIterationTest.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/StateIterationTest.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
- OutputFile="$(OutDir)/StateIterationTest.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\StateIterationTest.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="StateIterationTest"
+ ProjectGUID="{D52BF95D-392C-4535-B332-CB3CC29C8227}"
+ RootNamespace="StateIterationTest"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
+ OutputFile="$(OutDir)/StateIterationTest.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/StateIterationTest.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
+ OutputFile="$(OutDir)/StateIterationTest.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\StateIterationTest.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/TerminationTest.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/TerminationTest.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/TerminationTest.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,204 +1,204 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="TerminationTest"
- ProjectGUID="{A9921F2C-D8D3-4A4A-87C8-9A34DDD588B2}"
- RootNamespace="TerminationTest"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
- OutputFile="$(OutDir)/TerminationTest.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/TerminationTest.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
- OutputFile="$(OutDir)/TerminationTest.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\TerminationTest.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="TerminationTest"
+ ProjectGUID="{A9921F2C-D8D3-4A4A-87C8-9A34DDD588B2}"
+ RootNamespace="TerminationTest"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
+ OutputFile="$(OutDir)/TerminationTest.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/TerminationTest.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
+ OutputFile="$(OutDir)/TerminationTest.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\TerminationTest.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/TransitionTest.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/TransitionTest.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/TransitionTest.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,218 +1,218 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="TransitionTest"
- ProjectGUID="{D9103E3E-640D-4AB7-910C-ACA96709ED0A}"
- RootNamespace="TransitionTest"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
- OutputFile="$(OutDir)/TransitionTest.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/TransitionTest.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
- OutputFile="$(OutDir)/TransitionTest.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\TransitionTest.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\InnermostDefault.hpp"
- >
- </File>
- <File
- RelativePath=".\OuterOrthogonal.hpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="TransitionTest"
+ ProjectGUID="{D9103E3E-640D-4AB7-910C-ACA96709ED0A}"
+ RootNamespace="TransitionTest"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
+ OutputFile="$(OutDir)/TransitionTest.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/TransitionTest.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
+ OutputFile="$(OutDir)/TransitionTest.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\TransitionTest.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath=".\InnermostDefault.hpp"
+ >
+ </File>
+ <File
+ RelativePath=".\OuterOrthogonal.hpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/TuTest.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/TuTest.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/TuTest.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,218 +1,218 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="TuTest"
- ProjectGUID="{892D213C-F575-4003-BB0F-5787DA2C407D}"
- RootNamespace="TuTest"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
- OutputFile="$(OutDir)/TuTest.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/TuTest.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
- OutputFile="$(OutDir)/TuTest.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\TuTest.cpp"
- >
- </File>
- <File
- RelativePath=".\TuTestMain.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\TuTest.hpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="TuTest"
+ ProjectGUID="{892D213C-F575-4003-BB0F-5787DA2C407D}"
+ RootNamespace="TuTest"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
+ OutputFile="$(OutDir)/TuTest.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/TuTest.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
+ OutputFile="$(OutDir)/TuTest.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\TuTest.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\TuTestMain.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath=".\TuTest.hpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/TypeInfoTest.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/TypeInfoTest.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/TypeInfoTest.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,204 +1,204 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="TypeInfoTest"
- ProjectGUID="{6FBB8140-6B00-4BF1-AD6D-9D394DE3610F}"
- RootNamespace="TypeInfoTest"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
- OutputFile="$(OutDir)/TypeInfoTest.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/TypeInfoTest.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
- OutputFile="$(OutDir)/TypeInfoTest.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\TypeInfoTest.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="TypeInfoTest"
+ ProjectGUID="{6FBB8140-6B00-4BF1-AD6D-9D394DE3610F}"
+ RootNamespace="TypeInfoTest"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
+ OutputFile="$(OutDir)/TypeInfoTest.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/TypeInfoTest.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
+ OutputFile="$(OutDir)/TypeInfoTest.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\TypeInfoTest.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/UnconsumedResultTest.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/UnconsumedResultTest.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/UnconsumedResultTest.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,204 +1,204 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="UnconsumedResultTest"
- ProjectGUID="{93FEA76A-3C04-4A70-B53B-485490CF38A1}"
- RootNamespace="UnconsumedResultTest"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
- OutputFile="$(OutDir)/UnconsumedResultTest.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/UnconsumedResultTest.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
- OutputFile="$(OutDir)/UnconsumedResultTest.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\UnconsumedResultTest.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="UnconsumedResultTest"
+ ProjectGUID="{93FEA76A-3C04-4A70-B53B-485490CF38A1}"
+ RootNamespace="UnconsumedResultTest"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-gd-1_35.lib"
+ OutputFile="$(OutDir)/UnconsumedResultTest.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/UnconsumedResultTest.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libboost_test_exec_monitor-vc90-mt-1_35.lib"
+ OutputFile="$(OutDir)/UnconsumedResultTest.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\..\bin.v2\libs\test\build\msvc-9.0\$(ConfigurationName)\asynch-exceptions-on\link-static\threading-multi&quot;"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\UnconsumedResultTest.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/libs/statechart/test/UnsuppDeepHistoryTest.vcproj
==============================================================================
--- branches/proto/v4/libs/statechart/test/UnsuppDeepHistoryTest.vcproj (original)
+++ branches/proto/v4/libs/statechart/test/UnsuppDeepHistoryTest.vcproj 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1,202 +1,202 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="UnsuppDeepHistoryTest"
- ProjectGUID="{7B6A4F61-6210-4FDC-BC23-660DA10EE7DD}"
- RootNamespace="UnsuppDeepHistoryTest"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectName)Debug"
- IntermediateDirectory="$(ProjectName)Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/UnsuppDeepHistoryTest.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories="..\..\..\bin\boost\libs\test\build\libboost_test_exec_monitor.lib\vc-7_1\debug\threading-multi"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/UnsuppDeepHistoryTest.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ProjectName)Release"
- IntermediateDirectory="$(ProjectName)Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- DisableLanguageExtensions="true"
- TreatWChar_tAsBuiltInType="true"
- ForceConformanceInForLoopScope="true"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/UnsuppDeepHistoryTest.exe"
- LinkIncremental="1"
- AdditionalLibraryDirectories="..\..\..\bin\boost\libs\test\build\libboost_test_exec_monitor.lib\vc-7_1\release\threading-multi"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\UnsuppDeepHistoryTest.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="UnsuppDeepHistoryTest"
+ ProjectGUID="{7B6A4F61-6210-4FDC-BC23-660DA10EE7DD}"
+ RootNamespace="UnsuppDeepHistoryTest"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectName)Debug"
+ IntermediateDirectory="$(ProjectName)Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/UnsuppDeepHistoryTest.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\..\bin\boost\libs\test\build\libboost_test_exec_monitor.lib\vc-7_1\debug\threading-multi"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/UnsuppDeepHistoryTest.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectName)Release"
+ IntermediateDirectory="$(ProjectName)Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ DisableLanguageExtensions="true"
+ TreatWChar_tAsBuiltInType="true"
+ ForceConformanceInForLoopScope="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/UnsuppDeepHistoryTest.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\..\bin\boost\libs\test\build\libboost_test_exec_monitor.lib\vc-7_1\release\threading-multi"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\UnsuppDeepHistoryTest.cpp"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: branches/proto/v4/more/getting_started/detail/build-from-source-head.rst
==============================================================================
--- branches/proto/v4/more/getting_started/detail/build-from-source-head.rst (original)
+++ branches/proto/v4/more/getting_started/detail/build-from-source-head.rst 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -6,7 +6,7 @@
 installing software. To use it, you'll need an executable called
 ``bjam``.
 
-.. |precompiled-bjam| replace:: pre-compiled ``bjam`` executables
+.. |precompiled-bjam| replace:: download a pre-built ``bjam`` executable
 
 
 .. _precompiled-bjam: http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=72941
@@ -22,12 +22,15 @@
 system. To build Boost binaries, you'll invoke ``bjam`` from the
 Boost root.
 
-Boost provides |precompiled-bjam|_ for a variety of platforms.
+We suggest you |precompiled-bjam|_ for your platform.
 Alternatively, you can build ``bjam`` yourself using `these
 instructions`__.
 
 __ `building bjam`_
 
+Move the ``bjam`` executable into a directory in your PATH. You can
+see the list of directories in your PATH, separated by |pathsep|\ s,
+by typing “\ |path|\ ” at the command prompt.
 
 .. _toolset:
 .. _toolset-name:
@@ -123,4 +126,4 @@
 
 .. parsed-literal::
 
- bjam **--build-dir=**\ |build-directory|_ **--toolset=**\ |toolset-name|_ *[*\ **--build-type=complete**\ *]* stage
+ bjam **--build-dir=**\ |build-directory|_ **--toolset=**\ |toolset-name|_ |build-type-complete| stage

Modified: branches/proto/v4/more/getting_started/detail/build-from-source-tail.rst
==============================================================================
--- branches/proto/v4/more/getting_started/detail/build-from-source-tail.rst (original)
+++ branches/proto/v4/more/getting_started/detail/build-from-source-tail.rst 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -23,6 +23,11 @@
 * choosing a specific build variant by adding ``release`` or
   ``debug`` to the command line.
 
+.. Note:: Boost.Build can produce a great deal of output, which can
+ make it easy to miss problems. If you want to make sure
+ everything is went well, you might redirect the output into a
+ file by appending “``>build.log 2>&1``” to your command line.
+
 Expected Build Output
 ---------------------
 

Modified: branches/proto/v4/more/getting_started/detail/common-unix.rst
==============================================================================
--- branches/proto/v4/more/getting_started/detail/common-unix.rst (original)
+++ branches/proto/v4/more/getting_started/detail/common-unix.rst 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -20,5 +20,8 @@
 
 .. |command-line tool| replace:: command-line tool
 
+.. |pathsep| replace:: colon
+
+.. |path| replace:: ``echo $PATH``
 
 .. include:: common.rst

Modified: branches/proto/v4/more/getting_started/detail/common-windows.rst
==============================================================================
--- branches/proto/v4/more/getting_started/detail/common-windows.rst (original)
+++ branches/proto/v4/more/getting_started/detail/common-windows.rst 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -31,4 +31,8 @@
 
 .. |command-line tool| replace:: `command-line tool`_
 
+.. |pathsep| replace:: semicolon
+
+.. |path| replace:: ``PATH``
+
 .. include:: common.rst

Modified: branches/proto/v4/more/getting_started/detail/release-variables.rst
==============================================================================
--- branches/proto/v4/more/getting_started/detail/release-variables.rst (original)
+++ branches/proto/v4/more/getting_started/detail/release-variables.rst 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -5,8 +5,8 @@
 .. This file contains all the definitions that need to be updated
 .. for each new release of Boost.
 
-.. |boost-version-number| replace:: 1.37.0
-.. |boost_ver| replace:: ``boost_1_37_0``
-.. |boost_ver-bold| replace:: **boost_1_37_0**
+.. |boost-version-number| replace:: 1.38.0
+.. |boost_ver| replace:: ``boost_1_38_0``
+.. |boost_ver-bold| replace:: **boost_1_38_0**
 
 .. _sf-download: http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041

Modified: branches/proto/v4/more/getting_started/index.html
==============================================================================
--- branches/proto/v4/more/getting_started/index.html (original)
+++ branches/proto/v4/more/getting_started/index.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -3,31 +3,32 @@
 <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" />
-<meta name="generator" content="Docutils 0.4.1: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils 0.6: http://docutils.sourceforge.net/" />
 <title>Boost Getting Started</title>
 <link rel="stylesheet" href="../../rst.css" type="text/css" />
 </head>
 <body>
 <div class="document" id="logo-getting-started">
-<h1 class="title"><a class="reference" href="../../index.htm"><img alt="Boost" class="boost-logo" src="../../boost.png" /></a> Getting Started</h1>
+<h1 class="title"><a class="reference external" href="../../index.htm"><img alt="Boost" class="boost-logo" src="../../boost.png" /></a> Getting Started</h1>
+
 <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 <div class="admonition-use-the-latest-version-of-this-getting-started-guide admonition">
 <p class="first admonition-title">Use the latest version of this Getting Started guide</p>
-<p class="last">The <a class="reference" href="http://www.boost.org/doc/libs/1_36_0/more/getting_started/index.html">Boost website version of this Getting Started guide</a> may
+<p class="last">The <a class="reference external" href="http://www.boost.org/doc/libs/release/more/getting_started/index.html">Boost website version of this Getting Started guide</a> may
 have undated information, such as the location of additional installers
 or improved installation procedures, so you might want use that version
 if you've got an Internet connection available.</p>
 </div>
-<div class="section">
-<h1><a id="welcome" name="welcome">Welcome</a></h1>
+<div class="section" id="welcome">
+<h1>Welcome</h1>
 <p>Welcome to the Boost libraries! By the time you've completed this
 tutorial, you'll be at least somewhat comfortable with the contents
 of a Boost distribution and how to go about using it.</p>
 </div>
-<div class="section">
-<h1><a id="what-s-here" name="what-s-here">What's Here</a></h1>
+<div class="section" id="what-s-here">
+<h1>What's Here</h1>
 <p>This document is designed to be an <em>extremely</em> gentle introduction,
 so we included a fair amount of material that may already be very
 familiar to you. To keep things simple, we also left out some
@@ -35,8 +36,8 @@
 the end of this document, we'll refer you on to resources that can
 help you pursue these topics further.</p>
 </div>
-<div class="section">
-<h1><a id="preliminaries" name="preliminaries">Preliminaries</a></h1>
+<div class="section" id="preliminaries">
+<h1>Preliminaries</h1>
 <p>We use one typographic convention that might not be immediately
 obvious: <em>italic</em> text in examples is meant as a descriptive
 placeholder for something else, usually information that you'll
@@ -47,16 +48,16 @@
 <p>Here you're expected to imagine replacing the text “your name” with
 your actual name.</p>
 </div>
-<div class="section">
-<h1><a id="ready" name="ready">Ready?</a></h1>
+<div class="section" id="ready">
+<h1>Ready?</h1>
 <p>Let's go!</p>
 </div>
 </div>
 <div class="footer">
 <hr class="footer" />
 <div class="nextpage line-block">
-<div class="line"><strong>Next:</strong> <a class="reference" href="windows.html">Getting Started on Microsoft Windows</a></div>
-<div class="line"><strong>or:</strong> <a class="reference" href="unix-variants.html">Getting Started on Unix variants (e.g. Linux, MacOS)</a></div>
+<div class="line"><strong>Next:</strong> <a class="reference external" href="windows.html">Getting Started on Microsoft Windows</a></div>
+<div class="line"><strong>or:</strong> <a class="reference external" href="unix-variants.html">Getting Started on Unix variants (e.g. Linux, MacOS)</a></div>
 </div>
 
 </div>

Modified: branches/proto/v4/more/getting_started/index.rst
==============================================================================
--- branches/proto/v4/more/getting_started/index.rst (original)
+++ branches/proto/v4/more/getting_started/index.rst 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -20,7 +20,7 @@
   if you've got an Internet connection available.
 
   .. _`Boost website version of this Getting Started guide`:
- http://www.boost.org/doc/libs/1_36_0/more/getting_started/index.html
+ http://www.boost.org/doc/libs/release/more/getting_started/index.html
 
 Welcome
 -------

Modified: branches/proto/v4/more/getting_started/unix-variants.html
==============================================================================
--- branches/proto/v4/more/getting_started/unix-variants.html (original)
+++ branches/proto/v4/more/getting_started/unix-variants.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -3,14 +3,15 @@
 <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" />
-<meta name="generator" content="Docutils 0.4.1: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils 0.6: http://docutils.sourceforge.net/" />
 <title>Boost Getting Started on Unix Variants</title>
 <meta content="Getting Started with Boost on Unix Variants (including Linux and MacOS)" name="description" />
 <link rel="stylesheet" href="../../rst.css" type="text/css" />
 </head>
 <body>
 <div class="document" id="logo-getting-started-on-unix-variants">
-<h1 class="title"><a class="reference" href="../../index.htm"><img alt="Boost" class="boost-logo" src="../../boost.png" /></a> Getting Started on Unix Variants</h1>
+<h1 class="title"><a class="reference external" href="../../index.htm"><img alt="Boost" class="boost-logo" src="../../boost.png" /></a> Getting Started on Unix Variants</h1>
+
 <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
@@ -26,48 +27,48 @@
   .. _`Getting Started on Windows`: windows.html
   .. _Cygwin: http://www.cygwin.com
   .. _MinGW: http://mingw.org -->
-<div class="contents topic">
-<p class="topic-title first"><a id="index" name="index">Index</a></p>
+<div class="contents topic" id="index">
+<p class="topic-title first">Index</p>
 <ul class="auto-toc simple">
-<li><a class="reference" href="#get-boost" id="id18" name="id18">1&nbsp;&nbsp;&nbsp;Get Boost</a></li>
-<li><a class="reference" href="#the-boost-distribution" id="id19" name="id19">2&nbsp;&nbsp;&nbsp;The Boost Distribution</a></li>
-<li><a class="reference" href="#header-only-libraries" id="id20" name="id20">3&nbsp;&nbsp;&nbsp;Header-Only Libraries</a></li>
-<li><a class="reference" href="#build-a-simple-program-using-boost" id="id21" name="id21">4&nbsp;&nbsp;&nbsp;Build a Simple Program Using Boost</a><ul class="auto-toc">
-<li><a class="reference" href="#errors-and-warnings" id="id22" name="id22">4.1&nbsp;&nbsp;&nbsp;Errors and Warnings</a></li>
+<li><a class="reference internal" href="#get-boost" id="id18">1&nbsp;&nbsp;&nbsp;Get Boost</a></li>
+<li><a class="reference internal" href="#the-boost-distribution" id="id19">2&nbsp;&nbsp;&nbsp;The Boost Distribution</a></li>
+<li><a class="reference internal" href="#header-only-libraries" id="id20">3&nbsp;&nbsp;&nbsp;Header-Only Libraries</a></li>
+<li><a class="reference internal" href="#build-a-simple-program-using-boost" id="id21">4&nbsp;&nbsp;&nbsp;Build a Simple Program Using Boost</a><ul class="auto-toc">
+<li><a class="reference internal" href="#errors-and-warnings" id="id22">4.1&nbsp;&nbsp;&nbsp;Errors and Warnings</a></li>
 </ul>
 </li>
-<li><a class="reference" href="#prepare-to-use-a-boost-library-binary" id="id23" name="id23">5&nbsp;&nbsp;&nbsp;Prepare to Use a Boost Library Binary</a><ul class="auto-toc">
-<li><a class="reference" href="#easy-build-and-install" id="id24" name="id24">5.1&nbsp;&nbsp;&nbsp;Easy Build and Install</a></li>
-<li><a class="reference" href="#or-build-custom-binaries" id="id25" name="id25">5.2&nbsp;&nbsp;&nbsp;Or, Build Custom Binaries</a><ul class="auto-toc">
-<li><a class="reference" href="#get-bjam" id="id26" name="id26">5.2.1&nbsp;&nbsp;&nbsp;Get <tt class="docutils literal"><span class="pre">bjam</span></tt></a></li>
-<li><a class="reference" href="#identify-your-toolset" id="id27" name="id27">5.2.2&nbsp;&nbsp;&nbsp;Identify Your Toolset</a></li>
-<li><a class="reference" href="#select-a-build-directory" id="id28" name="id28">5.2.3&nbsp;&nbsp;&nbsp;Select a Build Directory</a></li>
-<li><a class="reference" href="#invoke-bjam" id="id29" name="id29">5.2.4&nbsp;&nbsp;&nbsp;Invoke <tt class="docutils literal"><span class="pre">bjam</span></tt></a></li>
+<li><a class="reference internal" href="#prepare-to-use-a-boost-library-binary" id="id23">5&nbsp;&nbsp;&nbsp;Prepare to Use a Boost Library Binary</a><ul class="auto-toc">
+<li><a class="reference internal" href="#easy-build-and-install" id="id24">5.1&nbsp;&nbsp;&nbsp;Easy Build and Install</a></li>
+<li><a class="reference internal" href="#or-build-custom-binaries" id="id25">5.2&nbsp;&nbsp;&nbsp;Or, Build Custom Binaries</a><ul class="auto-toc">
+<li><a class="reference internal" href="#get-bjam" id="id26">5.2.1&nbsp;&nbsp;&nbsp;Get <tt class="docutils literal"><span class="pre">bjam</span></tt></a></li>
+<li><a class="reference internal" href="#identify-your-toolset" id="id27">5.2.2&nbsp;&nbsp;&nbsp;Identify Your Toolset</a></li>
+<li><a class="reference internal" href="#select-a-build-directory" id="id28">5.2.3&nbsp;&nbsp;&nbsp;Select a Build Directory</a></li>
+<li><a class="reference internal" href="#invoke-bjam" id="id29">5.2.4&nbsp;&nbsp;&nbsp;Invoke <tt class="docutils literal"><span class="pre">bjam</span></tt></a></li>
 </ul>
 </li>
-<li><a class="reference" href="#expected-build-output" id="id30" name="id30">5.3&nbsp;&nbsp;&nbsp;Expected Build Output</a></li>
-<li><a class="reference" href="#in-case-of-build-errors" id="id31" name="id31">5.4&nbsp;&nbsp;&nbsp;In Case of Build Errors</a></li>
+<li><a class="reference internal" href="#expected-build-output" id="id30">5.3&nbsp;&nbsp;&nbsp;Expected Build Output</a></li>
+<li><a class="reference internal" href="#in-case-of-build-errors" id="id31">5.4&nbsp;&nbsp;&nbsp;In Case of Build Errors</a></li>
 </ul>
 </li>
-<li><a class="reference" href="#link-your-program-to-a-boost-library" id="id32" name="id32">6&nbsp;&nbsp;&nbsp;Link Your Program to a Boost Library</a><ul class="auto-toc">
-<li><a class="reference" href="#library-naming" id="id33" name="id33">6.1&nbsp;&nbsp;&nbsp;Library Naming</a></li>
-<li><a class="reference" href="#test-your-program" id="id34" name="id34">6.2&nbsp;&nbsp;&nbsp;Test Your Program</a></li>
+<li><a class="reference internal" href="#link-your-program-to-a-boost-library" id="id32">6&nbsp;&nbsp;&nbsp;Link Your Program to a Boost Library</a><ul class="auto-toc">
+<li><a class="reference internal" href="#library-naming" id="id33">6.1&nbsp;&nbsp;&nbsp;Library Naming</a></li>
+<li><a class="reference internal" href="#test-your-program" id="id34">6.2&nbsp;&nbsp;&nbsp;Test Your Program</a></li>
 </ul>
 </li>
-<li><a class="reference" href="#conclusion-and-further-resources" id="id35" name="id35">7&nbsp;&nbsp;&nbsp;Conclusion and Further Resources</a></li>
+<li><a class="reference internal" href="#conclusion-and-further-resources" id="id35">7&nbsp;&nbsp;&nbsp;Conclusion and Further Resources</a></li>
 </ul>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id18" id="get-boost" name="get-boost">1&nbsp;&nbsp;&nbsp;Get Boost</a></h1>
+<div class="section" id="get-boost">
+<h1><a class="toc-backref" href="#id18">1&nbsp;&nbsp;&nbsp;Get Boost</a></h1>
 <p>The most reliable way to get a copy of Boost is to download a
-distribution from <a class="reference" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041">SourceForge</a>:</p>
+distribution from <a class="reference external" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041">SourceForge</a>:</p>
 <ol class="arabic">
-<li><p class="first">Download <a class="reference" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041"><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt><tt class="docutils literal"><span class="pre">.tar.bz2</span></tt></a>.</p>
+<li><p class="first">Download <a class="reference external" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041"><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt><tt class="docutils literal"><span class="pre">.tar.bz2</span></tt></a>.</p>
 </li>
 <li><p class="first">In the directory where you want to put the Boost installation,
 execute</p>
 <pre class="literal-block">
-tar --bzip2 -xf <em>/path/to/</em><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt>.tar.bz2
+tar --bzip2 -xf <em>/path/to/</em><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt>.tar.bz2
 </pre>
 </li>
 </ol>
@@ -78,19 +79,19 @@
 instructions if you use third-party packages, because their
 creators usually choose to break Boost up into several packages,
 reorganize the directory structure of the Boost distribution,
-and/or rename the library binaries.<a class="footnote-reference" href="#packagers" id="id2" name="id2"><sup>1</sup></a> If you have
+and/or rename the library binaries.<a class="footnote-reference" href="#packagers" id="id2"><sup>1</sup></a> If you have
 any trouble, we suggest using an official Boost distribution
-from <a class="reference" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041">SourceForge</a>.</p>
+from <a class="reference external" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041">SourceForge</a>.</p>
 </div>
 <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id19" id="the-boost-distribution" name="the-boost-distribution">2&nbsp;&nbsp;&nbsp;The Boost Distribution</a></h1>
+<div class="section" id="the-boost-distribution">
+<h1><a class="toc-backref" href="#id19">2&nbsp;&nbsp;&nbsp;The Boost Distribution</a></h1>
 <p>This is a sketch of the resulting directory structure:</p>
 <pre class="literal-block">
-<strong>boost_1_37_0</strong><strong>/</strong> .................<em>The “boost root directory”</em>
+<strong>boost_1_38_0</strong><strong>/</strong> .................<em>The “boost root directory”</em>
    <strong>index.htm</strong> .........<em>A copy of www.boost.org starts here</em>
    <strong>boost</strong><strong>/</strong> .........................<em>All Boost Header files</em>
    <tt class="docutils literal"> </tt>
@@ -122,7 +123,7 @@
 </li>
 <li><p class="first">Some libraries have an “aggregate header” in <tt class="docutils literal"><span class="pre">boost</span></tt><tt class="docutils literal"><span class="pre">/</span></tt> that
 <tt class="docutils literal"><span class="pre">#include</span></tt>s all of the library's other headers. For
-example, <a class="reference" href="../../libs/python/doc/building.html">Boost.Python</a>'s aggregate header is</p>
+example, <a class="reference external" href="../../libs/python/doc/building.html">Boost.Python</a>'s aggregate header is</p>
 <pre class="literal-block">
 <tt class="docutils literal"><span class="pre">boost</span></tt><tt class="docutils literal"><span class="pre">/</span></tt><tt class="docutils literal"><span class="pre">python.hpp</span></tt>.
 </pre>
@@ -135,7 +136,7 @@
 </div>
 <p>It's important to note the following:</p>
 <ol class="arabic" id="boost-root-directory">
-<li><p class="first">The path to the <strong>boost root directory</strong> (often <tt class="docutils literal"><span class="pre">/usr/local/</span></tt><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt>) is
+<li><p class="first">The path to the <strong>boost root directory</strong> (often <tt class="docutils literal"><span class="pre">/usr/local/</span></tt><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt>) is
 sometimes referred to as <tt class="docutils literal"><span class="pre">$BOOST_ROOT</span></tt> in documentation and
 mailing lists .</p>
 </li>
@@ -164,8 +165,8 @@
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id20" id="header-only-libraries" name="header-only-libraries">3&nbsp;&nbsp;&nbsp;Header-Only Libraries</a></h1>
+<div class="section" id="header-only-libraries">
+<h1><a class="toc-backref" href="#id20">3&nbsp;&nbsp;&nbsp;Header-Only Libraries</a></h1>
 <p>The first thing many people want to know is, “how do I build
 Boost?” The good news is that often, there's nothing to build.</p>
 <div class="admonition-nothing-to-build admonition">
@@ -178,25 +179,25 @@
 <!-- .. _separate: -->
 <p>The only Boost libraries that <em>must</em> be built separately are:</p>
 <ul class="simple">
-<li><a class="reference" href="../../libs/filesystem/index.html">Boost.Filesystem</a></li>
-<li><a class="reference" href="../../libs/iostreams/index.html">Boost.IOStreams</a></li>
-<li><a class="reference" href="../../libs/program_options/index.html">Boost.ProgramOptions</a></li>
-<li><a class="reference" href="../../libs/python/doc/building.html">Boost.Python</a> (see the <a class="reference" href="../../libs/python/doc/building.html">Boost.Python build documentation</a>
+<li><a class="reference external" href="../../libs/filesystem/index.html">Boost.Filesystem</a></li>
+<li><a class="reference external" href="../../libs/iostreams/index.html">Boost.IOStreams</a></li>
+<li><a class="reference external" href="../../libs/program_options/index.html">Boost.ProgramOptions</a></li>
+<li><a class="reference external" href="../../libs/python/doc/building.html">Boost.Python</a> (see the <a class="reference external" href="../../libs/python/doc/building.html">Boost.Python build documentation</a>
 before building and installing it)</li>
-<li><a class="reference" href="../../libs/regex/index.html">Boost.Regex</a></li>
-<li><a class="reference" href="../../libs/serialization/index.html">Boost.Serialization</a></li>
-<li><a class="reference" href="../../libs/signals/index.html">Boost.Signals</a></li>
-<li><a class="reference" href="../../doc/html/thread.html">Boost.Thread</a></li>
-<li><a class="reference" href="../../libs/wave/index.html">Boost.Wave</a></li>
+<li><a class="reference external" href="../../libs/regex/index.html">Boost.Regex</a></li>
+<li><a class="reference external" href="../../libs/serialization/index.html">Boost.Serialization</a></li>
+<li><a class="reference external" href="../../libs/signals/index.html">Boost.Signals</a></li>
+<li><a class="reference external" href="../../doc/html/thread.html">Boost.Thread</a></li>
+<li><a class="reference external" href="../../libs/wave/index.html">Boost.Wave</a></li>
 </ul>
 <p>A few libraries have optional separately-compiled binaries:</p>
 <ul class="simple">
-<li><a class="reference" href="../../libs/date_time/index.html">Boost.DateTime</a> has a binary component that is only needed if
+<li><a class="reference external" href="../../libs/date_time/index.html">Boost.DateTime</a> has a binary component that is only needed if
 you're using its <tt class="docutils literal"><span class="pre">to_string</span></tt>/<tt class="docutils literal"><span class="pre">from_string</span></tt> or serialization
 features, or if you're targeting Visual C++ 6.x or Borland.</li>
-<li><a class="reference" href="../../libs/graph/index.html">Boost.Graph</a> also has a binary component that is only needed if
-you intend to <a class="reference" href="../../libs/graph/doc/read_graphviz.html">parse GraphViz files</a>.</li>
-<li><a class="reference" href="../../libs/test/index.html">Boost.Test</a> can be used in “header-only” or “separately compiled”
+<li><a class="reference external" href="../../libs/graph/index.html">Boost.Graph</a> also has a binary component that is only needed if
+you intend to <a class="reference external" href="../../libs/graph/doc/read_graphviz.html">parse GraphViz files</a>.</li>
+<li><a class="reference external" href="../../libs/test/index.html">Boost.Test</a> can be used in “header-only” or “separately compiled”
 mode, although <strong>separate compilation is recommended for serious
 use</strong>.</li>
 </ul>
@@ -204,8 +205,8 @@
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id21" id="build-a-simple-program-using-boost" name="build-a-simple-program-using-boost">4&nbsp;&nbsp;&nbsp;Build a Simple Program Using Boost</a></h1>
+<div class="section" id="build-a-simple-program-using-boost">
+<h1><a class="toc-backref" href="#id21">4&nbsp;&nbsp;&nbsp;Build a Simple Program Using Boost</a></h1>
 <p>To keep things simple, let's start by using a header-only library.
 The following program reads a sequence of integers from standard
 input, uses Boost.Lambda to multiply each number by three, and
@@ -229,7 +230,7 @@
 <p>Now, in the directory where you saved <tt class="docutils literal"><span class="pre">example.cpp</span></tt>, issue the
 following command:</p>
 <pre class="literal-block">
-c++ -I <em>path/to/</em><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt> example.cpp -o example
+c++ -I <em>path/to/</em><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt> example.cpp -o example
 </pre>
 <p>To test the result, type:</p>
 <pre class="literal-block">
@@ -238,29 +239,29 @@
 <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<div class="section">
-<h2><a class="toc-backref" href="#id22" id="errors-and-warnings" name="errors-and-warnings">4.1&nbsp;&nbsp;&nbsp;Errors and Warnings</a></h2>
+<div class="section" id="errors-and-warnings">
+<h2><a class="toc-backref" href="#id22">4.1&nbsp;&nbsp;&nbsp;Errors and Warnings</a></h2>
 <p>Don't be alarmed if you see compiler warnings originating in Boost
 headers. We try to eliminate them, but doing so isn't always
-practical.<a class="footnote-reference" href="#warnings" id="id5" name="id5"><sup>3</sup></a> <strong>Errors are another matter</strong>. If you're
+practical.<a class="footnote-reference" href="#warnings" id="id5"><sup>3</sup></a> <strong>Errors are another matter</strong>. If you're
 seeing compilation errors at this point in the tutorial, check to
-be sure you've copied the <a class="reference" href="#build-a-simple-program-using-boost">example program</a> correctly and that you've
-correctly identified the <a class="reference" href="#boost-root-directory">Boost root directory</a>.</p>
+be sure you've copied the <a class="reference internal" href="#build-a-simple-program-using-boost">example program</a> correctly and that you've
+correctly identified the <a class="reference internal" href="#boost-root-directory">Boost root directory</a>.</p>
 <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 </div>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id23" id="prepare-to-use-a-boost-library-binary" name="prepare-to-use-a-boost-library-binary">5&nbsp;&nbsp;&nbsp;Prepare to Use a Boost Library Binary</a></h1>
+<div class="section" id="prepare-to-use-a-boost-library-binary">
+<h1><a class="toc-backref" href="#id23">5&nbsp;&nbsp;&nbsp;Prepare to Use a Boost Library Binary</a></h1>
 <p>If you want to use any of the separately-compiled Boost libraries,
 you'll need to acquire library binaries.</p>
-<div class="section">
-<h2><a class="toc-backref" href="#id24" id="easy-build-and-install" name="easy-build-and-install">5.1&nbsp;&nbsp;&nbsp;Easy Build and Install</a></h2>
+<div class="section" id="easy-build-and-install">
+<h2><a class="toc-backref" href="#id24">5.1&nbsp;&nbsp;&nbsp;Easy Build and Install</a></h2>
 <p>Issue the following commands in the shell (don't type <tt class="docutils literal"><span class="pre">$</span></tt>; that
 represents the shell's prompt):</p>
 <pre class="literal-block">
-<strong>$</strong> cd <em>path/to/</em><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt>
+<strong>$</strong> cd <em>path/to/</em><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt>
 <strong>$</strong> ./configure --help
 </pre>
 <p>Select your configuration options and invoke <tt class="docutils literal"><span class="pre">./configure</span></tt> again
@@ -281,38 +282,41 @@
 headers in the <tt class="docutils literal"><span class="pre">include/</span></tt> subdirectory of the installation
 prefix, so you can henceforth use that directory as an <tt class="docutils literal"><span class="pre">#include</span></tt>
 path in place of the Boost root directory.</p>
-<p><a class="reference" href="#link-your-program-to-a-boost-library"><em>skip to the next step</em></a></p>
+<p><a class="reference internal" href="#link-your-program-to-a-boost-library"><em>skip to the next step</em></a></p>
 </div>
-<div class="section">
-<h2><a class="toc-backref" href="#id25" id="or-build-custom-binaries" name="or-build-custom-binaries">5.2&nbsp;&nbsp;&nbsp;Or, Build Custom Binaries</a></h2>
+<div class="section" id="or-build-custom-binaries">
+<h2><a class="toc-backref" href="#id25">5.2&nbsp;&nbsp;&nbsp;Or, Build Custom Binaries</a></h2>
 <p>If you're using a compiler other than your system's default, you'll
-need to use <a class="reference" href="../../tools/build/index.html">Boost.Build</a> to create binaries. You'll also
+need to use <a class="reference external" href="../../tools/build/index.html">Boost.Build</a> to create binaries. You'll also
 use this method if you need a nonstandard build variant (see the
-<a class="reference" href="../../tools/build/index.html">Boost.Build documentation</a> for more details).</p>
+<a class="reference external" href="../../tools/build/index.html">Boost.Build documentation</a> for more details).</p>
 <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<p><a class="reference" href="../../tools/build/index.html">Boost.Build</a> is a text-based system for developing, testing, and
+<p><a class="reference external" href="../../tools/build/index.html">Boost.Build</a> is a text-based system for developing, testing, and
 installing software. To use it, you'll need an executable called
 <tt class="docutils literal"><span class="pre">bjam</span></tt>.</p>
 <!-- .. _Boost.Jam documentation: Boost.Jam_ -->
-<div class="section">
-<h3><a class="toc-backref" href="#id26" id="get-bjam" name="get-bjam">5.2.1&nbsp;&nbsp;&nbsp;Get <tt class="docutils literal"><span class="pre">bjam</span></tt></a></h3>
+<div class="section" id="get-bjam">
+<h3><a class="toc-backref" href="#id26">5.2.1&nbsp;&nbsp;&nbsp;Get <tt class="docutils literal"><span class="pre">bjam</span></tt></a></h3>
 <p><tt class="docutils literal"><span class="pre">bjam</span></tt> is the command-line tool that drives the Boost Build
 system. To build Boost binaries, you'll invoke <tt class="docutils literal"><span class="pre">bjam</span></tt> from the
 Boost root.</p>
-<p>Boost provides <a class="reference" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=72941">pre-compiled <tt class="docutils literal"><span class="pre">bjam</span></tt> executables</a> for a variety of platforms.
-Alternatively, you can build <tt class="docutils literal"><span class="pre">bjam</span></tt> yourself using <a class="reference" href="../../doc/html/jam/building.html">these
+<p>We suggest you <a class="reference external" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=72941">download a pre-built <tt class="docutils literal"><span class="pre">bjam</span></tt> executable</a> for your platform.
+Alternatively, you can build <tt class="docutils literal"><span class="pre">bjam</span></tt> yourself using <a class="reference external" href="../../doc/html/jam/building.html">these
 instructions</a>.</p>
+<p>Move the <tt class="docutils literal"><span class="pre">bjam</span></tt> executable into a directory in your PATH. You can
+see the list of directories in your PATH, separated by colons,
+by typing “<tt class="docutils literal"><span class="pre">echo</span> <span class="pre">$PATH</span></tt>” at the command prompt.</p>
 </div>
-<div class="section">
-<h3><a class="toc-backref" href="#id27" id="identify-your-toolset" name="identify-your-toolset"><span id="toolset-name"></span><span id="toolset"></span>5.2.2&nbsp;&nbsp;&nbsp;Identify Your Toolset</a></h3>
+<div class="section" id="identify-your-toolset">
+<span id="toolset-name"></span><span id="toolset"></span><h3><a class="toc-backref" href="#id27">5.2.2&nbsp;&nbsp;&nbsp;Identify Your Toolset</a></h3>
 <p>First, find the toolset corresponding to your compiler in the
 following table.</p>
 <div class="note">
 <p class="first admonition-title">Note</p>
 <p class="last">If you previously chose a toolset for the purposes of
-<a class="reference" href="../../doc/html/jam/building.html">building bjam</a>, you should assume it won't work and instead
+<a class="reference external" href="../../doc/html/jam/building.html">building bjam</a>, you should assume it won't work and instead
 choose newly from the table below.</p>
 </div>
 <table border="1" class="docutils">
@@ -341,7 +345,7 @@
 <tr><td><tt class="docutils literal"><span class="pre">como</span></tt></td>
 <td>Comeau Computing</td>
 <td>Using this toolset may
-require <a class="reference" href="../../tools/build/index.html">configuring</a> another
+require <a class="reference external" href="../../tools/build/index.html">configuring</a> another
 toolset to act as its backend</td>
 </tr>
 <tr><td><tt class="docutils literal"><span class="pre">cw</span></tt></td>
@@ -407,36 +411,32 @@
 a hyphen, e.g. <tt class="docutils literal"><span class="pre">intel-9.0</span></tt> or
 <tt class="docutils literal"><span class="pre">borland-5.4.3</span></tt>. <tt class="docutils literal"> </tt></p>
 </div>
-<div class="section">
-<h3><a class="toc-backref" href="#id28" id="select-a-build-directory" name="select-a-build-directory"><span id="id10"></span><span id="build-directory"></span>5.2.3&nbsp;&nbsp;&nbsp;Select a Build Directory</a></h3>
-<p><a class="reference" href="../../tools/build/index.html">Boost.Build</a> will place all intermediate files it generates while
+<div class="section" id="select-a-build-directory">
+<span id="id10"></span><span id="build-directory"></span><h3><a class="toc-backref" href="#id28">5.2.3&nbsp;&nbsp;&nbsp;Select a Build Directory</a></h3>
+<p><a class="reference external" href="../../tools/build/index.html">Boost.Build</a> will place all intermediate files it generates while
 building into the <strong>build directory</strong>. If your Boost root
 directory is writable, this step isn't strictly necessary: by
 default Boost.Build will create a <tt class="docutils literal"><span class="pre">bin.v2/</span></tt> subdirectory for that
 purpose in your current working directory.</p>
 </div>
-<div class="section">
-<h3><a class="toc-backref" href="#id29" id="invoke-bjam" name="invoke-bjam">5.2.4&nbsp;&nbsp;&nbsp;Invoke <tt class="docutils literal"><span class="pre">bjam</span></tt></a></h3>
+<div class="section" id="invoke-bjam">
+<h3><a class="toc-backref" href="#id29">5.2.4&nbsp;&nbsp;&nbsp;Invoke <tt class="docutils literal"><span class="pre">bjam</span></tt></a></h3>
 <p>Change your current directory to the Boost root directory and
 invoke <tt class="docutils literal"><span class="pre">bjam</span></tt> as follows:</p>
 <pre class="literal-block">
-bjam <strong>--build-dir=</strong><a class="reference" href="#id10"><em>build-directory</em></a> <strong>--toolset=</strong><a class="reference" href="#toolset-name"><em>toolset-name</em></a> <em>[</em><strong>--build-type=complete</strong><em>]</em> stage
+bjam <strong>--build-dir=</strong><a class="reference internal" href="#id10"><em>build-directory</em></a> <strong>--toolset=</strong><a class="reference internal" href="#toolset-name"><em>toolset-name</em></a> <tt class="docutils literal"> </tt> stage
 </pre>
 <p>For example, your session might look like this:</p>
 <pre class="literal-block">
-$ cd ~/<tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt>
+$ cd ~/<tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt>
 $ bjam <strong>--build-dir=</strong>/tmp/build-boost <strong>--toolset=</strong>gcc stage
 </pre>
-<p>That will build static and shared non-debug multi-threaded variations of the libraries. To build all variations:</p>
-<pre class="literal-block">
-$ cd ~/<tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt>
-$ bjam <strong>--build-dir=</strong>/tmp/build-boost <strong>--toolset=</strong>gcc <strong>--build-type=complete</strong> stage
-</pre>
+<p>That will build static and shared non-debug multi-threaded variants of the libraries. To build all variants, pass the additional option, “<tt class="docutils literal"><span class="pre">--build-type=complete</span></tt>”.</p>
 <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 <p>Building the special <tt class="docutils literal"><span class="pre">stage</span></tt> target places Boost
-library binaries in the <tt class="docutils literal"><span class="pre">stage</span></tt><tt class="docutils literal"><span class="pre">/</span></tt> subdirectory of your <a class="reference" href="#build-directory">build
+library binaries in the <tt class="docutils literal"><span class="pre">stage</span></tt><tt class="docutils literal"><span class="pre">/</span></tt> subdirectory of your <a class="reference internal" href="#build-directory">build
 directory</a>.</p>
 <div class="note">
 <p class="first admonition-title">Note</p>
@@ -456,10 +456,17 @@
 <li>choosing a specific build variant by adding <tt class="docutils literal"><span class="pre">release</span></tt> or
 <tt class="docutils literal"><span class="pre">debug</span></tt> to the command line.</li>
 </ul>
+<div class="note">
+<p class="first admonition-title">Note</p>
+<p class="last">Boost.Build can produce a great deal of output, which can
+make it easy to miss problems. If you want to make sure
+everything is went well, you might redirect the output into a
+file by appending “<tt class="docutils literal"><span class="pre">&gt;build.log</span> <span class="pre">2&gt;&amp;1</span></tt>” to your command line.</p>
+</div>
 </div>
 </div>
-<div class="section">
-<h2><a class="toc-backref" href="#id30" id="expected-build-output" name="expected-build-output">5.3&nbsp;&nbsp;&nbsp;Expected Build Output</a></h2>
+<div class="section" id="expected-build-output">
+<h2><a class="toc-backref" href="#id30">5.3&nbsp;&nbsp;&nbsp;Expected Build Output</a></h2>
 <p>During the process of building Boost libraries, you can expect to
 see some messages printed on the console. These may include</p>
 <ul>
@@ -482,29 +489,29 @@
 </li>
 </ul>
 </div>
-<div class="section">
-<h2><a class="toc-backref" href="#id31" id="in-case-of-build-errors" name="in-case-of-build-errors">5.4&nbsp;&nbsp;&nbsp;In Case of Build Errors</a></h2>
+<div class="section" id="in-case-of-build-errors">
+<h2><a class="toc-backref" href="#id31">5.4&nbsp;&nbsp;&nbsp;In Case of Build Errors</a></h2>
 <p>The only error messages you see when building Boost—if any—should
 be related to the IOStreams library's support of zip and bzip2
-formats as described <a class="reference" href="../../libs/iostreams/doc/installation.html">here</a>. Install the relevant development
+formats as described <a class="reference external" href="../../libs/iostreams/doc/installation.html">here</a>. Install the relevant development
 packages for libz and libbz2 if you need those features. Other
 errors when building Boost libraries are cause for concern.</p>
 <p>If it seems like the build system can't find your compiler and/or
 linker, consider setting up a <tt class="docutils literal"><span class="pre">user-config.jam</span></tt> file as described
-in the <a class="reference" href="../../tools/build/index.html">Boost.Build documentation</a>. If that isn't your problem or
+in the <a class="reference external" href="../../tools/build/index.html">Boost.Build documentation</a>. If that isn't your problem or
 the <tt class="docutils literal"><span class="pre">user-config.jam</span></tt> file doesn't work for you, please address
 questions about configuring Boost for your compiler to the
-<a class="reference" href="http://www.boost.org/more/mailing_lists.htm#jamboost">Boost.Build mailing list</a>.</p>
+<a class="reference external" href="http://www.boost.org/more/mailing_lists.htm#jamboost">Boost.Build mailing list</a>.</p>
 <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 </div>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id32" id="link-your-program-to-a-boost-library" name="link-your-program-to-a-boost-library">6&nbsp;&nbsp;&nbsp;Link Your Program to a Boost Library</a></h1>
+<div class="section" id="link-your-program-to-a-boost-library">
+<h1><a class="toc-backref" href="#id32">6&nbsp;&nbsp;&nbsp;Link Your Program to a Boost Library</a></h1>
 <p>To demonstrate linking with a Boost binary library, we'll use the
 following simple program that extracts the subject lines from
-emails. It uses the <a class="reference" href="../../libs/regex/index.html">Boost.Regex</a> library, which has a
+emails. It uses the <a class="reference external" href="../../libs/regex/index.html">Boost.Regex</a> library, which has a
 separately-compiled binary component.</p>
 <pre class="literal-block">
 #include &lt;boost/regex.hpp&gt;
@@ -537,14 +544,14 @@
 <ol class="upperalpha">
 <li><p class="first">You can specify the full path to each library:</p>
 <pre class="literal-block">
-$ c++ -I <em>path/to/</em><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt> example.cpp -o example <strong>\</strong>
+$ c++ -I <em>path/to/</em><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt> example.cpp -o example <strong>\</strong>
    <strong>~/boost/lib/libboost_regex-gcc34-mt-d-1_36.a</strong>
 </pre>
 </li>
-<li><p class="first">You can separately specify a directory to search (with <tt class="docutils literal"><span class="pre">-L</span></tt><em>directory</em>) and a library name to search for (with <tt class="docutils literal"><span class="pre">-l</span></tt><em>library</em>,<a class="footnote-reference" href="#lowercase-l" id="id12" name="id12"><sup>2</sup></a> dropping the filename's leading <tt class="docutils literal"><span class="pre">lib</span></tt> and trailing
+<li><p class="first">You can separately specify a directory to search (with <tt class="docutils literal"><span class="pre">-L</span></tt><em>directory</em>) and a library name to search for (with <tt class="docutils literal"><span class="pre">-l</span></tt><em>library</em>,<a class="footnote-reference" href="#lowercase-l" id="id12"><sup>2</sup></a> dropping the filename's leading <tt class="docutils literal"><span class="pre">lib</span></tt> and trailing
 suffix (<tt class="docutils literal"><span class="pre">.a</span></tt> in this case):</p>
 <pre class="literal-block">
-$ c++ -I <em>path/to/</em><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt> example.cpp -o example <strong>\</strong>
+$ c++ -I <em>path/to/</em><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt> example.cpp -o example <strong>\</strong>
    <strong>-L~/boost/lib/ -lboost_regex-gcc34-mt-d-1_36</strong>
 </pre>
 <p>As you can see, this method is just as terse as method A for one
@@ -556,10 +563,10 @@
 <tt class="docutils literal"><span class="pre">-static</span></tt> on the command line.</p>
 </li>
 </ol>
-<p>In both cases above, the bold text is what you'd add to <a class="reference" href="#build-a-simple-program-using-boost">the
+<p>In both cases above, the bold text is what you'd add to <a class="reference internal" href="#build-a-simple-program-using-boost">the
 command lines we explored earlier</a>.</p>
-<div class="section">
-<h2><a class="toc-backref" href="#id33" id="library-naming" name="library-naming">6.1&nbsp;&nbsp;&nbsp;Library Naming</a></h2>
+<div class="section" id="library-naming">
+<h2><a class="toc-backref" href="#id33">6.1&nbsp;&nbsp;&nbsp;Library Naming</a></h2>
 <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
@@ -574,11 +581,11 @@
 <dd><em>Prefix</em>: except on Microsoft Windows, every Boost library
 name begins with this string. On Windows, only ordinary static
 libraries use the <tt class="docutils literal"><span class="pre">lib</span></tt> prefix; import libraries and DLLs do
-not.<a class="footnote-reference" href="#distinct" id="id14" name="id14"><sup>4</sup></a></dd>
+not.<a class="footnote-reference" href="#distinct" id="id14"><sup>4</sup></a></dd>
 <dt><tt class="docutils literal"><span class="pre">boost_regex</span></tt></dt>
 <dd><em>Library name</em>: all boost library filenames begin with <tt class="docutils literal"><span class="pre">boost_</span></tt>.</dd>
 <dt><tt class="docutils literal"><span class="pre">-vc71</span></tt></dt>
-<dd><em>Toolset tag</em>: identifies the <a class="reference" href="#toolset">toolset</a> and version used to build
+<dd><em>Toolset tag</em>: identifies the <a class="reference internal" href="#toolset">toolset</a> and version used to build
 the binary.</dd>
 <dt><tt class="docutils literal"><span class="pre">-mt</span></tt></dt>
 <dd><em>Threading tag</em>: indicates that the library was
@@ -609,17 +616,17 @@
 <td>using debug versions of the standard and runtime support libraries.</td>
 </tr>
 <tr><td><tt class="docutils literal"><span class="pre">y</span></tt></td>
-<td>using a special <a class="reference" href="../../libs/python/doc/building.html#variants">debug build of Python</a>.</td>
+<td>using a special <a class="reference external" href="../../libs/python/doc/building.html#variants">debug build of Python</a>.</td>
 </tr>
 <tr><td><tt class="docutils literal"><span class="pre">d</span></tt></td>
-<td>building a debug version of your code.<a class="footnote-reference" href="#debug-abi" id="id15" name="id15"><sup>5</sup></a></td>
+<td>building a debug version of your code.<a class="footnote-reference" href="#debug-abi" id="id15"><sup>5</sup></a></td>
 </tr>
 <tr><td><tt class="docutils literal"><span class="pre">p</span></tt></td>
 <td>using the STLPort standard library rather than the default one supplied with
 your compiler.</td>
 </tr>
 <tr><td><tt class="docutils literal"><span class="pre">n</span></tt></td>
-<td>using STLPort's deprecated “native iostreams” feature.<a class="footnote-reference" href="#native" id="id16" name="id16"><sup>6</sup></a></td>
+<td>using STLPort's deprecated “native iostreams” feature.<a class="footnote-reference" href="#native" id="id16"><sup>6</sup></a></td>
 </tr>
 </tbody>
 </table>
@@ -640,7 +647,7 @@
 <tt class="docutils literal"><span class="pre">.a</span></tt> and <tt class="docutils literal"><span class="pre">.so</span></tt> for static libraries (archives) and shared
 libraries, respectively. On Windows, <tt class="docutils literal"><span class="pre">.dll</span></tt> indicates a shared
 library and (except for static libraries built by the <tt class="docutils literal"><span class="pre">gcc</span></tt>
-<a class="reference" href="#toolset">toolset</a>, whose names always end in <tt class="docutils literal"><span class="pre">.a</span></tt>) <tt class="docutils literal"><span class="pre">.lib</span></tt> indicates a
+<a class="reference internal" href="#toolset">toolset</a>, whose names always end in <tt class="docutils literal"><span class="pre">.a</span></tt>) <tt class="docutils literal"><span class="pre">.lib</span></tt> indicates a
 static or import library. Where supported by toolsets on unix
 variants, a full version extension is added (e.g. &quot;.so.1.34&quot;) and
 a symbolic link to the library file, named without the trailing
@@ -651,8 +658,8 @@
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 </div>
-<div class="section">
-<h2><a class="toc-backref" href="#id34" id="test-your-program" name="test-your-program">6.2&nbsp;&nbsp;&nbsp;Test Your Program</a></h2>
+<div class="section" id="test-your-program">
+<h2><a class="toc-backref" href="#id34">6.2&nbsp;&nbsp;&nbsp;Test Your Program</a></h2>
 <p>To test our subject extraction, we'll filter the following text
 file. Copy it out of your browser and save it as <tt class="docutils literal"><span class="pre">jayne.txt</span></tt>:</p>
 <pre class="literal-block">
@@ -691,23 +698,23 @@
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 </div>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id35" id="conclusion-and-further-resources" name="conclusion-and-further-resources">7&nbsp;&nbsp;&nbsp;Conclusion and Further Resources</a></h1>
+<div class="section" id="conclusion-and-further-resources">
+<h1><a class="toc-backref" href="#id35">7&nbsp;&nbsp;&nbsp;Conclusion and Further Resources</a></h1>
 <p>This concludes your introduction to Boost and to integrating it
 with your programs. As you start using Boost in earnest, there are
 surely a few additional points you'll wish we had covered. One day
 we may have a “Book 2 in the Getting Started series” that addresses
 them. Until then, we suggest you pursue the following resources.
 If you can't find what you need, or there's anything we can do to
-make this document clearer, please post it to the <a class="reference" href="http://www.boost.org/more/mailing_lists.htm#users">Boost Users'
+make this document clearer, please post it to the <a class="reference external" href="http://www.boost.org/more/mailing_lists.htm#users">Boost Users'
 mailing list</a>.</p>
 <ul class="simple">
-<li><a class="reference" href="../../tools/build/v2/index.html">Boost.Build reference manual</a></li>
-<li><a class="reference" href="../../tools/jam/index.html">Boost.Jam reference manual</a></li>
-<li><a class="reference" href="http://www.boost.org/more/mailing_lists.htm#users">Boost Users' mailing list</a></li>
-<li><a class="reference" href="http://www.boost.org/more/mailing_lists.htm#jamboost">Boost.Build mailing list</a></li>
-<li><a class="reference" href="http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Boost.Build_V2">Boost.Build Wiki</a></li>
-<li><a class="reference" href="../../libs/index.html">Index of all Boost library documentation</a></li>
+<li><a class="reference external" href="../../tools/build/v2/index.html">Boost.Build reference manual</a></li>
+<li><a class="reference external" href="../../tools/jam/index.html">Boost.Jam reference manual</a></li>
+<li><a class="reference external" href="http://www.boost.org/more/mailing_lists.htm#users">Boost Users' mailing list</a></li>
+<li><a class="reference external" href="http://www.boost.org/more/mailing_lists.htm#jamboost">Boost.Build mailing list</a></li>
+<li><a class="reference external" href="http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Boost.Build_V2">Boost.Build Wiki</a></li>
+<li><a class="reference external" href="../../libs/index.html">Index of all Boost library documentation</a></li>
 </ul>
 <div class="admonition-onward admonition">
 <p class="first admonition-title">Onward</p>
@@ -720,17 +727,16 @@
 <table class="docutils footnote" frame="void" id="packagers" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id2" name="packagers">[1]</a></td><td><p class="first">If developers of Boost packages would like to work
+<tr><td class="label"><a class="fn-backref" href="#id2">[1]</a></td><td>If developers of Boost packages would like to work
 with us to make sure these instructions can be used with their
 packages, we'd be glad to help. Please make your interest known
-to the <a class="reference" href="http://www.boost.org/more/mailing_lists.htm#main">Boost developers' list</a>.</p>
-</td></tr>
+to the <a class="reference external" href="http://www.boost.org/more/mailing_lists.htm#main">Boost developers' list</a>.</td></tr>
 </tbody>
 </table>
 <table class="docutils footnote" frame="void" id="lowercase-l" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id12" name="lowercase-l">[2]</a></td><td>That option is a dash followed by a lowercase “L”
+<tr><td class="label"><a class="fn-backref" href="#id12">[2]</a></td><td>That option is a dash followed by a lowercase “L”
 character, which looks very much like a numeral 1 in some fonts.</td></tr>
 </tbody>
 </table>
@@ -740,7 +746,7 @@
 <table class="docutils footnote" frame="void" id="warnings" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id5" name="warnings">[3]</a></td><td>Remember that warnings are specific to each compiler
+<tr><td class="label"><a class="fn-backref" href="#id5">[3]</a></td><td>Remember that warnings are specific to each compiler
 implementation. The developer of a given Boost library might
 not have access to your compiler. Also, some warnings are
 extremely difficult to eliminate in generic code, to the point
@@ -751,7 +757,7 @@
 <table class="docutils footnote" frame="void" id="distinct" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id14" name="distinct">[4]</a></td><td>This convention distinguishes the static version of
+<tr><td class="label"><a class="fn-backref" href="#id14">[4]</a></td><td>This convention distinguishes the static version of
 a Boost library from the import library for an
 identically-configured Boost DLL, which would otherwise have the
 same name.</td></tr>
@@ -760,7 +766,7 @@
 <table class="docutils footnote" frame="void" id="debug-abi" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id15" name="debug-abi">[5]</a></td><td>These libraries were compiled without optimization
+<tr><td class="label"><a class="fn-backref" href="#id15">[5]</a></td><td>These libraries were compiled without optimization
 or inlining, with full debug symbols enabled, and without
 <tt class="docutils literal"><span class="pre">NDEBUG</span></tt> <tt class="docutils literal"><span class="pre">#define</span></tt>d. Although it's true that sometimes
 these choices don't affect binary compatibility with other
@@ -770,7 +776,7 @@
 <table class="docutils footnote" frame="void" id="native" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id16" name="native">[6]</a></td><td>This feature of STLPort is deprecated because it's
+<tr><td class="label"><a class="fn-backref" href="#id16">[6]</a></td><td>This feature of STLPort is deprecated because it's
 impossible to make it work transparently to the user; we don't
 recommend it.</td></tr>
 </tbody>

Modified: branches/proto/v4/more/getting_started/unix-variants.rst
==============================================================================
--- branches/proto/v4/more/getting_started/unix-variants.rst (original)
+++ branches/proto/v4/more/getting_started/unix-variants.rst 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -142,12 +142,7 @@
    $ cd ~/|boost_ver|
    $ bjam **--build-dir=**\ /tmp/build-boost **--toolset=**\ gcc stage
 
-That will build static and shared non-debug multi-threaded variations of the libraries. To build all variations:
-
-.. parsed-literal::
-
- $ cd ~/|boost_ver|
- $ bjam **--build-dir=**\ /tmp/build-boost **--toolset=**\ gcc **--build-type=complete** stage
+That will build static and shared non-debug multi-threaded variants of the libraries. To build all variants, pass the additional option, “``--build-type=complete``”.
 
 .. include:: detail/build-from-source-tail.rst
 
@@ -237,6 +232,8 @@
 .. [#lowercase-l] That option is a dash followed by a lowercase “L”
    character, which looks very much like a numeral 1 in some fonts.
 
+.. |build-type-complete| replace:: `` ``
+
 .. include:: detail/common-footnotes.rst
 .. include:: detail/release-variables.rst
 .. include:: detail/common-unix.rst

Modified: branches/proto/v4/more/getting_started/windows.html
==============================================================================
--- branches/proto/v4/more/getting_started/windows.html (original)
+++ branches/proto/v4/more/getting_started/windows.html 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -3,83 +3,86 @@
 <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" />
-<meta name="generator" content="Docutils 0.4.1: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils 0.6: http://docutils.sourceforge.net/" />
 <title>Boost Getting Started on Windows</title>
 <link rel="stylesheet" href="../../rst.css" type="text/css" />
 </head>
 <body>
 <div class="document" id="logo-getting-started-on-windows">
-<h1 class="title"><a class="reference" href="../../index.htm"><img alt="Boost" class="boost-logo" src="../../boost.png" /></a> Getting Started on Windows</h1>
+<h1 class="title"><a class="reference external" href="../../index.htm"><img alt="Boost" class="boost-logo" src="../../boost.png" /></a> Getting Started on Windows</h1>
+
 <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 <div class="admonition-a-note-to-cygwin-and-mingw-users admonition">
-<p class="first admonition-title">A note to <a class="reference" href="http://www.cygwin.com">Cygwin</a> and <a class="reference" href="http://mingw.org">MinGW</a> users</p>
+<p class="first admonition-title">A note to <a class="reference external" href="http://www.cygwin.com">Cygwin</a> and <a class="reference external" href="http://mingw.org">MinGW</a> users</p>
 <p class="last">If you plan to use your tools from the Windows command prompt,
-you're in the right place. If you plan to build from the <a class="reference" href="http://www.cygwin.com">Cygwin</a>
+you're in the right place. If you plan to build from the <a class="reference external" href="http://www.cygwin.com">Cygwin</a>
 bash shell, you're actually running on a POSIX platform and
-should follow the instructions for <a class="reference" href="unix-variants.html">getting started on Unix
-variants</a>. Other command shells, such as <a class="reference" href="http://mingw.org">MinGW</a>'s MSYS, are
+should follow the instructions for <a class="reference external" href="unix-variants.html">getting started on Unix
+variants</a>. Other command shells, such as <a class="reference external" href="http://mingw.org">MinGW</a>'s MSYS, are
 not supported—they may or may not work.</p>
 </div>
-<div class="contents topic">
-<p class="topic-title first"><a id="index" name="index">Index</a></p>
+<div class="contents topic" id="index">
+<p class="topic-title first">Index</p>
 <ul class="auto-toc simple">
-<li><a class="reference" href="#get-boost" id="id26" name="id26">1&nbsp;&nbsp;&nbsp;Get Boost</a></li>
-<li><a class="reference" href="#the-boost-distribution" id="id27" name="id27">2&nbsp;&nbsp;&nbsp;The Boost Distribution</a></li>
-<li><a class="reference" href="#header-only-libraries" id="id28" name="id28">3&nbsp;&nbsp;&nbsp;Header-Only Libraries</a></li>
-<li><a class="reference" href="#build-a-simple-program-using-boost" id="id29" name="id29">4&nbsp;&nbsp;&nbsp;Build a Simple Program Using Boost</a><ul class="auto-toc">
-<li><a class="reference" href="#build-from-the-visual-studio-ide" id="id30" name="id30">4.1&nbsp;&nbsp;&nbsp;Build From the Visual Studio IDE</a></li>
-<li><a class="reference" href="#or-build-from-the-command-prompt" id="id31" name="id31">4.2&nbsp;&nbsp;&nbsp;Or, Build From the Command Prompt</a></li>
-<li><a class="reference" href="#errors-and-warnings" id="id32" name="id32">4.3&nbsp;&nbsp;&nbsp;Errors and Warnings</a></li>
-</ul>
-</li>
-<li><a class="reference" href="#prepare-to-use-a-boost-library-binary" id="id33" name="id33">5&nbsp;&nbsp;&nbsp;Prepare to Use a Boost Library Binary</a><ul class="auto-toc">
-<li><a class="reference" href="#install-visual-studio-binaries" id="id34" name="id34">5.1&nbsp;&nbsp;&nbsp;Install Visual Studio Binaries</a></li>
-<li><a class="reference" href="#or-build-binaries-from-source" id="id35" name="id35">5.2&nbsp;&nbsp;&nbsp;Or, Build Binaries From Source</a><ul class="auto-toc">
-<li><a class="reference" href="#get-bjam" id="id36" name="id36">5.2.1&nbsp;&nbsp;&nbsp;Get <tt class="docutils literal"><span class="pre">bjam</span></tt></a></li>
-<li><a class="reference" href="#identify-your-toolset" id="id37" name="id37">5.2.2&nbsp;&nbsp;&nbsp;Identify Your Toolset</a></li>
-<li><a class="reference" href="#select-a-build-directory" id="id38" name="id38">5.2.3&nbsp;&nbsp;&nbsp;Select a Build Directory</a></li>
-<li><a class="reference" href="#invoke-bjam" id="id39" name="id39">5.2.4&nbsp;&nbsp;&nbsp;Invoke <tt class="docutils literal"><span class="pre">bjam</span></tt></a></li>
-</ul>
-</li>
-<li><a class="reference" href="#expected-build-output" id="id40" name="id40">5.3&nbsp;&nbsp;&nbsp;Expected Build Output</a></li>
-<li><a class="reference" href="#in-case-of-build-errors" id="id41" name="id41">5.4&nbsp;&nbsp;&nbsp;In Case of Build Errors</a></li>
-</ul>
-</li>
-<li><a class="reference" href="#link-your-program-to-a-boost-library" id="id42" name="id42">6&nbsp;&nbsp;&nbsp;Link Your Program to a Boost Library</a><ul class="auto-toc">
-<li><a class="reference" href="#link-from-within-the-visual-studio-ide" id="id43" name="id43">6.1&nbsp;&nbsp;&nbsp;Link From Within the Visual Studio IDE</a></li>
-<li><a class="reference" href="#or-link-from-the-command-prompt" id="id44" name="id44">6.2&nbsp;&nbsp;&nbsp;Or, Link From the Command Prompt</a></li>
-<li><a class="reference" href="#library-naming" id="id45" name="id45">6.3&nbsp;&nbsp;&nbsp;Library Naming</a></li>
-<li><a class="reference" href="#test-your-program" id="id46" name="id46">6.4&nbsp;&nbsp;&nbsp;Test Your Program</a></li>
-</ul>
-</li>
-<li><a class="reference" href="#conclusion-and-further-resources" id="id47" name="id47">7&nbsp;&nbsp;&nbsp;Conclusion and Further Resources</a></li>
-</ul>
-</div>
-<div class="section">
-<h1><a class="toc-backref" href="#id26" id="get-boost" name="get-boost">1&nbsp;&nbsp;&nbsp;Get Boost</a></h1>
-<p>The easiest way to get a copy of Boost is to use an installer.
-The <a class="reference" href="http://www.boost.org/doc/libs/1_36_0/more/getting_started/index.html">Boost website version of this Getting Started guide</a> will
-have undated information on installers as they become available,
-or see <a class="reference" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041">Boost downloads</a> or the <a class="reference" href="http://www.boostpro.com/products/free">installer</a> provided by <a class="reference" href="http://www.boostpro.com">BoostPro Computing</a>. We especially recommend using
-an installer if you use Microsoft Visual Studio, because the installer can download and install
-precompiled library binaries, saving you the trouble of building
-them yourself. To complete this tutorial, you'll need to at least
-install the <a class="reference" href="../../libs/regex/index.html">Boost.Regex</a> binaries when given the option.</p>
+<li><a class="reference internal" href="#get-boost" id="id26">1&nbsp;&nbsp;&nbsp;Get Boost</a></li>
+<li><a class="reference internal" href="#the-boost-distribution" id="id27">2&nbsp;&nbsp;&nbsp;The Boost Distribution</a></li>
+<li><a class="reference internal" href="#header-only-libraries" id="id28">3&nbsp;&nbsp;&nbsp;Header-Only Libraries</a></li>
+<li><a class="reference internal" href="#build-a-simple-program-using-boost" id="id29">4&nbsp;&nbsp;&nbsp;Build a Simple Program Using Boost</a><ul class="auto-toc">
+<li><a class="reference internal" href="#build-from-the-visual-studio-ide" id="id30">4.1&nbsp;&nbsp;&nbsp;Build From the Visual Studio IDE</a></li>
+<li><a class="reference internal" href="#or-build-from-the-command-prompt" id="id31">4.2&nbsp;&nbsp;&nbsp;Or, Build From the Command Prompt</a></li>
+<li><a class="reference internal" href="#errors-and-warnings" id="id32">4.3&nbsp;&nbsp;&nbsp;Errors and Warnings</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#prepare-to-use-a-boost-library-binary" id="id33">5&nbsp;&nbsp;&nbsp;Prepare to Use a Boost Library Binary</a><ul class="auto-toc">
+<li><a class="reference internal" href="#install-visual-studio-binaries" id="id34">5.1&nbsp;&nbsp;&nbsp;Install Visual Studio Binaries</a></li>
+<li><a class="reference internal" href="#or-build-binaries-from-source" id="id35">5.2&nbsp;&nbsp;&nbsp;Or, Build Binaries From Source</a><ul class="auto-toc">
+<li><a class="reference internal" href="#get-bjam" id="id36">5.2.1&nbsp;&nbsp;&nbsp;Get <tt class="docutils literal"><span class="pre">bjam</span></tt></a></li>
+<li><a class="reference internal" href="#identify-your-toolset" id="id37">5.2.2&nbsp;&nbsp;&nbsp;Identify Your Toolset</a></li>
+<li><a class="reference internal" href="#select-a-build-directory" id="id38">5.2.3&nbsp;&nbsp;&nbsp;Select a Build Directory</a></li>
+<li><a class="reference internal" href="#invoke-bjam" id="id39">5.2.4&nbsp;&nbsp;&nbsp;Invoke <tt class="docutils literal"><span class="pre">bjam</span></tt></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#expected-build-output" id="id40">5.3&nbsp;&nbsp;&nbsp;Expected Build Output</a></li>
+<li><a class="reference internal" href="#in-case-of-build-errors" id="id41">5.4&nbsp;&nbsp;&nbsp;In Case of Build Errors</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#link-your-program-to-a-boost-library" id="id42">6&nbsp;&nbsp;&nbsp;Link Your Program to a Boost Library</a><ul class="auto-toc">
+<li><a class="reference internal" href="#link-from-within-the-visual-studio-ide" id="id43">6.1&nbsp;&nbsp;&nbsp;Link From Within the Visual Studio IDE</a></li>
+<li><a class="reference internal" href="#or-link-from-the-command-prompt" id="id44">6.2&nbsp;&nbsp;&nbsp;Or, Link From the Command Prompt</a></li>
+<li><a class="reference internal" href="#library-naming" id="id45">6.3&nbsp;&nbsp;&nbsp;Library Naming</a></li>
+<li><a class="reference internal" href="#test-your-program" id="id46">6.4&nbsp;&nbsp;&nbsp;Test Your Program</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#conclusion-and-further-resources" id="id47">7&nbsp;&nbsp;&nbsp;Conclusion and Further Resources</a></li>
+</ul>
+</div>
+<div class="section" id="get-boost">
+<h1><a class="toc-backref" href="#id26">1&nbsp;&nbsp;&nbsp;Get Boost</a></h1>
+<p>The easiest way to get a copy of Boost is to use an installer. The
+<a class="reference external" href="http://www.boost.org/doc/libs/1_36_0/more/getting_started/index.html">Boost website version of this Getting Started guide</a> will have
+undated information on installers as they become available, or see
+<a class="reference external" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041">Boost downloads</a> or the <a class="reference external" href="http://www.boostpro.com/products/free">installer</a> provided by <a class="reference external" href="http://www.boostpro.com">BoostPro
+Computing</a>. We especially recommend using an installer if you use
+Microsoft Visual Studio, because the installer can download and
+install precompiled library binaries, saving you the trouble of
+building them yourself. To complete this tutorial, you'll need to at
+least install the Static Multithreaded variants of the <a class="reference external" href="../../libs/regex/index.html">Boost.Regex</a>
+binaries when given the option.</p>
 <p>If you're using an earlier version of Visual Studio or some other
 compiler, or if you prefer to build everything yourself, you can
-download <a class="reference" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041"><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt><tt class="docutils literal"><span class="pre">.7z</span></tt></a> or <a class="reference" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041"><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt><tt class="docutils literal"><span class="pre">.zip</span></tt></a> and unpack it to install a complete Boost
-distribution.<a class="footnote-reference" href="#zip" id="id2" name="id2"><sup>1</sup></a></p>
+download <a class="reference external" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041"><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt><tt class="docutils literal"><span class="pre">.7z</span></tt></a> or <a class="reference external" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041"><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt><tt class="docutils literal"><span class="pre">.zip</span></tt></a> and unpack it to install a complete Boost
+distribution.<a class="footnote-reference" href="#zip" id="id2"><sup>1</sup></a></p>
 <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id27" id="the-boost-distribution" name="the-boost-distribution">2&nbsp;&nbsp;&nbsp;The Boost Distribution</a></h1>
+<div class="section" id="the-boost-distribution">
+<h1><a class="toc-backref" href="#id27">2&nbsp;&nbsp;&nbsp;The Boost Distribution</a></h1>
 <p>This is a sketch of the resulting directory structure:</p>
 <pre class="literal-block">
-<strong>boost_1_37_0</strong><strong>\</strong> .................<em>The “boost root directory”</em>
+<strong>boost_1_38_0</strong><strong>\</strong> .................<em>The “boost root directory”</em>
    <strong>index.htm</strong> .........<em>A copy of www.boost.org starts here</em>
    <strong>boost</strong><strong>\</strong> .........................<em>All Boost Header files</em>
    <strong>lib</strong><strong>\</strong> .....................<em>precompiled library binaries</em>
@@ -111,7 +114,7 @@
 </li>
 <li><p class="first">Some libraries have an “aggregate header” in <tt class="docutils literal"><span class="pre">boost</span></tt><tt class="docutils literal"><span class="pre">\</span></tt> that
 <tt class="docutils literal"><span class="pre">#include</span></tt>s all of the library's other headers. For
-example, <a class="reference" href="../../libs/python/doc/building.html">Boost.Python</a>'s aggregate header is</p>
+example, <a class="reference external" href="../../libs/python/doc/building.html">Boost.Python</a>'s aggregate header is</p>
 <pre class="literal-block">
 <tt class="docutils literal"><span class="pre">boost</span></tt><tt class="docutils literal"><span class="pre">\</span></tt><tt class="docutils literal"><span class="pre">python.hpp</span></tt>.
 </pre>
@@ -124,7 +127,7 @@
 </div>
 <p>It's important to note the following:</p>
 <ol class="arabic" id="boost-root-directory">
-<li><p class="first">The path to the <strong>boost root directory</strong> (often <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt>) is
+<li><p class="first">The path to the <strong>boost root directory</strong> (often <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt>) is
 sometimes referred to as <tt class="docutils literal"><span class="pre">$BOOST_ROOT</span></tt> in documentation and
 mailing lists .</p>
 </li>
@@ -158,8 +161,8 @@
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id28" id="header-only-libraries" name="header-only-libraries">3&nbsp;&nbsp;&nbsp;Header-Only Libraries</a></h1>
+<div class="section" id="header-only-libraries">
+<h1><a class="toc-backref" href="#id28">3&nbsp;&nbsp;&nbsp;Header-Only Libraries</a></h1>
 <p>The first thing many people want to know is, “how do I build
 Boost?” The good news is that often, there's nothing to build.</p>
 <div class="admonition-nothing-to-build admonition">
@@ -172,25 +175,25 @@
 <!-- .. _separate: -->
 <p>The only Boost libraries that <em>must</em> be built separately are:</p>
 <ul class="simple">
-<li><a class="reference" href="../../libs/filesystem/index.html">Boost.Filesystem</a></li>
-<li><a class="reference" href="../../libs/iostreams/index.html">Boost.IOStreams</a></li>
-<li><a class="reference" href="../../libs/program_options/index.html">Boost.ProgramOptions</a></li>
-<li><a class="reference" href="../../libs/python/doc/building.html">Boost.Python</a> (see the <a class="reference" href="../../libs/python/doc/building.html">Boost.Python build documentation</a>
+<li><a class="reference external" href="../../libs/filesystem/index.html">Boost.Filesystem</a></li>
+<li><a class="reference external" href="../../libs/iostreams/index.html">Boost.IOStreams</a></li>
+<li><a class="reference external" href="../../libs/program_options/index.html">Boost.ProgramOptions</a></li>
+<li><a class="reference external" href="../../libs/python/doc/building.html">Boost.Python</a> (see the <a class="reference external" href="../../libs/python/doc/building.html">Boost.Python build documentation</a>
 before building and installing it)</li>
-<li><a class="reference" href="../../libs/regex/index.html">Boost.Regex</a></li>
-<li><a class="reference" href="../../libs/serialization/index.html">Boost.Serialization</a></li>
-<li><a class="reference" href="../../libs/signals/index.html">Boost.Signals</a></li>
-<li><a class="reference" href="../../doc/html/thread.html">Boost.Thread</a></li>
-<li><a class="reference" href="../../libs/wave/index.html">Boost.Wave</a></li>
+<li><a class="reference external" href="../../libs/regex/index.html">Boost.Regex</a></li>
+<li><a class="reference external" href="../../libs/serialization/index.html">Boost.Serialization</a></li>
+<li><a class="reference external" href="../../libs/signals/index.html">Boost.Signals</a></li>
+<li><a class="reference external" href="../../doc/html/thread.html">Boost.Thread</a></li>
+<li><a class="reference external" href="../../libs/wave/index.html">Boost.Wave</a></li>
 </ul>
 <p>A few libraries have optional separately-compiled binaries:</p>
 <ul class="simple">
-<li><a class="reference" href="../../libs/date_time/index.html">Boost.DateTime</a> has a binary component that is only needed if
+<li><a class="reference external" href="../../libs/date_time/index.html">Boost.DateTime</a> has a binary component that is only needed if
 you're using its <tt class="docutils literal"><span class="pre">to_string</span></tt>/<tt class="docutils literal"><span class="pre">from_string</span></tt> or serialization
 features, or if you're targeting Visual C++ 6.x or Borland.</li>
-<li><a class="reference" href="../../libs/graph/index.html">Boost.Graph</a> also has a binary component that is only needed if
-you intend to <a class="reference" href="../../libs/graph/doc/read_graphviz.html">parse GraphViz files</a>.</li>
-<li><a class="reference" href="../../libs/test/index.html">Boost.Test</a> can be used in “header-only” or “separately compiled”
+<li><a class="reference external" href="../../libs/graph/index.html">Boost.Graph</a> also has a binary component that is only needed if
+you intend to <a class="reference external" href="../../libs/graph/doc/read_graphviz.html">parse GraphViz files</a>.</li>
+<li><a class="reference external" href="../../libs/test/index.html">Boost.Test</a> can be used in “header-only” or “separately compiled”
 mode, although <strong>separate compilation is recommended for serious
 use</strong>.</li>
 </ul>
@@ -198,8 +201,8 @@
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id29" id="build-a-simple-program-using-boost" name="build-a-simple-program-using-boost">4&nbsp;&nbsp;&nbsp;Build a Simple Program Using Boost</a></h1>
+<div class="section" id="build-a-simple-program-using-boost">
+<h1><a class="toc-backref" href="#id29">4&nbsp;&nbsp;&nbsp;Build a Simple Program Using Boost</a></h1>
 <p>To keep things simple, let's start by using a header-only library.
 The following program reads a sequence of integers from standard
 input, uses Boost.Lambda to multiply each number by three, and
@@ -220,11 +223,11 @@
 }
 </pre>
 <p>Copy the text of this program into a file called <tt class="docutils literal"><span class="pre">example.cpp</span></tt>.</p>
-<div class="note">
-<p class="first admonition-title"><a id="command-line-tool" name="command-line-tool"><span id="command-prompt"></span>Note</a></p>
+<div class="note" id="command-line-tool">
+<span id="command-prompt"></span><p class="first admonition-title">Note</p>
 <p class="last">To build the examples in this guide, you can use an
 Integrated Development Environment (IDE) like Visual Studio, or
-you can issue commands from the <a class="reference" href="#command-prompt">command prompt</a>. Since every
+you can issue commands from the <a class="reference internal" href="#command-prompt">command prompt</a>. Since every
 IDE and compiler has different options and Microsoft's are by
 far the dominant compilers on Windows, we only give specific
 directions here for Visual Studio 2005 and .NET 2003 IDEs and
@@ -248,14 +251,14 @@
 </pre>
 <p>followed by Return. For example,</p>
 <pre class="literal-block">
-cd <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt>
+cd <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt>
 </pre>
 <p class="last">Long commands can be continued across several lines by typing a
 caret (<tt class="docutils literal"><span class="pre">^</span></tt>) at the end of all but the last line. Some examples
 on this page use that technique to save horizontal space.</p>
 </div>
-<div class="section">
-<h2><a class="toc-backref" href="#id30" id="build-from-the-visual-studio-ide" name="build-from-the-visual-studio-ide"><span id="vs-header-only"></span>4.1&nbsp;&nbsp;&nbsp;Build From the Visual Studio IDE</a></h2>
+<div class="section" id="build-from-the-visual-studio-ide">
+<span id="vs-header-only"></span><h2><a class="toc-backref" href="#id30">4.1&nbsp;&nbsp;&nbsp;Build From the Visual Studio IDE</a></h2>
 <ul>
 <li><p class="first">From Visual Studio's <em>File</em> menu, select <em>New</em> &gt; <em>Project…</em></p>
 </li>
@@ -273,12 +276,12 @@
 <li><p class="first">In <em>Configuration Properties</em> &gt; <em>C/C++</em> &gt; <em>General</em> &gt; <em>Additional Include
 Directories</em>, enter the path to the Boost root directory, for example</p>
 <blockquote>
-<p><tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt></p>
+<p><tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt></p>
 </blockquote>
 </li>
 <li><p class="first">In <em>Configuration Properties</em> &gt; <em>C/C++</em> &gt; <em>Precompiled Headers</em>, change
 <em>Use Precompiled Header (/Yu)</em> to <em>Not Using Precompiled
-Headers</em>.<a class="footnote-reference" href="#pch" id="id5" name="id5"><sup>3</sup></a></p>
+Headers</em>.<a class="footnote-reference" href="#pch" id="id5"><sup>3</sup></a></p>
 </li>
 <li><p class="first">Replace the contents of the <tt class="docutils literal"><span class="pre">example.cpp</span></tt> generated by the IDE
 with the example code above.</p>
@@ -293,10 +296,10 @@
 </pre>
 <p>Then hold down the control key and press &quot;Z&quot;, followed by the
 Return key.</p>
-<p><a class="reference" href="#errors-and-warnings"><em>skip to the next step</em></a></p>
+<p><a class="reference internal" href="#errors-and-warnings"><em>skip to the next step</em></a></p>
 </div>
-<div class="section">
-<h2><a class="toc-backref" href="#id31" id="or-build-from-the-command-prompt" name="or-build-from-the-command-prompt">4.2&nbsp;&nbsp;&nbsp;Or, Build From the Command Prompt</a></h2>
+<div class="section" id="or-build-from-the-command-prompt">
+<h2><a class="toc-backref" href="#id31">4.2&nbsp;&nbsp;&nbsp;Or, Build From the Command Prompt</a></h2>
 <p>From your computer's <em>Start</em> menu, if you are a Visual
 Studio 2005 user, select</p>
 <blockquote>
@@ -306,12 +309,12 @@
 <blockquote>
 <em>All Programs</em> &gt; <em>Microsoft Visual Studio .NET 2003</em>
 &gt; <em>Visual Studio .NET Tools</em> &gt; <em>Visual Studio .NET 2003 Command Prompt</em></blockquote>
-<p>to bring up a special <a class="reference" href="#command-prompt">command prompt</a> window set up for the
-Visual Studio compiler. In that window, set the <a class="reference" href="#current-directory">current
+<p>to bring up a special <a class="reference internal" href="#command-prompt">command prompt</a> window set up for the
+Visual Studio compiler. In that window, set the <a class="reference internal" href="#current-directory">current
 directory</a> to a suitable location for creating some temporary
 files and type the following command followed by the Return key:</p>
 <pre class="literal-block">
-cl /EHsc /I <em>path\to\</em><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt> <em>path</em>\<em>to</em>\example.cpp
+cl /EHsc /I <em>path\to\</em><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt> <em>path</em>\<em>to</em>\example.cpp
 </pre>
 <p>To test the result, type:</p>
 <pre class="literal-block">
@@ -321,62 +324,65 @@
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 </div>
-<div class="section">
-<h2><a class="toc-backref" href="#id32" id="errors-and-warnings" name="errors-and-warnings">4.3&nbsp;&nbsp;&nbsp;Errors and Warnings</a></h2>
+<div class="section" id="errors-and-warnings">
+<h2><a class="toc-backref" href="#id32">4.3&nbsp;&nbsp;&nbsp;Errors and Warnings</a></h2>
 <p>Don't be alarmed if you see compiler warnings originating in Boost
 headers. We try to eliminate them, but doing so isn't always
-practical.<a class="footnote-reference" href="#warnings" id="id7" name="id7"><sup>5</sup></a> <strong>Errors are another matter</strong>. If you're
+practical.<a class="footnote-reference" href="#warnings" id="id7"><sup>5</sup></a> <strong>Errors are another matter</strong>. If you're
 seeing compilation errors at this point in the tutorial, check to
-be sure you've copied the <a class="reference" href="#build-a-simple-program-using-boost">example program</a> correctly and that you've
-correctly identified the <a class="reference" href="#boost-root-directory">Boost root directory</a>.</p>
+be sure you've copied the <a class="reference internal" href="#build-a-simple-program-using-boost">example program</a> correctly and that you've
+correctly identified the <a class="reference internal" href="#boost-root-directory">Boost root directory</a>.</p>
 <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 </div>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id33" id="prepare-to-use-a-boost-library-binary" name="prepare-to-use-a-boost-library-binary">5&nbsp;&nbsp;&nbsp;Prepare to Use a Boost Library Binary</a></h1>
+<div class="section" id="prepare-to-use-a-boost-library-binary">
+<h1><a class="toc-backref" href="#id33">5&nbsp;&nbsp;&nbsp;Prepare to Use a Boost Library Binary</a></h1>
 <p>If you want to use any of the separately-compiled Boost libraries,
 you'll need to acquire library binaries.</p>
-<div class="section">
-<h2><a class="toc-backref" href="#id34" id="install-visual-studio-binaries" name="install-visual-studio-binaries">5.1&nbsp;&nbsp;&nbsp;Install Visual Studio Binaries</a></h2>
-<p>The installers will download and
+<div class="section" id="install-visual-studio-binaries">
+<h2><a class="toc-backref" href="#id34">5.1&nbsp;&nbsp;&nbsp;Install Visual Studio Binaries</a></h2>
+<p>The installers supplied by BoostPro Computing will download and
 install pre-compiled binaries into the <tt class="docutils literal"><span class="pre">lib\</span></tt> subdirectory of the
-boost root, typically <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt><tt class="docutils literal"><span class="pre">\lib\</span></tt>. If you installed
-all variants of the <a class="reference" href="../../libs/regex/index.html">Boost.Regex</a> binary, you're done with this
+boost root, typically <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt><tt class="docutils literal"><span class="pre">\lib\</span></tt>. If you installed
+all variants of the <a class="reference external" href="../../libs/regex/index.html">Boost.Regex</a> binary, you're done with this
 step. Otherwise, please run the installer again and install them
 now.</p>
-<p><a class="reference" href="#link-your-program-to-a-boost-library"><em>skip to the next step</em></a></p>
+<p><a class="reference internal" href="#link-your-program-to-a-boost-library"><em>skip to the next step</em></a></p>
 </div>
-<div class="section">
-<h2><a class="toc-backref" href="#id35" id="or-build-binaries-from-source" name="or-build-binaries-from-source">5.2&nbsp;&nbsp;&nbsp;Or, Build Binaries From Source</a></h2>
+<div class="section" id="or-build-binaries-from-source">
+<h2><a class="toc-backref" href="#id35">5.2&nbsp;&nbsp;&nbsp;Or, Build Binaries From Source</a></h2>
 <p>If you're using an earlier version of Visual C++, or a compiler
-from another vendor, you'll need to use <a class="reference" href="../../tools/build/index.html">Boost.Build</a> to create your
+from another vendor, you'll need to use <a class="reference external" href="../../tools/build/index.html">Boost.Build</a> to create your
 own binaries.</p>
 <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-<p><a class="reference" href="../../tools/build/index.html">Boost.Build</a> is a text-based system for developing, testing, and
+<p><a class="reference external" href="../../tools/build/index.html">Boost.Build</a> is a text-based system for developing, testing, and
 installing software. To use it, you'll need an executable called
 <tt class="docutils literal"><span class="pre">bjam</span></tt>.</p>
 <!-- .. _Boost.Jam documentation: Boost.Jam_ -->
-<div class="section">
-<h3><a class="toc-backref" href="#id36" id="get-bjam" name="get-bjam">5.2.1&nbsp;&nbsp;&nbsp;Get <tt class="docutils literal"><span class="pre">bjam</span></tt></a></h3>
-<p><tt class="docutils literal"><span class="pre">bjam</span></tt> is the <a class="reference" href="#command-line-tool">command-line tool</a> that drives the Boost Build
+<div class="section" id="get-bjam">
+<h3><a class="toc-backref" href="#id36">5.2.1&nbsp;&nbsp;&nbsp;Get <tt class="docutils literal"><span class="pre">bjam</span></tt></a></h3>
+<p><tt class="docutils literal"><span class="pre">bjam</span></tt> is the <a class="reference internal" href="#command-line-tool">command-line tool</a> that drives the Boost Build
 system. To build Boost binaries, you'll invoke <tt class="docutils literal"><span class="pre">bjam</span></tt> from the
 Boost root.</p>
-<p>Boost provides <a class="reference" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=72941">pre-compiled <tt class="docutils literal"><span class="pre">bjam</span></tt> executables</a> for a variety of platforms.
-Alternatively, you can build <tt class="docutils literal"><span class="pre">bjam</span></tt> yourself using <a class="reference" href="../../doc/html/jam/building.html">these
+<p>We suggest you <a class="reference external" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=72941">download a pre-built <tt class="docutils literal"><span class="pre">bjam</span></tt> executable</a> for your platform.
+Alternatively, you can build <tt class="docutils literal"><span class="pre">bjam</span></tt> yourself using <a class="reference external" href="../../doc/html/jam/building.html">these
 instructions</a>.</p>
+<p>Move the <tt class="docutils literal"><span class="pre">bjam</span></tt> executable into a directory in your PATH. You can
+see the list of directories in your PATH, separated by semicolons,
+by typing “<tt class="docutils literal"><span class="pre">PATH</span></tt>” at the command prompt.</p>
 </div>
-<div class="section">
-<h3><a class="toc-backref" href="#id37" id="identify-your-toolset" name="identify-your-toolset"><span id="toolset-name"></span><span id="toolset"></span>5.2.2&nbsp;&nbsp;&nbsp;Identify Your Toolset</a></h3>
+<div class="section" id="identify-your-toolset">
+<span id="toolset-name"></span><span id="toolset"></span><h3><a class="toc-backref" href="#id37">5.2.2&nbsp;&nbsp;&nbsp;Identify Your Toolset</a></h3>
 <p>First, find the toolset corresponding to your compiler in the
 following table.</p>
 <div class="note">
 <p class="first admonition-title">Note</p>
 <p class="last">If you previously chose a toolset for the purposes of
-<a class="reference" href="../../doc/html/jam/building.html">building bjam</a>, you should assume it won't work and instead
+<a class="reference external" href="../../doc/html/jam/building.html">building bjam</a>, you should assume it won't work and instead
 choose newly from the table below.</p>
 </div>
 <table border="1" class="docutils">
@@ -405,7 +411,7 @@
 <tr><td><tt class="docutils literal"><span class="pre">como</span></tt></td>
 <td>Comeau Computing</td>
 <td>Using this toolset may
-require <a class="reference" href="../../tools/build/index.html">configuring</a> another
+require <a class="reference external" href="../../tools/build/index.html">configuring</a> another
 toolset to act as its backend</td>
 </tr>
 <tr><td><tt class="docutils literal"><span class="pre">cw</span></tt></td>
@@ -472,45 +478,41 @@
 <tt class="docutils literal"><span class="pre">borland-5.4.3</span></tt>. <strong>On Windows, append a version
 number even if you only have one version installed</strong> (unless you
 are using the msvc or gcc toolsets, which have special version
-detection code) or <a class="reference" href="#auto-linking">auto-linking</a> will fail.</p>
+detection code) or <a class="reference internal" href="#auto-linking">auto-linking</a> will fail.</p>
 </div>
-<div class="section">
-<h3><a class="toc-backref" href="#id38" id="select-a-build-directory" name="select-a-build-directory"><span id="id12"></span><span id="build-directory"></span>5.2.3&nbsp;&nbsp;&nbsp;Select a Build Directory</a></h3>
-<p><a class="reference" href="../../tools/build/index.html">Boost.Build</a> will place all intermediate files it generates while
+<div class="section" id="select-a-build-directory">
+<span id="id12"></span><span id="build-directory"></span><h3><a class="toc-backref" href="#id38">5.2.3&nbsp;&nbsp;&nbsp;Select a Build Directory</a></h3>
+<p><a class="reference external" href="../../tools/build/index.html">Boost.Build</a> will place all intermediate files it generates while
 building into the <strong>build directory</strong>. If your Boost root
 directory is writable, this step isn't strictly necessary: by
 default Boost.Build will create a <tt class="docutils literal"><span class="pre">bin.v2/</span></tt> subdirectory for that
 purpose in your current working directory.</p>
 </div>
-<div class="section">
-<h3><a class="toc-backref" href="#id39" id="invoke-bjam" name="invoke-bjam">5.2.4&nbsp;&nbsp;&nbsp;Invoke <tt class="docutils literal"><span class="pre">bjam</span></tt></a></h3>
+<div class="section" id="invoke-bjam">
+<h3><a class="toc-backref" href="#id39">5.2.4&nbsp;&nbsp;&nbsp;Invoke <tt class="docutils literal"><span class="pre">bjam</span></tt></a></h3>
 <p>Change your current directory to the Boost root directory and
 invoke <tt class="docutils literal"><span class="pre">bjam</span></tt> as follows:</p>
 <pre class="literal-block">
-bjam <strong>--build-dir=</strong><a class="reference" href="#id12"><em>build-directory</em></a> <strong>--toolset=</strong><a class="reference" href="#toolset-name"><em>toolset-name</em></a> <em>[</em><strong>--build-type=complete</strong><em>]</em> stage
+bjam <strong>--build-dir=</strong><a class="reference internal" href="#id12"><em>build-directory</em></a> <strong>--toolset=</strong><a class="reference internal" href="#toolset-name"><em>toolset-name</em></a> <strong>--build-type=complete</strong> stage
 </pre>
-<p>For example, your session might look like this:<a class="footnote-reference" href="#continuation" id="id13" name="id13"><sup>4</sup></a></p>
+<p>For example, your session might look like this:<a class="footnote-reference" href="#continuation" id="id13"><sup>4</sup></a></p>
 <pre class="literal-block">
-C:\WINDOWS&gt; cd <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt>
-<tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt>&gt; bjam <strong>^</strong>
+C:\WINDOWS&gt; cd <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt>
+<tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt>&gt; bjam <strong>^</strong>
 More? <strong>--build-dir=</strong>&quot;C:\Documents and Settings\dave\build-boost&quot; <strong>^</strong>
-More? <strong>--toolset=</strong>msvc stage
+More? <strong>--toolset=</strong> <strong>--build-type=complete</strong> msvc stage
 </pre>
-<p>Be sure to read <a class="reference" href="#continuation">this note</a> about the appearance of <tt class="docutils literal"><span class="pre">^</span></tt>,
+<p>Be sure to read <a class="reference internal" href="#continuation">this note</a> about the appearance of <tt class="docutils literal"><span class="pre">^</span></tt>,
 <tt class="docutils literal"><span class="pre">More?</span></tt> and quotation marks (<tt class="docutils literal"><span class="pre">&quot;</span></tt>) in that line.</p>
-<p>The above example session will build static and shared non-debug multi-threaded
-variations of the libraries. To build all variations:</p>
-<pre class="literal-block">
-C:\WINDOWS&gt; cd <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt>
-<tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt>&gt; bjam <strong>^</strong>
-More? <strong>--build-dir=</strong>&quot;C:\Documents and Settings\dave\build-boost&quot; <strong>^</strong>
-More? <strong>--toolset=</strong>msvc <strong>--build-type=complete</strong> stage
-</pre>
+<p>The option “<strong>--build-type=complete</strong>” causes <tt class="docutils literal"><span class="pre">bjam</span></tt> to build
+all supported variants of the libraries. For instructions on how to
+build only specific variants, please ask on the <a class="reference external" href="http://www.boost.org/more/mailing_lists.htm#jamboost">Boost.Build mailing
+list</a>.</p>
 <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 <p>Building the special <tt class="docutils literal"><span class="pre">stage</span></tt> target places Boost
-library binaries in the <tt class="docutils literal"><span class="pre">stage</span></tt><tt class="docutils literal"><span class="pre">\</span></tt> subdirectory of your <a class="reference" href="#build-directory">build
+library binaries in the <tt class="docutils literal"><span class="pre">stage</span></tt><tt class="docutils literal"><span class="pre">\</span></tt> subdirectory of your <a class="reference internal" href="#build-directory">build
 directory</a>.</p>
 <div class="note">
 <p class="first admonition-title">Note</p>
@@ -530,10 +532,17 @@
 <li>choosing a specific build variant by adding <tt class="docutils literal"><span class="pre">release</span></tt> or
 <tt class="docutils literal"><span class="pre">debug</span></tt> to the command line.</li>
 </ul>
+<div class="note">
+<p class="first admonition-title">Note</p>
+<p class="last">Boost.Build can produce a great deal of output, which can
+make it easy to miss problems. If you want to make sure
+everything is went well, you might redirect the output into a
+file by appending “<tt class="docutils literal"><span class="pre">&gt;build.log</span> <span class="pre">2&gt;&amp;1</span></tt>” to your command line.</p>
+</div>
 </div>
 </div>
-<div class="section">
-<h2><a class="toc-backref" href="#id40" id="expected-build-output" name="expected-build-output">5.3&nbsp;&nbsp;&nbsp;Expected Build Output</a></h2>
+<div class="section" id="expected-build-output">
+<h2><a class="toc-backref" href="#id40">5.3&nbsp;&nbsp;&nbsp;Expected Build Output</a></h2>
 <p>During the process of building Boost libraries, you can expect to
 see some messages printed on the console. These may include</p>
 <ul>
@@ -556,29 +565,29 @@
 </li>
 </ul>
 </div>
-<div class="section">
-<h2><a class="toc-backref" href="#id41" id="in-case-of-build-errors" name="in-case-of-build-errors">5.4&nbsp;&nbsp;&nbsp;In Case of Build Errors</a></h2>
+<div class="section" id="in-case-of-build-errors">
+<h2><a class="toc-backref" href="#id41">5.4&nbsp;&nbsp;&nbsp;In Case of Build Errors</a></h2>
 <p>The only error messages you see when building Boost—if any—should
 be related to the IOStreams library's support of zip and bzip2
-formats as described <a class="reference" href="../../libs/iostreams/doc/installation.html">here</a>. Install the relevant development
+formats as described <a class="reference external" href="../../libs/iostreams/doc/installation.html">here</a>. Install the relevant development
 packages for libz and libbz2 if you need those features. Other
 errors when building Boost libraries are cause for concern.</p>
 <p>If it seems like the build system can't find your compiler and/or
 linker, consider setting up a <tt class="docutils literal"><span class="pre">user-config.jam</span></tt> file as described
-in the <a class="reference" href="../../tools/build/index.html">Boost.Build documentation</a>. If that isn't your problem or
+in the <a class="reference external" href="../../tools/build/index.html">Boost.Build documentation</a>. If that isn't your problem or
 the <tt class="docutils literal"><span class="pre">user-config.jam</span></tt> file doesn't work for you, please address
 questions about configuring Boost for your compiler to the
-<a class="reference" href="http://www.boost.org/more/mailing_lists.htm#jamboost">Boost.Build mailing list</a>.</p>
+<a class="reference external" href="http://www.boost.org/more/mailing_lists.htm#jamboost">Boost.Build mailing list</a>.</p>
 <span class="target" id="auto-linking"></span><!-- Copyright David Abrahams 2006. Distributed under the Boost -->
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 </div>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id42" id="link-your-program-to-a-boost-library" name="link-your-program-to-a-boost-library">6&nbsp;&nbsp;&nbsp;Link Your Program to a Boost Library</a></h1>
+<div class="section" id="link-your-program-to-a-boost-library">
+<h1><a class="toc-backref" href="#id42">6&nbsp;&nbsp;&nbsp;Link Your Program to a Boost Library</a></h1>
 <p>To demonstrate linking with a Boost binary library, we'll use the
 following simple program that extracts the subject lines from
-emails. It uses the <a class="reference" href="../../libs/regex/index.html">Boost.Regex</a> library, which has a
+emails. It uses the <a class="reference external" href="../../libs/regex/index.html">Boost.Regex</a> library, which has a
 separately-compiled binary component.</p>
 <pre class="literal-block">
 #include &lt;boost/regex.hpp&gt;
@@ -616,40 +625,40 @@
 object files; the linker selects the library with that name from
 the directories you've told it to search.</p>
 <p class="last">The GCC toolchains (Cygwin and MinGW) are notable exceptions;
-GCC users should refer to the <a class="reference" href="unix-variants.html#link-your-program-to-a-boost-library">linking instructions for Unix
+GCC users should refer to the <a class="reference external" href="unix-variants.html#link-your-program-to-a-boost-library">linking instructions for Unix
 variant OSes</a> for the appropriate command-line options to use.</p>
 </div>
-<div class="section">
-<h2><a class="toc-backref" href="#id43" id="link-from-within-the-visual-studio-ide" name="link-from-within-the-visual-studio-ide">6.1&nbsp;&nbsp;&nbsp;Link From Within the Visual Studio IDE</a></h2>
-<p>Starting with the <a class="reference" href="#vs-header-only">header-only example project</a> we created
+<div class="section" id="link-from-within-the-visual-studio-ide">
+<h2><a class="toc-backref" href="#id43">6.1&nbsp;&nbsp;&nbsp;Link From Within the Visual Studio IDE</a></h2>
+<p>Starting with the <a class="reference internal" href="#vs-header-only">header-only example project</a> we created
 earlier:</p>
 <ol class="arabic simple">
 <li>Right-click <strong>example</strong> in the <em>Solution Explorer</em> pane and
 select <em>Properties</em> from the resulting pop-up menu</li>
 <li>In <em>Configuration Properties</em> &gt; <em>Linker</em> &gt; <em>Additional Library
 Directories</em>, enter the path to the Boost binaries,
-e.g. <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt><tt class="docutils literal"><span class="pre">\lib\</span></tt>.</li>
+e.g. <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt><tt class="docutils literal"><span class="pre">\lib\</span></tt>.</li>
 <li>From the <em>Build</em> menu, select <em>Build Solution</em>.</li>
 </ol>
-<p><a class="reference" href="#test-your-program"><em>skip to the next step</em></a></p>
+<p><a class="reference internal" href="#test-your-program"><em>skip to the next step</em></a></p>
 </div>
-<div class="section">
-<h2><a class="toc-backref" href="#id44" id="or-link-from-the-command-prompt" name="or-link-from-the-command-prompt">6.2&nbsp;&nbsp;&nbsp;Or, Link From the Command Prompt</a></h2>
+<div class="section" id="or-link-from-the-command-prompt">
+<h2><a class="toc-backref" href="#id44">6.2&nbsp;&nbsp;&nbsp;Or, Link From the Command Prompt</a></h2>
 <p>For example, we can compile and link the above program from the
 Visual C++ command-line by simply adding the <strong>bold</strong> text below to
 the command line we used earlier, assuming your Boost binaries are
-in <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt><tt class="docutils literal"><span class="pre">\lib</span></tt>:</p>
+in <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt><tt class="docutils literal"><span class="pre">\lib</span></tt>:</p>
 <pre class="literal-block">
-cl /EHsc /I <em>path\to\</em><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt> example.cpp <strong>^</strong>
- <strong>/link /LIBPATH:</strong> <strong>C:\Program Files\boost\</strong><strong>boost_1_37_0</strong><strong>\lib</strong>
+cl /EHsc /I <em>path\to\</em><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt> example.cpp <strong>^</strong>
+ <strong>/link /LIBPATH:</strong> <strong>C:\Program Files\boost\</strong><strong>boost_1_38_0</strong><strong>\lib</strong>
 </pre>
 </div>
-<div class="section">
-<h2><a class="toc-backref" href="#id45" id="library-naming" name="library-naming">6.3&nbsp;&nbsp;&nbsp;Library Naming</a></h2>
+<div class="section" id="library-naming">
+<h2><a class="toc-backref" href="#id45">6.3&nbsp;&nbsp;&nbsp;Library Naming</a></h2>
 <div class="note">
 <p class="first admonition-title">Note</p>
 <p>If, like Visual C++, your compiler supports auto-linking,
-you can probably <a class="reference" href="#test-your-program"><em>skip to the next step</em></a>.</p>
+you can probably <a class="reference internal" href="#test-your-program"><em>skip to the next step</em></a>.</p>
 <blockquote class="last">
 </blockquote>
 </div>
@@ -667,11 +676,11 @@
 <dd><em>Prefix</em>: except on Microsoft Windows, every Boost library
 name begins with this string. On Windows, only ordinary static
 libraries use the <tt class="docutils literal"><span class="pre">lib</span></tt> prefix; import libraries and DLLs do
-not.<a class="footnote-reference" href="#distinct" id="id20" name="id20"><sup>6</sup></a></dd>
+not.<a class="footnote-reference" href="#distinct" id="id20"><sup>6</sup></a></dd>
 <dt><tt class="docutils literal"><span class="pre">boost_regex</span></tt></dt>
 <dd><em>Library name</em>: all boost library filenames begin with <tt class="docutils literal"><span class="pre">boost_</span></tt>.</dd>
 <dt><tt class="docutils literal"><span class="pre">-vc71</span></tt></dt>
-<dd><em>Toolset tag</em>: identifies the <a class="reference" href="#toolset">toolset</a> and version used to build
+<dd><em>Toolset tag</em>: identifies the <a class="reference internal" href="#toolset">toolset</a> and version used to build
 the binary.</dd>
 <dt><tt class="docutils literal"><span class="pre">-mt</span></tt></dt>
 <dd><em>Threading tag</em>: indicates that the library was
@@ -702,17 +711,17 @@
 <td>using debug versions of the standard and runtime support libraries.</td>
 </tr>
 <tr><td><tt class="docutils literal"><span class="pre">y</span></tt></td>
-<td>using a special <a class="reference" href="../../libs/python/doc/building.html#variants">debug build of Python</a>.</td>
+<td>using a special <a class="reference external" href="../../libs/python/doc/building.html#variants">debug build of Python</a>.</td>
 </tr>
 <tr><td><tt class="docutils literal"><span class="pre">d</span></tt></td>
-<td>building a debug version of your code.<a class="footnote-reference" href="#debug-abi" id="id21" name="id21"><sup>7</sup></a></td>
+<td>building a debug version of your code.<a class="footnote-reference" href="#debug-abi" id="id21"><sup>7</sup></a></td>
 </tr>
 <tr><td><tt class="docutils literal"><span class="pre">p</span></tt></td>
 <td>using the STLPort standard library rather than the default one supplied with
 your compiler.</td>
 </tr>
 <tr><td><tt class="docutils literal"><span class="pre">n</span></tt></td>
-<td>using STLPort's deprecated “native iostreams” feature.<a class="footnote-reference" href="#native" id="id22" name="id22"><sup>8</sup></a></td>
+<td>using STLPort's deprecated “native iostreams” feature.<a class="footnote-reference" href="#native" id="id22"><sup>8</sup></a></td>
 </tr>
 </tbody>
 </table>
@@ -733,7 +742,7 @@
 <tt class="docutils literal"><span class="pre">.a</span></tt> and <tt class="docutils literal"><span class="pre">.so</span></tt> for static libraries (archives) and shared
 libraries, respectively. On Windows, <tt class="docutils literal"><span class="pre">.dll</span></tt> indicates a shared
 library and (except for static libraries built by the <tt class="docutils literal"><span class="pre">gcc</span></tt>
-<a class="reference" href="#toolset">toolset</a>, whose names always end in <tt class="docutils literal"><span class="pre">.a</span></tt>) <tt class="docutils literal"><span class="pre">.lib</span></tt> indicates a
+<a class="reference internal" href="#toolset">toolset</a>, whose names always end in <tt class="docutils literal"><span class="pre">.a</span></tt>) <tt class="docutils literal"><span class="pre">.lib</span></tt> indicates a
 static or import library. Where supported by toolsets on unix
 variants, a full version extension is added (e.g. &quot;.so.1.34&quot;) and
 a symbolic link to the library file, named without the trailing
@@ -744,8 +753,8 @@
 <!-- Software License, Version 1.0. (See accompanying -->
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 </div>
-<div class="section">
-<h2><a class="toc-backref" href="#id46" id="test-your-program" name="test-your-program">6.4&nbsp;&nbsp;&nbsp;Test Your Program</a></h2>
+<div class="section" id="test-your-program">
+<h2><a class="toc-backref" href="#id46">6.4&nbsp;&nbsp;&nbsp;Test Your Program</a></h2>
 <p>To test our subject extraction, we'll filter the following text
 file. Copy it out of your browser and save it as <tt class="docutils literal"><span class="pre">jayne.txt</span></tt>:</p>
 <pre class="literal-block">
@@ -755,7 +764,7 @@
 ---
 See subject.
 </pre>
-<p>Now, in a <a class="reference" href="#command-prompt">command prompt</a> window, type:</p>
+<p>Now, in a <a class="reference internal" href="#command-prompt">command prompt</a> window, type:</p>
 <pre class="literal-block">
 <em>path</em>\<em>to</em>\<em>compiled</em>\example &lt; <em>path</em>\<em>to</em>\jayne.txt
 </pre>
@@ -766,23 +775,23 @@
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 </div>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id47" id="conclusion-and-further-resources" name="conclusion-and-further-resources">7&nbsp;&nbsp;&nbsp;Conclusion and Further Resources</a></h1>
+<div class="section" id="conclusion-and-further-resources">
+<h1><a class="toc-backref" href="#id47">7&nbsp;&nbsp;&nbsp;Conclusion and Further Resources</a></h1>
 <p>This concludes your introduction to Boost and to integrating it
 with your programs. As you start using Boost in earnest, there are
 surely a few additional points you'll wish we had covered. One day
 we may have a “Book 2 in the Getting Started series” that addresses
 them. Until then, we suggest you pursue the following resources.
 If you can't find what you need, or there's anything we can do to
-make this document clearer, please post it to the <a class="reference" href="http://www.boost.org/more/mailing_lists.htm#users">Boost Users'
+make this document clearer, please post it to the <a class="reference external" href="http://www.boost.org/more/mailing_lists.htm#users">Boost Users'
 mailing list</a>.</p>
 <ul class="simple">
-<li><a class="reference" href="../../tools/build/v2/index.html">Boost.Build reference manual</a></li>
-<li><a class="reference" href="../../tools/jam/index.html">Boost.Jam reference manual</a></li>
-<li><a class="reference" href="http://www.boost.org/more/mailing_lists.htm#users">Boost Users' mailing list</a></li>
-<li><a class="reference" href="http://www.boost.org/more/mailing_lists.htm#jamboost">Boost.Build mailing list</a></li>
-<li><a class="reference" href="http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Boost.Build_V2">Boost.Build Wiki</a></li>
-<li><a class="reference" href="../../libs/index.html">Index of all Boost library documentation</a></li>
+<li><a class="reference external" href="../../tools/build/v2/index.html">Boost.Build reference manual</a></li>
+<li><a class="reference external" href="../../tools/jam/index.html">Boost.Jam reference manual</a></li>
+<li><a class="reference external" href="http://www.boost.org/more/mailing_lists.htm#users">Boost Users' mailing list</a></li>
+<li><a class="reference external" href="http://www.boost.org/more/mailing_lists.htm#jamboost">Boost.Build mailing list</a></li>
+<li><a class="reference external" href="http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Boost.Build_V2">Boost.Build Wiki</a></li>
+<li><a class="reference external" href="../../libs/index.html">Index of all Boost library documentation</a></li>
 </ul>
 <div class="admonition-onward admonition">
 <p class="first admonition-title">Onward</p>
@@ -795,8 +804,8 @@
 <table class="docutils footnote" frame="void" id="zip" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id2" name="zip">[1]</a></td><td>We recommend
-downloading <a class="reference" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041"><tt class="docutils literal"><span class="pre">boost_1_37_0</span></tt><tt class="docutils literal"><span class="pre">.7z</span></tt></a> and using <a class="reference" href="http://www.7-zip.org">7-Zip</a> to decompress
+<tr><td class="label"><a class="fn-backref" href="#id2">[1]</a></td><td>We recommend
+downloading <a class="reference external" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041"><tt class="docutils literal"><span class="pre">boost_1_38_0</span></tt><tt class="docutils literal"><span class="pre">.7z</span></tt></a> and using <a class="reference external" href="http://www.7-zip.org">7-Zip</a> to decompress
 it. We no longer recommend .zip files for Boost because they are twice
 as large as the equivalent .7z files. We don't recommend using Windows'
 built-in decompression as it can be painfully slow for large archives.</td></tr>
@@ -805,7 +814,7 @@
 <table class="docutils footnote" frame="void" id="installer-src" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a name="installer-src">[2]</a></td><td>If you used the <a class="reference" href="http://www.boostpro.com/products/free">installer</a> from Boost
+<tr><td class="label">[2]</td><td>If you used the <a class="reference external" href="http://www.boostpro.com/products/free">installer</a> from Boost
 Consulting and deselected “Source and Documentation” (it's
 selected by default), you won't see the <tt class="docutils literal"><span class="pre">libs/</span></tt> subdirectory.
 That won't affect your ability to use precompiled binaries, but
@@ -815,7 +824,7 @@
 <table class="docutils footnote" frame="void" id="pch" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id5" name="pch">[3]</a></td><td>There's no problem using Boost with precompiled headers;
+<tr><td class="label"><a class="fn-backref" href="#id5">[3]</a></td><td>There's no problem using Boost with precompiled headers;
 these instructions merely avoid precompiled headers because it
 would require Visual Studio-specific changes to the source code
 used in the examples.</td></tr>
@@ -824,7 +833,7 @@
 <table class="docutils footnote" frame="void" id="continuation" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id13" name="continuation">[4]</a></td><td><p class="first">In this example, the caret character <tt class="docutils literal"><span class="pre">^</span></tt> is a
+<tr><td class="label"><a class="fn-backref" href="#id13">[4]</a></td><td><p class="first">In this example, the caret character <tt class="docutils literal"><span class="pre">^</span></tt> is a
 way of continuing the command on multiple lines, and must be the
 <strong>final character</strong> used on the line to be continued (i.e. do
 not follow it with spaces). The command prompt responds with
@@ -851,7 +860,7 @@
 <table class="docutils footnote" frame="void" id="warnings" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id7" name="warnings">[5]</a></td><td>Remember that warnings are specific to each compiler
+<tr><td class="label"><a class="fn-backref" href="#id7">[5]</a></td><td>Remember that warnings are specific to each compiler
 implementation. The developer of a given Boost library might
 not have access to your compiler. Also, some warnings are
 extremely difficult to eliminate in generic code, to the point
@@ -862,7 +871,7 @@
 <table class="docutils footnote" frame="void" id="distinct" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id20" name="distinct">[6]</a></td><td>This convention distinguishes the static version of
+<tr><td class="label"><a class="fn-backref" href="#id20">[6]</a></td><td>This convention distinguishes the static version of
 a Boost library from the import library for an
 identically-configured Boost DLL, which would otherwise have the
 same name.</td></tr>
@@ -871,7 +880,7 @@
 <table class="docutils footnote" frame="void" id="debug-abi" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id21" name="debug-abi">[7]</a></td><td>These libraries were compiled without optimization
+<tr><td class="label"><a class="fn-backref" href="#id21">[7]</a></td><td>These libraries were compiled without optimization
 or inlining, with full debug symbols enabled, and without
 <tt class="docutils literal"><span class="pre">NDEBUG</span></tt> <tt class="docutils literal"><span class="pre">#define</span></tt>d. Although it's true that sometimes
 these choices don't affect binary compatibility with other
@@ -881,7 +890,7 @@
 <table class="docutils footnote" frame="void" id="native" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id22" name="native">[8]</a></td><td>This feature of STLPort is deprecated because it's
+<tr><td class="label"><a class="fn-backref" href="#id22">[8]</a></td><td>This feature of STLPort is deprecated because it's
 impossible to make it work transparently to the user; we don't
 recommend it.</td></tr>
 </tbody>

Modified: branches/proto/v4/more/getting_started/windows.rst
==============================================================================
--- branches/proto/v4/more/getting_started/windows.rst (original)
+++ branches/proto/v4/more/getting_started/windows.rst 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -35,14 +35,16 @@
 Get Boost
 =========
 
-The easiest way to get a copy of Boost is to use an installer.
-The `Boost website version of this Getting Started guide`_ will
-have undated information on installers as they become available,
-or see `Boost downloads`_ or the installer_ provided by `BoostPro Computing`_. We especially recommend using
-an installer if you use Microsoft Visual Studio, because the installer can download and install
-precompiled library binaries, saving you the trouble of building
-them yourself. To complete this tutorial, you'll need to at least
-install the Boost.Regex_ binaries when given the option.
+The easiest way to get a copy of Boost is to use an installer. The
+`Boost website version of this Getting Started guide`_ will have
+undated information on installers as they become available, or see
+`Boost downloads`_ or the installer_ provided by `BoostPro
+Computing`_. We especially recommend using an installer if you use
+Microsoft Visual Studio, because the installer can download and
+install precompiled library binaries, saving you the trouble of
+building them yourself. To complete this tutorial, you'll need to at
+least install the Static Multithreaded variants of the Boost.Regex_
+binaries when given the option.
 
 .. _`Boost website version of this Getting Started guide`:
        http://www.boost.org/doc/libs/1_36_0/more/getting_started/index.html
@@ -186,7 +188,7 @@
 Install Visual Studio Binaries
 ------------------------------
 
-The installers will download and
+The installers supplied by BoostPro Computing will download and
 install pre-compiled binaries into the ``lib\`` subdirectory of the
 boost root, typically |default-root|\ ``\lib\``. If you installed
 all variants of the Boost.Regex_ binary, you're done with this
@@ -213,20 +215,15 @@
    C:\\WINDOWS> cd |default-root|
    |default-root|> bjam **^**
    More? **--build-dir=**\ "C:\\Documents and Settings\\dave\\build-boost" **^**
- More? **--toolset=**\ msvc stage
+ More? **--toolset=**\ **--build-type=complete** msvc stage
 
 Be sure to read `this note`__ about the appearance of ``^``,
 ``More?`` and quotation marks (``"``) in that line.
 
-The above example session will build static and shared non-debug multi-threaded
-variations of the libraries. To build all variations:
-
-.. parsed-literal::
-
- C:\\WINDOWS> cd |default-root|
- |default-root|> bjam **^**
- More? **--build-dir=**\ "C:\\Documents and Settings\\dave\\build-boost" **^**
- More? **--toolset=**\ msvc **--build-type=complete** stage
+The option “\ **--build-type=complete**\ ” causes ``bjam`` to build
+all supported variants of the libraries. For instructions on how to
+build only specific variants, please ask on the `Boost.Build mailing
+list`_.
 
 __ continuation_
 
@@ -355,6 +352,7 @@
 
 .. _`boost.zip`: `sf-download`_
 
+.. |build-type-complete| replace:: **--build-type=complete**
 
 .. include:: detail/common-footnotes.rst
 .. include:: detail/release-variables.rst

Modified: branches/proto/v4/status/explicit-failures-markup.xml
==============================================================================
--- branches/proto/v4/status/explicit-failures-markup.xml (original)
+++ branches/proto/v4/status/explicit-failures-markup.xml 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -59,13 +59,18 @@
       </mark-expected-failures>
       <mark-expected-failures>
         <test name="weighted_tail_variate_means"/>
- <toolset name="acc"/>
         <toolset name="hp_cxx-71*"/>
         <note author="Markus Schoepflin">
           This failure is caused by a timeout when compiling the test. It
           passes when the timeout value is increased.
         </note>
       </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="weighted_pot_quantile"/>
+ <test name="weighted_tail_variate_means"/>
+ <toolset name="acc"/>
+ <note author="Boris Gubenko" refid="47"/>
+ </mark-expected-failures>
     </library>
 
     <!-- minmax -->
@@ -1856,9 +1861,12 @@
     <library name="integer">
         <mark-expected-failures>
             <test name="integer_test"/>
+ <toolset name="acc"/>
             <toolset name="gcc-4.2.1_hpux_ia64"/>
             <note author="Boris Gubenko">
- When compiling and linking this test, ld takes segmentation fault.
+ When compiling with aC++, depending on system load, the compile time may exceed
+ specified timeout value. The test passes when the timeout value is increased.
+ When compiling with GCC, linker takes segmentation fault.
                 In the HP bug tracking system, this issue is tracked as QuIX ID: QXCR1000836120.
             </note>
         </mark-expected-failures>
@@ -2895,13 +2903,12 @@
             <note author="Aleksey Gurtovoy" refid="28"/>
         </mark-expected-failures>
         <mark-expected-failures>
+ <test name="int_numerics"/>
             <test name="karma_pattern*"/>
             <test name="rule"/>
+ <test name="sequence"/>
             <toolset name="acc"/>
- <note author="Boris Gubenko">
- This failure is caused by a timeout when compiling the test.
- It passes when the timeout value is increased.
- </note>
+ <note author="Boris Gubenko" refid="47"/>
         </mark-expected-failures>
         <mark-expected-failures>
             <test name="lexertl3"/>
@@ -3216,6 +3223,7 @@
        </mark-expected-failures>
        <mark-expected-failures>
           <test name="test_policy_2"/>
+ <toolset name="acc"/>
           <toolset name="gcc-mingw-3.4.5"/>
           <note author="John Maddock">
              This test takes too long to build for this compiler and times out.
@@ -6149,4 +6157,9 @@
         QuIX ID: QXCR1000804484.
     </note>
 
+ <note id="47">
+ Depending on system load, the compile time may exceed specified timeout value.
+ The test passes when the timeout value is increased.
+ </note>
+
 </explicit-failures-markup>

Modified: branches/proto/v4/tools/boostbook/xsl/type.xsl
==============================================================================
--- branches/proto/v4/tools/boostbook/xsl/type.xsl (original)
+++ branches/proto/v4/tools/boostbook/xsl/type.xsl 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -1133,29 +1133,29 @@
                       ancestor::struct|ancestor::struct-specialization|
                       ancestor::union|ancestor::union-specialization">
 
- <!-- Spacing -->
- <xsl:if
- test="not(local-name(preceding-sibling::*[position()=1])=local-name(.)) and (position() &gt; 1)">
- <xsl:text>&#10;</xsl:text>
- </xsl:if>
+ <!-- Spacing -->
+ <xsl:if
+ test="not(local-name(preceding-sibling::*[position()=1])=local-name(.)) and (position() &gt; 1)">
+ <xsl:text>&#10;</xsl:text>
+ </xsl:if>
 
- <!-- Indent -->
- <xsl:text>&#10;</xsl:text>
- <xsl:call-template name="indent">
- <xsl:with-param name="indentation" select="$indentation"/>
- </xsl:call-template>
+ <!-- Indent -->
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
 
- <xsl:if test="@specifiers">
- <xsl:call-template name="highlight-keyword">
- <xsl:with-param name="keyword" select="@specifiers"/>
- </xsl:call-template>
- <xsl:text> </xsl:text>
- </xsl:if>
+ <xsl:if test="@specifiers">
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="@specifiers"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ </xsl:if>
 
- <xsl:apply-templates select="type" mode="highlight"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>;</xsl:text>
+ <xsl:apply-templates select="type" mode="highlight"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:text>;</xsl:text>
 
       </xsl:when>
       <xsl:otherwise>
@@ -1164,6 +1164,22 @@
        </xsl:call-template>
       </xsl:otherwise>
     </xsl:choose>
+
+ <!-- If there is a <purpose>, then add it as an
+ inline comment immediately following the data
+ member definition in the synopsis -->
+ <xsl:if test="purpose">
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <xsl:call-template name="highlight-comment">
+ <xsl:with-param name="text">
+ <xsl:text>// </xsl:text>
+ <xsl:apply-templates select="purpose/*|purpose/text()"
+ mode="purpose"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
   </xsl:template>
 
   <!-- Data member reference -->

Modified: branches/proto/v4/tools/build/v2/build/generators.jam
==============================================================================
--- branches/proto/v4/tools/build/v2/build/generators.jam (original)
+++ branches/proto/v4/tools/build/v2/build/generators.jam 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -203,6 +203,7 @@
     )
     {
         self.id = $(id) ;
+ self.rule-name = $(id) ;
         self.composing = $(composing) ;
         self.source-types = $(source-types) ;
         self.target-types-and-names = $(target-types-and-names) ;
@@ -260,7 +261,17 @@
     {
         return $(self.requirements) ;
     }
-
+
+ rule set-rule-name ( rule-name )
+ {
+ self.rule-name = $(rule-name) ;
+ }
+
+ rule rule-name ( )
+ {
+ return $(self.rule-name) ;
+ }
+
     # Returns a true value if the generator can be run with the specified
     # properties.
     #
@@ -506,7 +517,7 @@
 
         # Assign an action for each target.
         local action = [ action-class ] ;
- local a = [ class.new $(action) $(sources) : $(self.id) :
+ local a = [ class.new $(action) $(sources) : $(self.rule-name) :
                     $(property-set) ] ;
 
         # Create generated target for each target type.

Modified: branches/proto/v4/tools/build/v2/doc/src/advanced.xml
==============================================================================
--- branches/proto/v4/tools/build/v2/doc/src/advanced.xml (original)
+++ branches/proto/v4/tools/build/v2/doc/src/advanced.xml 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -296,58 +296,109 @@
   <section id="bbv2.advanced.configuration">
     <title>Configuration</title>
 
- <para>The Boost.Build configuration is specified in the file
- <filename>user-config.jam</filename>. You can edit the one in the top-level
- directory of Boost.Build installation or create a copy in your home
- directory and edit that. (See <xref linkend="bbv2.reference.init.config"/>
- for the exact search paths.) The primary function of that file is to declare
- which compilers and other tools are available. The simplest syntax to
- configure a tool is:
+ <para>
+ On startup, Boost.Build searches and reads two configuration files:
+ <filename>site-config.jam</filename> and <filename>user-config.jam</filename>.
+ The first one is usually installed and maintained by system administrator, and
+ the second is for user to modify. You can edit the one in the top-level
+ directory of Boost.Build installation or create a copy in your home
+ directory and edit the copy. The following table explains where both files
+ are searched.
+ </para>
+
+ <table id="bbv2.reference.init.config">
+ <title>Search paths for configuration files</title>
+
+ <tgroup cols="3">
+ <thead>
+
+ <row>
+ <entry></entry>
+
+ <entry>site-config.jam</entry>
+
+ <entry>user-config.jam</entry>
+ </row>
+
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>Linux</entry>
+
+ <entry>
+ <simpara><code>/etc</code></simpara>
+ <simpara><code>$HOME</code></simpara>
+ <simpara><code>$BOOST_BUILD_PATH</code></simpara>
+ </entry>
+
+ <entry>
+ <simpara><code>$HOME</code></simpara>
+ <simpara><code>$BOOST_BUILD_PATH</code></simpara>
+ </entry>
+ </row>
+
+ <row>
+ <entry>Windows</entry>
+
+ <entry>
+ <simpara><code>%SystemRoot%</code></simpara>
+ <simpara><code>%HOMEDRIVE%%HOMEPATH%</code></simpara>
+ <simpara><code>%HOME%</code></simpara>
+ <simpara><code>%BOOST_BUILD_PATH%</code></simpara>
+ </entry>
+
+ <entry>
+ <simpara><code>%HOMEDRIVE%%HOMEPATH%</code></simpara>
+ <simpara><code>%HOME%</code></simpara>
+ <simpara><code>%BOOST_BUILD_PATH%</code></simpara>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <tip>
+ <para>
+ You can use the <command>--debug-configuration</command> option to
+ find which configuration files are actually loaded.
+ </para>
+ </tip>
+
+ <para>
+ Usually, <filename>user-config.jam</filename> just defines available compilers
+ and other tools (see <xref linkend="bbv2.recipies.site-config"/> for more advanced
+ usage). A tool is configured using the following syntax:
+ </para>
 
 <programlisting>
-using <replaceable>tool-name</replaceable> ;
+using <replaceable>tool-name</replaceable> : ... ;
 </programlisting>
+<para>
       The <functionname>using</functionname> rule is given a name of tool, and
       will make that tool available to Boost.Build. For example,
- <code>using gcc ;</code> will make the gcc compiler available.
+<programlisting>
+using gcc ;
+</programlisting> will make the <ulink url="http://gcc.gnu.org">GCC</ulink> compiler available.
     </para>
 
     <para>
- Since nothing but a tool name is specified, Boost.Build will pick some
- default settings. For example, it will use the <command>gcc</command>
- executable found in the <envar>PATH</envar>, or look in some known
- installation locations. In most cases, this strategy works automatically.
- In case you have several versions of a compiler, it is installed in some
- unusual location, or you need to tweak its configuration, you'll need to
- pass additional parameters to the <functionname>using</functionname> rule.
- The parameters to <functionname>using</functionname> can be different for
- each tool. You can obtain specific documentation for any tool's
- configuration parameters by invoking
-<programlisting>
-bjam --help <replaceable>tool-name</replaceable>.init
-</programlisting>
+ All the supported tools are documented in <xref linkend="bbv2.reference.tools"/>,
+ including the specific options they take. Some general notes that apply to most
+ C++ compilers are below.
     </para>
+
     <para>
- That said, for all the compiler toolsets Boost.Build supports
+ For all the C++ compiler toolsets Boost.Build supports
       out-of-the-box, the list of parameters to
       <functionname>using</functionname> is the same: <parameter
       class="function">toolset-name</parameter>, <parameter
       class="function">version</parameter>, <parameter
       class="function">invocation-command</parameter>, and <parameter
       class="function">options</parameter>.
- <!-- the previous text here was really confusing -->
- </para>
-
- <para>The <parameter class="function">version</parameter> parameter
- identifies the toolset version, in case you have several installed. It can
- have any form you like, but it is recommended that you use a numeric
- identifier like <literal>7.1</literal>.
     </para>
 
- <para>
- The <parameter class="function">invocation-command</parameter> parameter
- is the command that must be executed to run the compiler. This parameter
- can usually be omitted if the compiler executable
+ <para>If you have a single compiler, and the compiler executable
       <itemizedlist>
       <listitem><para>has its &#x201C;usual name&#x201D; and is in the
       <envar>PATH</envar>, or</para></listitem>
@@ -356,27 +407,24 @@
       <listitem><para>can be found using a global system like the Windows
       registry.</para></listitem>
       </itemizedlist>
-
- For example:
+ it can be configured by simply:</para>
 <programlisting>
-using msvc : 7.1 ;
-using gcc ;
+using <replaceable>tool-name</replaceable> ;
 </programlisting>
- If the compiler can be found in the <envar>PATH</envar> but only by a
- nonstandard name, you can just supply that name:
+ <!-- TODO: mention auto-configuration? -->
+
+ <para>If the compiler is installed in a custom directory, you should provide the
+ command that invokes the compiler, for example:</para>
 <programlisting>
 using gcc : : g++-3.2 ;
-</programlisting>
- Otherwise, it might be necessary to supply the complete path to the
- compiler executable:
-<programlisting>
 using msvc : : "Z:/Programs/Microsoft Visual Studio/vc98/bin/cl" ;
 </programlisting>
+ <para>
       Some Boost.Build toolsets will use that path to take additional actions
       required before invoking the compiler, such as calling vendor-supplied
       scripts to set up its required environment variables. When compiler
       executables for C and C++ are different, path to the C++ compiler
- executable must be specified. The &#x201C;invocation command&#x201D; can
+ executable must be specified. The command can
       be any command allowed by the operating system. For example:
 <programlisting>
 using msvc : : echo Compiling &#x26;&#x26; foo/bar/baz/cl ;
@@ -397,6 +445,7 @@
       need to explicitly specify the command.
     </para>
 
+<!-- TODO: This is not actually relevant for gcc now, and we need to rethink this
     <para>As shown above, both the <parameter
     class="function">version</parameter> and <parameter
     class="function">invocation-command</parameter> parameters are
@@ -410,167 +459,333 @@
 </programlisting>
       because the first <functionname>using</functionname> call does
       not specify a <parameter class="function">version</parameter>.
- </para>
+ </para> -->
 
- <para>The <parameter class="function">options</parameter>
- parameter is used to fine-tune the configuration. All of
- Boost.Build's standard compiler toolsets accept properties of the
- four builtin features <varname>cflags</varname>,
- <varname>cxxflags</varname>, <varname>compileflags</varname> and
- <varname>linkflags</varname> as <parameter
- class="function">options</parameter> specifying flags that will be
- always passed to the corresponding tools. Values of the
- <varname>cflags</varname> feature are passed directly to the C
- compiler, values of the <varname>cxxflags</varname> feature are
- passed directly to the C++ compiler, and values of the
- <varname>compileflags</varname> feature are passed to both. For
- example, to configure a <command>gcc</command> toolset so that it
- always generates 64-bit code you could write:
+ <para>
+ Many of toolsets have an <parameter class="function">options</parameter>
+ parameter to fine-tune the configuration. All of
+ Boost.Build's standard compiler toolsets accept four options
+ <varname>cflags</varname>, <varname>cxxflags</varname>,
+ <varname>compileflags</varname> and <varname>linkflags</varname> as <parameter
+ class="function">options</parameter> specifying flags that will be
+ always passed to the corresponding tools. Values of the
+ <varname>cflags</varname> feature are passed directly to the C
+ compiler, values of the <varname>cxxflags</varname> feature are
+ passed directly to the C++ compiler, and values of the
+ <varname>compileflags</varname> feature are passed to both. For
+ example, to configure a <command>gcc</command> toolset so that it
+ always generates 64-bit code you could write:
 <programlisting>
-using gcc : 3.4 : : &lt;compileflags&gt;-m64 &lt;linkflags&gt;-m64 ;
+ using gcc : 3.4 : : &lt;compileflags&gt;-m64 &lt;linkflags&gt;-m64 ;
 </programlisting>
     </para>
 
+ <warning>
+ <para>
+ Although the syntax used to specify toolset options is very similar
+ to syntax used to specify requirements in Jamfiles, the toolset options
+ are not the same as features. Don't try to specify a feature value
+ in toolset initialization.
+ </para>
+ </warning>
+
     </section>
 
     <section id="bbv2.advanced.invocation">
       <title>Invocation</title>
 
- <para>This section describes how invoke Boost.Build from the command line</para>
+ <para>To invoke Boost.Build, type <command>bjam</command> on the command line. Three kinds
+ of command-line tokens are accepted, in any order:</para>
+ <variablelist>
+ <varlistentry>
+ <term>options</term>
+
+ <listitem><para>Options start with either dash, or two dashes. The standard options
+ are listed below, and each project may add additional options</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>properties</term>
+
+ <listitem><para>Properties specify details of what you want to build (e.g. debug
+ or release variant). Syntactically, all command line tokens with equal sign in them
+ are considered to specify properties. In the simplest form, property looks like
+ <command><replaceable>feature</replaceable>=<replaceable>value</replaceable></command>
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>target</term>
+
+ <listitem><para>All tokens that are neither options nor properties specify
+ what targets to build. The available targets entirely depend on the project
+ you are building.</para></listitem>
+ </varlistentry>
+ </variablelist>
 
- <para>To build all targets defined in Jamfile in the current directory with default properties, run:
+ <section id="bbv2.advanced.invocation.examples">
+ <title>Examples</title>
+
+ <para>To build all targets defined in Jamfile in the current directory with default properties, run:
 <screen>
 bjam
-</screen></para>
+</screen>
+ </para>
 
- <para>To build specific targets, specify them on the command line:
+ <para>To build specific targets, specify them on the command line:
 <screen>
 bjam lib1 subproject//lib2
 </screen>
- </para>
+ </para>
 
- <para>To request a certain value for some property, add <literal>
- <replaceable>property</replaceable>=<replaceable>value</replaceable></literal> to the command line:
+ <para>To request a certain value for some property, add <literal>
+ <replaceable>property</replaceable>=<replaceable>value</replaceable></literal> to the command line:
 <screen>
 bjam toolset=gcc variant=debug optimization=space
 </screen>
- For often used features, like <literal>toolset</literal> and <literal>variant</literal> you can
- omit the feature name, so the above can be written as:
-<screen>
-bjam optimization=space
-</screen>
- </para>
+ </para>
+ </section>
 
+ <section id="bbv2.advanced.invocation.options">
+ <title>Options</title>
+
+ <para>Boost.Build recognizes the following command line options.</para>
+
+ <variablelist>
+
+ <varlistentry id="bbv2.reference.init.options.help">
+ <term><option>--help</option></term>
+ <listitem>
+ <para>Invokes the online help system. This prints general
+ information on how to use the help system with additional
+ --help* options.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--clean</option></term>
+ <listitem>
+ <para>Cleans all targets in the current directory and
+ in any subprojects. Note that unlike the <literal>clean</literal>
+ target in make, you can use <literal>--clean</literal>
+ together with target names to clean specific targets.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--clean-all</option></term>
+ <listitem>
+ <para>Cleans all targets,
+ no matter where they are defined. In particular, it will clean targets
+ in parent Jamfiles, and targets defined under other project roots.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--build-dir</option></term>
+ <listitem>
+ <para>Changes build directories for all project roots being built. When
+ this option is specified, all Jamroot files should declare project name.
+ The build directory for the project root will be computed by concatanating
+ the value of the <option>--build-dir</option> option, the project name
+ specified in Jamroot, and the build dir specified in Jamroot
+ (or <literal>bin</literal>, if none is specified).
+ </para>
+
+ <para>The option is primarily useful when building from read-only
+ media, when you can't modify Jamroot.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--version</option></term>
+ <listitem>
+ <para>Prints information on Boost.Build and Boost.Jam
+ versions.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--debug-configuration</option></term>
+ <listitem>
+ <para>Produces debug information about loading of Boost.Build
+ and toolset files.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--debug-building</option></term>
+ <listitem>
+ <para>Prints what targets are being built and with what properties.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--debug-generators</option></term>
+ <listitem>
+ <para>Produces debug output from generator search process.
+ Useful for debugging custom generators.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--ignore-config</option></term>
+ <listitem>
+ <para>Do not load <literal>site-config.jam</literal> and
+ <literal>user-config.jam</literal> configuration files.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
 
- <para>Boost.Build recognizes the following command line options.</para>
+ <section id="bbv2.advanced.invocation.properties">
+ <title>Properties</title>
 
- <variablelist>
+ <para>In the simplest case, the build is performed with a single set of properties,
+ that you specify on the command line with elements in the form
+ <command><replaceable>feature</replaceable>=<replaceable>value</replaceable></command>.
+ The complete list of features can be found in <xref linkend="bbv2.advanced.builtins.features"/>.
+ The most common features are summarized below.</para>
 
- <varlistentry>
- <term><option>--clean</option></term>
- <listitem>
- <para>Cleans all targets in the current directory and
- in any subprojects. Note that unlike the <literal>clean</literal>
- target in make, you can use <literal>--clean</literal>
- together with target names to clean specific targets.</para>
- </listitem>
- </varlistentry>
+ <table>
+ <tgroup cols="3">
+ <thead>
+
+ <row>
+ <entry>Feature</entry>
+
+ <entry>Allowed values</entry>
+
+ <entry>Notes</entry>
+ </row>
+
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>variant</entry>
+
+ <entry>debug,release</entry>
+
+ <entry></entry>
+ </row>
 
- <varlistentry>
- <term><option>--clean-all</option></term>
- <listitem>
- <para>Cleans all targets,
- no matter where they are defined. In particular, it will clean targets
- in parent Jamfiles, and targets defined under other project roots.
- </para>
- </listitem>
- </varlistentry>
+ <row>
+ <entry>link</entry>
+
+ <entry>shared,static</entry>
+
+ <entry>Determines if Boost.Build creates shared or static libraries</entry>
+ </row>
 
- <varlistentry>
- <term><option>--build-dir</option></term>
- <listitem>
- <para>Changes build directories for all project roots being built. When
- this option is specified, all Jamroot files should declare project name.
- The build directory for the project root will be computed by concatanating
- the value of the <option>--build-dir</option> option, the project name
- specified in Jamroot, and the build dir specified in Jamroot
- (or <literal>bin</literal>, if none is specified).
- </para>
-
- <para>The option is primarily useful when building from read-only
- media, when you can't modify Jamroot.
- </para>
- </listitem>
- </varlistentry>
+ <row>
+ <entry>threading</entry>
+
+ <entry>single,multi</entry>
+
+ <entry>Cause the produced binaries to be thread-safe. This requires proper support in the source code itself.</entry>
+ </row>
 
- <varlistentry>
- <term><option>--version</option></term>
- <listitem>
- <para>Prints information on Boost.Build and Boost.Jam
- versions.
- </para>
- </listitem>
- </varlistentry>
+ <row>
+ <entry>toolset</entry>
+
+ <entry>(Depends on configuration)</entry>
+
+ <entry>The C++ compiler to use. See <xref linkend="bbv2.reference.tools.compilers"/> for a detailed list.</entry>
+ </row>
 
- <varlistentry id="bbv2.reference.init.options.help">
- <term><option>--help</option></term>
- <listitem>
- <para>Invokes the online help system. This prints general
- information on how to use the help system with additional
- --help* options.
- </para>
- </listitem>
- </varlistentry>
+ <row>
+ <entry>cxxflags</entry>
+
+ <entry>(Arbitrary string)</entry>
+
+ <entry>Custom options to pass to the C++ compiler.</entry>
+ </row>
 
- <varlistentry>
- <term><option>--debug-configuration</option></term>
- <listitem>
- <para>Produces debug information about loading of Boost.Build
- and toolset files.</para>
- </listitem>
- </varlistentry>
+ <row>
+ <entry>cflags</entry>
+
+ <entry>(Arbitrary string)</entry>
+
+ <entry>Custom options to pass to the C compiler.</entry>
+ </row>
 
- <varlistentry>
- <term><option>--debug-building</option></term>
- <listitem>
- <para>Prints what targets are being built and with what properties.
- </para>
- </listitem>
- </varlistentry>
+ <row>
+ <entry>includes</entry>
+
+ <entry>(Arbitrary string)</entry>
+
+ <entry>Additional include paths for C and C++ compilers.</entry>
+ </row>
 
- <varlistentry>
- <term><option>--debug-generators</option></term>
- <listitem>
- <para>Produces debug output from generator search process.
- Useful for debugging custom generators.
- </para>
- </listitem>
- </varlistentry>
+ <row>
+ <entry>define</entry>
+
+ <entry>(Arbitrary string)</entry>
+
+ <entry>Additional macro definitions for C and C++ compilers.</entry>
+ </row>
 
- <varlistentry>
- <term><option>--ignore-config</option></term>
- <listitem>
- <para>Do not load <literal>site-config.jam</literal> and
- <literal>user-config.jam</literal> configuration files.
- </para>
- </listitem>
- </varlistentry>
+ <row>
+ <entry>runtime-link</entry>
+
+ <entry>shared,static</entry>
+
+ <entry>Determines if shared or static version of C and C++ runtimes should be used.</entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
 
- <varlistentry>
- <term><option>--debug</option></term>
- <listitem>
- <para>Enables internal checks.
- </para>
- </listitem>
- </varlistentry>
+ If you have more than one version of a given C++ toolset (e.g. configured in
+ <filename>user-config.jam</filename>, or autodetected, as happens with msvc), you can
+ request the specific version by passing
+ <code><replaceable>toolset</replaceable>-<replaceable>version</replaceable></code> as
+ the value of the <code>toolset</code> feature, for example <code>toolset=msvc-8.0</code>.
 
- </variablelist>
 
+ <para>
+ If a feature has a fixed set of values it can be specified more than
+ once on the command line. <!-- define 'base' and link to it -->
+ In which case, everything will be built several times --
+ once for each specified value of a feature. For example, if you use
+ </para>
+<screen>
+bjam link=static link=shared threading=single threading=multi
+</screen>
+ <para>
+ Then a total of 4 builds will be performed. For convenience,
+ instead of specifying all requested values of a feature in separate command line elements,
+ you can separate the values with commands, for example:
+ </para>
+<screen>
+bjam link=static,shared threading=single,multi
+</screen>
+ <para>
+ The comma has special meaning only if the feature has a fixed set of values, so
+ </para>
+<screen>
+bjam include=static,shared
+</screen>
+ <para>is not treated specially.</para>
+
+ </section>
 
- <para>For complete specification of command line syntax, see
- <xref linkend="bbv2.reference.init.args"/>
- </para>
+ <section id="bbv2.advanced.invocation.targets">
+ <title>Targets</title>
 
+ <para>All command line elements that are neither options nor properties are the names of the
+ targets to build. See <xref linkend="bbv2.reference.ids"/>. If no target is specified,
+ the project in the current directory is built.</para>
+ </section>
 
     </section>
 

Modified: branches/proto/v4/tools/build/v2/doc/src/reference.xml
==============================================================================
--- branches/proto/v4/tools/build/v2/doc/src/reference.xml (original)
+++ branches/proto/v4/tools/build/v2/doc/src/reference.xml 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -9,7 +9,7 @@
 
 <chapter id="bbv2.reference"
          xmlns:xi="http://www.w3.org/2001/XInclude">
- <title>Detailed reference</title>
+ <title>Reference</title>
 
   <section id="bbv2.reference.general">
     <title>General information</title>
@@ -49,186 +49,9 @@
         automatically find the build system.</para>
 
       <para>The default <filename>bootstrap.jam</filename>, after loading some standard
- definitions, loads two files, which can be provided/customised by
- user: <filename>site-config.jam</filename> and <filename>user-config.jam</filename>.</para>
-
- <para>Locations where those files are searched are summarized below:</para>
-
- <table id="bbv2.reference.init.config">
- <title>Search paths for configuration files</title>
-
- <tgroup cols="3">
- <thead>
-
- <row>
- <entry></entry>
-
- <entry>site-config.jam</entry>
-
- <entry>user-config.jam</entry>
- </row>
-
- </thead>
- <tbody>
-
- <row>
- <entry>Linux</entry>
-
- <entry>
- <simpara><code>/etc</code></simpara>
- <simpara><code>$HOME</code></simpara>
- <simpara><code>$BOOST_BUILD_PATH</code></simpara>
- </entry>
-
- <entry>
- <simpara><code>$HOME</code></simpara>
- <simpara><code>$BOOST_BUILD_PATH</code></simpara>
- </entry>
- </row>
-
- <row>
- <entry>Windows</entry>
-
- <entry>
- <simpara><code>%SystemRoot%</code></simpara>
- <simpara><code>%HOMEDRIVE%%HOMEPATH%</code></simpara>
- <simpara><code>%HOME%</code></simpara>
- <simpara><code>%BOOST_BUILD_PATH%</code></simpara>
- </entry>
-
- <entry>
- <simpara><code>%HOMEDRIVE%%HOMEPATH%</code></simpara>
- <simpara><code>%HOME%</code></simpara>
- <simpara><code>%BOOST_BUILD_PATH%</code></simpara>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>
- Boost.Build comes with default versions of those files,
- <!-- Where are those files installed? The user can't use them as templates unless she can find them -->
- which can serve as templates for customized versions.
- </para>
+ definitions, loads two <filename>site-config.jam</filename> and <filename>user-config.jam</filename>.</para>
 
     </section>
- <section id="bbv2.reference.commandline">
- <title>Command line</title>
-
- <para>The command line may contain:</para>
-
- <itemizedlist>
- <listitem><simpara>Jam options,</simpara></listitem>
-
- <listitem><simpara>Boost.Build <link linkend=
- "bbv2.reference.init.options">options</link>,</simpara></listitem>
-
- <listitem><simpara>Command line arguments</simpara></listitem>
- </itemizedlist>
-
- <section id="bbv2.reference.init.args">
- <title>Command line arguments</title>
-
- <para>
- Command line arguments specify targets and build
- request using the following rules.
- </para>
-
- <itemizedlist>
- <listitem>
- <simpara>
- An argument that does not contain slashes or the <code>=</code>
- symbol is either a value of an implicit feature or of a target to
- be built. It is taken to be value of a feature if an appropriate
- feature exists. Otherwise, it is considered a <link linkend=
- "bbv2.reference.ids">target id</link>. Building the
- special target name “clean” has the same effect as
- using the <code>--clean</code> option.
- </simpara>
- </listitem>
-
- <listitem>
- <para>
- An argument containing either slashes or the <code>=</code> symbol
- specifies a number of build request elements (see <xref linkend=
- "bbv2.advanced.build_request"/>). In its simplest form, it is just
- a set of properties, separated by slashes, which become a single
- build request element, for example:
-
-<programlisting>
-borland/runtime-link=static
-</programlisting>
-
- A more complex form can be used to save typing. For example,
- instead of
-
-<programlisting>
-borland/runtime-link=static borland/runtime-link=dynamic
-</programlisting>
-
- one can use
-
-<programlisting>
-borland/runtime-link=static,dynamic
-</programlisting>
-
- Exactly, the conversion from argument to build request
- elements is performed by (1) splitting the argument at each slash,
- (2) converting each split part into a set of properties and (3)
- taking all possible combinations
- <!-- Be specific. Do you mean the cross-product? -->
- of the property sets. Each split
- part should have either the form
-
-<programlisting>
-<emphasis>feature-name</emphasis>=<emphasis>feature-value1</emphasis>[","<emphasis>feature-valueN</emphasis>]*
-</programlisting>
-
- or, in case of implicit features
-
-<programlisting>
-<emphasis>feature-value1</emphasis>[","<emphasis>feature-valueN</emphasis>;]*
-</programlisting>
-
- will be converted into the property set
-
-<programlisting>
-&lt;feature-name&gt;feature-value1 .... &lt;feature-name&gt;feature-valueN
-</programlisting>
-
-<!-- There's absolutely no explanation of how arguments are combined. Fix that. -->
-
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- For example, the command line
-
-<programlisting>
-target1 debug gcc/runtime-link=dynamic,static
-</programlisting>
-
- would cause target called <literal>target1</literal> to be rebuilt in
- debug mode, except that for gcc, both dynamically and statically
- linked binaries would be created.
- </para>
-
- </section>
- <section id="bbv2.reference.init.options">
- <title>Command line options</title>
-
- <para>All of the Boost.Build options start with the "--" prefix.
- They are described in the following table.</para>
-
- <para>FIXME: That table has moved into "User documentation" section
- and there is nothing we can add here. Remove this part?</para>
-
-
- </section>
- </section>
-
 
   </section>
 
@@ -644,6 +467,17 @@
         </listitem>
       </varlistentry>
 
+ <varlistentry>
+ <term><literal>include</literal></term>
+
+ <listitem>
+ <simpara>
+ Specifies an additional include path that is to be passed to C and
+ C++ compilers.
+ </simpara>
+ </listitem>
+ </varlistentry>
+
       <varlistentry><term><literal>warnings</literal></term>
         <listitem>
           <simpara>
@@ -723,6 +557,33 @@
         </listitem>
       </varlistentry>
 
+ <varlistentry><term><literal>target-os</literal></term>
+ <listitem>
+
+ <anchor id="bbv2.reference.features.target-os"/>
+
+ <para>
+ The operating system for which the code is to be generated. The
+ compiler you used should be the compiler for that operating
+ system. This option causes Boost.Build to use naming conventions
+ suitable for that operating system, and adjust build process
+ accordingly. For example, with gcc, it controls if import
+ libraries are produced for shared libraries or not.
+ </para>
+
+ <para>The complete list of possible values for this feature is:
+ amiga, aix, bsd, cygwin, darwin, dos, emx, freebsd, hpux, iphone,
+ linux, netbsd, openbsd, osf, qnx, qnxnto, sgi, solaris, sun,
+ sunos, svr4, sysv, ultrix, unix, unixware, windows.
+ </para>
+
+ <para>See <xref linkend="bbv2.tasks.crosscompile"/> for details of
+ crosscompilation</para>
+
+ </listitem>
+ </varlistentry>
+
+
       <varlistentry><term><literal>architecture</literal></term>
         <listitem>
 
@@ -805,15 +666,19 @@
 
       <para>Before using any tool, you must declare your intention, and possibly
       specify additional information about the tool's configuration. This is
- done with the <code>using</code> rule, for example:
+ done by calling the <code>using</code> rule, typically in your
+ <filename>user-config.jam</filename>, for example:</para>
 <programlisting>
 using gcc ;
 </programlisting>
- additional parameters can be passed just like for other rules, for example:
+ <para>additional parameters can be passed just like for other rules, for example:</para>
 <programlisting>
 using gcc : 4.0 : g++-4.0 ;
 </programlisting>
- The options that can be passed to each tool will be documented in the
+
+
+
+ <para>The options that can be passed to each tool are documented in the
       subsequent sections.</para>
 
       <section id="bbv2.reference.tools.compilers">
@@ -821,7 +686,10 @@
         <title>C++ Compilers</title>
 
         <para>This section lists all Boost.Build modules that support C++
- compilers and documents how each one can be initialized.</para>
+ compilers and documents how each one can be initialized. The name
+ of support module for compiler is also the value for
+ the <code>toolset</code> feature that can be used to explicitly
+ request that compiler. </para>
 
         <section id="bbv2.reference.tools.compiler.gcc">
 
@@ -1024,7 +892,7 @@
             </varlistentry>
         </variablelist>
 
- <section>
+ <section id="v2.reference.tools.compiler.msvc.64">
             <title>64-bit support</title>
 
             <indexterm><primary>64-bit compilation</primary>
@@ -1310,7 +1178,7 @@
           &using_repeation;
 
           <para>If the command is not specified, Boost.Build will search for
- a binary named <command>como</command> in
+ a binary named <command>dmc</command> in
           <envar>PATH</envar>.</para>
 
           &option_list_intro;

Modified: branches/proto/v4/tools/build/v2/doc/src/standalone.xml
==============================================================================
--- branches/proto/v4/tools/build/v2/doc/src/standalone.xml (original)
+++ branches/proto/v4/tools/build/v2/doc/src/standalone.xml 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -13,8 +13,8 @@
   <xi:include href="tutorial.xml"/>
   <xi:include href="advanced.xml"/>
   <xi:include href="tasks.xml"/>
- <xi:include href="extending.xml"/>
   <xi:include href="reference.xml"/>
+ <xi:include href="extending.xml"/>
   <xi:include href="faq.xml"/>
 
   <!-- Appendicies -->

Modified: branches/proto/v4/tools/build/v2/doc/src/tasks.xml
==============================================================================
--- branches/proto/v4/tools/build/v2/doc/src/tasks.xml (original)
+++ branches/proto/v4/tools/build/v2/doc/src/tasks.xml 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -712,11 +712,59 @@
       as potential dependencies.
     </para>
   </section>
+
+ <section id="bbv2.tasks.crosscompile">
+ <title>Cross-compilation</title>
+
+ <indexterm><primary>cross compilation</primary></indexterm>
+
+ <para>Boost.Build supports cross compilation with the gcc and msvc
+ toolsets.</para>
+
+ <para>
+ When using gcc, you first need to specify your cross compiler
+ in <filename>user-config.jam</filename> (see <xref linkend="bbv2.advanced.configuration"/>),
+ for example:</para>
+<programlisting>
+using gcc : arm : arm-none-linux-gnueabi-g++ ;
+</programlisting>
+ <para>
+ After that, if the host and target os are the same, for example Linux, you can
+ just request that this compiler version to be used:
+ </para>
+<screen>
+bjam toolset=gcc-arm
+</screen>
+
+ <para>
+ If you want to target different operating system from the host, you need
+ to additionally specify the value for the <code>target-os</code> feature, for
+ example:
+ </para>
+<screen>
+# On windows box
+bjam toolset=gcc-arm <emphasis role="bold">target-os=linux</emphasis>
+# On Linux box
+bjam toolset=gcc-mingw <emphasis role="bold">target-os=windows</emphasis>
+</screen>
+ <para>
+ For the complete list of allowed opeating system names, please see the documentation for
+ <link linkend="bbv2.reference.features.target-os">target-os feature</link>.
+ </para>
+
+ <para>
+ When using the msvc compiler, it's only possible to cross-compiler to a 64-bit system
+ on a 32-bit host. Please see <xref linkend="v2.reference.tools.compiler.msvc.64"/> for
+ details.
+ </para>
+
+ </section>
+
 </chapter>
 
 <!--
      Local Variables:
- mode: xml
+ mode: nxml
      sgml-indent-data: t
      sgml-parent-document: ("userman.xml" "chapter")
      sgml-set-face: t

Modified: branches/proto/v4/tools/build/v2/doc/src/userman.xml
==============================================================================
--- branches/proto/v4/tools/build/v2/doc/src/userman.xml (original)
+++ branches/proto/v4/tools/build/v2/doc/src/userman.xml 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -13,8 +13,8 @@
   <xi:include href="tutorial.xml"/>
   <xi:include href="advanced.xml"/>
   <xi:include href="tasks.xml"/>
- <xi:include href="extending.xml"/>
   <xi:include href="reference.xml"/>
+ <xi:include href="extending.xml"/>
   <xi:include href="faq.xml"/>
 
   <!-- Appendicies -->

Deleted: branches/proto/v4/tools/build/v2/doc/userman.pdf
==============================================================================
Binary file. No diff available.

Modified: branches/proto/v4/tools/build/v2/example/python_modules/python_helpers.jam
==============================================================================
--- branches/proto/v4/tools/build/v2/example/python_modules/python_helpers.jam (original)
+++ branches/proto/v4/tools/build/v2/example/python_modules/python_helpers.jam 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -2,6 +2,11 @@
 # Distributed under the Boost Software License, Version 1.0.
 # (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
 
+import modules ;
+local here = [ modules.binding $(__name__) ] ;
+here = $(here:D) ;
+modules.poke : EXTRA_PYTHONPATH : $(here) ;
+
 # Import the Python rules to Boost.Build
 PYTHON_IMPORT_RULE python_helpers : test1 : python_helpers : test1 ;
 PYTHON_IMPORT_RULE python_helpers : test2 : python_helpers : test2 ;

Modified: branches/proto/v4/tools/build/v2/test/test_all.py
==============================================================================
--- branches/proto/v4/tools/build/v2/test/test_all.py (original)
+++ branches/proto/v4/tools/build/v2/test/test_all.py 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -109,6 +109,7 @@
           "conditionals3",
           "conditionals_multiple",
           "configuration",
+ "copy_time",
           "custom_generator",
           "default_build",
           "default_features",

Modified: branches/proto/v4/tools/build/v2/tools/common.jam
==============================================================================
--- branches/proto/v4/tools/build/v2/tools/common.jam (original)
+++ branches/proto/v4/tools/build/v2/tools/common.jam 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -466,9 +466,14 @@
 if [ os.name ] = NT
 {
     RM = del /f /q ;
- CP = copy ;
+ CP = copy /b ;
     IGNORE = "2>nul >nul & setlocal" ;
     LN ?= $(CP) ;
+ # Ugly hack to convince copy to set the timestamp of the
+ # destination to the current time by concatenating the
+ # source with a nonexistent file. Note that this requires
+ # /b (binary) as the default when concatenating files is /a (ascii).
+ WINDOWS-CP-HACK = "+ this-file-does-not-exist-A698EE7806899E69" ;
 }
 else
 {
@@ -681,7 +686,7 @@
 
 actions copy
 {
- $(CP) "$(>)" "$(<)"
+ $(CP) "$(>)" $(WINDOWS-CP-HACK) "$(<)"
 }
 
 

Modified: branches/proto/v4/tools/build/v2/tools/darwin.jam
==============================================================================
--- branches/proto/v4/tools/build/v2/tools/darwin.jam (original)
+++ branches/proto/v4/tools/build/v2/tools/darwin.jam 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -45,7 +45,7 @@
 
 feature.extend toolset : darwin ;
 import gcc ;
-toolset.inherit-generators darwin : gcc ;
+toolset.inherit-generators darwin : gcc : gcc.mingw.link gcc.mingw.link.dll ;
 
 generators.override darwin.prebuilt : builtin.prebuilt ;
 generators.override darwin.searched-lib-generator : searched-lib-generator ;
@@ -258,6 +258,7 @@
 rule compile.m
 {
     LANG on $(<) = "-x objective-c" ;
+ gcc.setup-fpic $(targets) : $(sources) : $(properties) ;
 }
 
 actions compile.m
@@ -265,9 +266,10 @@
     "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
 }
 
-rule compile.mm
+rule compile.mm ( targets * : sources * : properties * )
 {
     LANG on $(<) = "-x objective-c++" ;
+ gcc.setup-fpic $(targets) : $(sources) : $(properties) ;
 }
 
 actions compile.mm

Modified: branches/proto/v4/tools/build/v2/tools/gcc.jam
==============================================================================
--- branches/proto/v4/tools/build/v2/tools/gcc.jam (original)
+++ branches/proto/v4/tools/build/v2/tools/gcc.jam 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -34,6 +34,7 @@
 
 
 feature.extend toolset : gcc ;
+# feature.subfeature toolset gcc : flavor : : optional ;
 
 toolset.inherit-generators gcc : unix : unix.link unix.link.dll ;
 toolset.inherit-flags gcc : unix ;
@@ -130,6 +131,7 @@
         condition = [ common.check-init-parameters gcc
             : version $(version)
             ] ;
+ condition = $(condition) ; #/<toolset-gcc:flavor> ;
     }
 
     common.handle-options gcc : $(condition) : $(command) : $(options) ;
@@ -360,6 +362,7 @@
 
 rule compile.c++.pch ( targets * : sources * : properties * )
 {
+ setup-threading $(targets) : $(sources) : $(properties) ;
     setup-fpic $(targets) : $(sources) : $(properties) ;
 }
 
@@ -370,6 +373,7 @@
 
 rule compile.c.pch ( targets * : sources * : properties * )
 {
+ setup-threading $(targets) : $(sources) : $(properties) ;
     setup-fpic $(targets) : $(sources) : $(properties) ;
 }
 
@@ -500,34 +504,38 @@
     }
 }
 
-.IMPLIB-COMMAND = ;
-if [ os.on-windows ]
-{
- .IMPLIB-COMMAND = "-Wl,--out-implib," ;
- generators.register
- [ new gcc-linking-generator gcc.link
- : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
- : EXE
- : <toolset>gcc ] ;
- generators.register
- [ new gcc-linking-generator gcc.link.dll
- : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
- : IMPORT_LIB SHARED_LIB
- : <toolset>gcc ] ;
-}
-else
-{
- generators.register
- [ new gcc-linking-generator gcc.link
- : LIB OBJ
- : EXE
- : <toolset>gcc ] ;
- generators.register
- [ new gcc-linking-generator gcc.link.dll
- : LIB OBJ
- : SHARED_LIB
- : <toolset>gcc ] ;
-}
+# The set of permissible input types is different on mingw.
+# So, define two sets of generators, with mingw generators
+# selected when target-os=windows.
+
+local g ;
+g = [ new gcc-linking-generator gcc.mingw.link
+ : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
+ : EXE
+ : <toolset>gcc <target-os>windows ] ;
+$(g).set-rule-name gcc.link ;
+generators.register $(g) ;
+
+g = [ new gcc-linking-generator gcc.mingw.link.dll
+ : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
+ : IMPORT_LIB SHARED_LIB
+ : <toolset>gcc <target-os>windows ] ;
+$(g).set-rule-name gcc.link.dll ;
+generators.register $(g) ;
+
+generators.register
+ [ new gcc-linking-generator gcc.link
+ : LIB OBJ
+ : EXE
+ : <toolset>gcc ] ;
+generators.register
+ [ new gcc-linking-generator gcc.link.dll
+ : LIB OBJ
+ : SHARED_LIB
+ : <toolset>gcc ] ;
+
+generators.override gcc.mingw.link : gcc.link ;
+generators.override gcc.mingw.link.dll : gcc.link.dll ;
 
 # Declare flags for linking.
 # First, the common flags.
@@ -539,6 +547,8 @@
 toolset.flags gcc.link FINDLIBS-SA <find-shared-library> ;
 toolset.flags gcc.link LIBRARIES <library-file> ;
 
+toolset.flags gcc.link.dll .IMPLIB-COMMAND <target-os>windows : "-Wl,--out-implib," ;
+
 # For <runtime-link>static we made sure there are no dynamic libraries in the
 # link. On HP-UX not all system libraries exist as archived libraries (for
 # example, there is no libunwind.a), so, on this platform, the -static option

Modified: branches/proto/v4/tools/build/v2/tools/intel-darwin.jam
==============================================================================
--- branches/proto/v4/tools/build/v2/tools/intel-darwin.jam (original)
+++ branches/proto/v4/tools/build/v2/tools/intel-darwin.jam 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -17,7 +17,7 @@
 feature.extend-subfeature toolset intel : platform : darwin ;
 
 toolset.inherit-generators intel-darwin
- <toolset>intel <toolset-intel:platform>darwin : gcc ;
+ <toolset>intel <toolset-intel:platform>darwin : gcc : gcc.mingw.link gcc.mingw.link.dll ;
 
 generators.override intel-darwin.prebuilt : builtin.lib-generator ;
 generators.override intel-darwin.prebuilt : builtin.prebuilt ;

Modified: branches/proto/v4/tools/build/v2/tools/intel-linux.jam
==============================================================================
--- branches/proto/v4/tools/build/v2/tools/intel-linux.jam (original)
+++ branches/proto/v4/tools/build/v2/tools/intel-linux.jam 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -17,7 +17,7 @@
 feature.extend-subfeature toolset intel : platform : linux ;
 
 toolset.inherit-generators intel-linux
- <toolset>intel <toolset-intel:platform>linux : gcc ;
+ <toolset>intel <toolset-intel:platform>linux : gcc : gcc.mingw.link gcc.mingw.link.dll ;
 generators.override intel-linux.prebuilt : builtin.lib-generator ;
 generators.override intel-linux.prebuilt : builtin.prebuilt ;
 generators.override intel-linux.searched-lib-generator : searched-lib-generator ;
@@ -89,7 +89,7 @@
     "$(CONFIG_COMMAND)" -c -xc++ $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
 }
 
-rule compile.c++ ( targets * : sources * : properties * )
+rule compile.c ( targets * : sources * : properties * )
 {
     gcc.setup-fpic $(targets) : $(sources) : $(properties) ;
 }

Modified: branches/proto/v4/tools/build/v2/tools/intel-win.jam
==============================================================================
--- branches/proto/v4/tools/build/v2/tools/intel-win.jam (original)
+++ branches/proto/v4/tools/build/v2/tools/intel-win.jam 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -12,7 +12,8 @@
 import msvc ;
 import os ;
 import toolset ;
-
+import generators ;
+import type ;
 
 feature.extend-subfeature toolset intel : platform : win ;
 
@@ -20,6 +21,14 @@
 toolset.inherit-flags intel-win : msvc ;
 toolset.inherit-rules intel-win : msvc ;
 
+# Override default do-nothing generators.
+generators.override intel-win.compile.c.pch : pch.default-c-pch-generator ;
+generators.override intel-win.compile.c++.pch : pch.default-cpp-pch-generator ;
+
+toolset.flags intel-win.compile PCH_SOURCE <pch>on : <pch-source> ;
+
+type.set-generated-target-suffix PCH : <toolset>intel <toolset-intel:platform>win : pchi ;
+
 toolset.add-requirements <toolset>intel-win,<runtime-link>shared:<threading>multi ;
 
 # Initializes the intel toolset for windows
@@ -159,3 +168,38 @@
 }
 
 toolset.flags intel-win.link LIBRARY_OPTION <toolset>intel : "" ;
+
+.escaped-double-quote = "\"" ;
+# Unline msvc, intel-win does not support the -Yl option, so this is a version
+# of msvc rules without -Yl
+# Also note that intel compiler has totally broken handling of the -Fp option --
+# it always adds 'i' to the provided extension. So, we have to copy the actual
+# file produced to the one that Boost.Build expects so that dependency analysis
+# works.
+actions compile-c-c++-pch
+{
+ $(.CC) @"@($(<[1]:W).rsp:E="$(>[2]:W)" -Fo"$(<[2]:W)" -Yc"$(>[1]:D=)" -Fp"$(<[1]:S=.pch:W)" $(CC_RSPLINE))" "@($(<[1]:W).cpp:E=#include $(.escaped-double-quote)$(>[1]:D=)$(.escaped-double-quote))" $(.CC.FILTER)
+}
+
+actions compile-c-c++-pch-s
+{
+ $(.CC) @"@($(<[1]:W).rsp:E="$(>[2]:W)" -Fo"$(<[2]:W)" -Yc"$(>[1]:D=)" -Fp"$(<[1]:S=.pch:W)" $(CC_RSPLINE))" $(.CC.FILTER)
+}
+
+# We also need to mess with pch vs. pchi here.
+actions compile-c-c++
+{
+ $(.CC) @"@($(<[1]:W).rsp:E="$(>[1]:W)" -Fo"$(<[1]:W)" -Yu"$(>[3]:D=)" -Fp"$(>[2]:S=.pch:W)" $(CC_RSPLINE))" $(.CC.FILTER)
+}
+
+
+# The compile.c.pch rule that is actually called from the generator for PCH
+# is imported by toolset.inherit-rules, but it's not localized, so it will
+# use compile-c-c++-pch* defined in msvc. Re-import it localized.
+IMPORT msvc : compile.c.pch : intel-win : intel-win.compile.c.pch : localized ;
+IMPORT msvc : compile.c++.pch : intel-win : intel-win.compile.c++.pch : localized ;
+IMPORT msvc : compile.c : intel-win : intel-win.compile.c : localized ;
+IMPORT msvc : compile.c++ : intel-win : intel-win.compile.c++ : localized ;
+# This one is used by compile.c++.pch. Of course, this is a mess, but Python port
+# will clean this up.
+IMPORT msvc : get-rspline : intel-win : get-rspline ;

Modified: branches/proto/v4/tools/build/v2/tools/msvc.jam
==============================================================================
--- branches/proto/v4/tools/build/v2/tools/msvc.jam (original)
+++ branches/proto/v4/tools/build/v2/tools/msvc.jam 2008-11-05 19:15:47 EST (Wed, 05 Nov 2008)
@@ -352,6 +352,7 @@
 # The global .escaped-double-quote variable is used to avoid messing up Emacs
 # syntax highlighting in the messy N-quoted code below.
 #
+# If you change this rule, make corresponding change in intel-win.jam
 actions compile-c-c++-pch
 {
     $(.CC) @"@($(<[1]:W).rsp:E="$(>[2]:W)" -Fo"$(<[2]:W)" -Yc"$(>[1]:D=)" -Yl"__bjam_pch_symbol_$(>[1]:D=)" -Fp"$(<[1]:W)" $(CC_RSPLINE))" "@($(<[1]:W).cpp:E=#include $(.escaped-double-quote)$(>[1]:D=)$(.escaped-double-quote))" $(.CC.FILTER)
@@ -362,6 +363,7 @@
 # built source file for compiling the precompiled headers is expected to be
 # given as one of the source parameters.
 #
+# If you change this rule, make corresponding change in intel-win.jam
 actions compile-c-c++-pch-s
 {
     $(.CC) @"@($(<[1]:W).rsp:E="$(>[2]:W)" -Fo"$(<[2]:W)" -Yc"$(>[1]:D=)" -Yl"__bjam_pch_symbol_$(>[1]:D=)" -Fp"$(<[1]:W)" $(CC_RSPLINE))" $(.CC.FILTER)
@@ -943,7 +945,7 @@
 }
 
 
-local rule get-rspline ( target : lang-opt )
+rule get-rspline ( target : lang-opt )
 {
     CC_RSPLINE on $(target) = [ on $(target) return $(lang-opt) -U$(UNDEFS)
         $(CFLAGS) $(C++FLAGS) $(OPTIONS) -c $(.nl)-D$(DEFINES)


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk