mirror of
https://github.com/boostorg/iterator.git
synced 2025-07-29 12:27:33 +02:00
Merged revisions 38539-40814 via svnmerge from
https://svn.boost.org/svn/boost/trunk ........ r38547 | djowel | 2007-08-08 19:07:16 -0700 (Wed, 08 Aug 2007) | 1 line fix line endings ........ r38548 | djowel | 2007-08-08 19:10:29 -0700 (Wed, 08 Aug 2007) | 1 line fixed error (wrong include file assign_key.hh) ........ r38549 | djowel | 2007-08-09 00:23:00 -0700 (Thu, 09 Aug 2007) | 1 line added fusion to libraries list. ........ r38551 | johnmaddock | 2007-08-09 02:26:56 -0700 (Thu, 09 Aug 2007) | 1 line Updated. ........ r38553 | bemandawes | 2007-08-09 07:56:05 -0700 (Thu, 09 Aug 2007) | 1 line Get boost.png from web site ........ r38555 | johnmaddock | 2007-08-09 10:13:18 -0700 (Thu, 09 Aug 2007) | 1 line Added another entry ........ r38558 | speedsnail | 2007-08-09 18:22:59 -0700 (Thu, 09 Aug 2007) | 1 line made the feature "format" propagated ........ r38559 | djowel | 2007-08-09 18:45:05 -0700 (Thu, 09 Aug 2007) | 1 line push/pop pragma warning ........ r38560 | djowel | 2007-08-09 18:45:21 -0700 (Thu, 09 Aug 2007) | 1 line push/pop pragma warning ........ r38561 | johnmaddock | 2007-08-10 03:10:05 -0700 (Fri, 10 Aug 2007) | 1 line Added two more entries. ........ r38562 | johnmaddock | 2007-08-10 03:11:03 -0700 (Fri, 10 Aug 2007) | 1 line Tidied up msvc-warning suppression code. ........ r38563 | (no author) | 2007-08-10 03:32:21 -0700 (Fri, 10 Aug 2007) | 4 lines Add overloads of hash_value for more built in types. They're not strictly needed and aren't in the original specifiction but they avoid a warning. See ticket #1095 for details. ........ r38564 | (no author) | 2007-08-10 04:08:19 -0700 (Fri, 10 Aug 2007) | 1 line Add some missing 'inline's. ........ r38565 | (no author) | 2007-08-10 04:22:54 -0700 (Fri, 10 Aug 2007) | 1 line Add -Wsign-promo to the hash test compile flags since I'm now trying to avoid the warning. I still need to check that it won't break older versions of gcc. ........ r38567 | bemandawes | 2007-08-10 05:53:52 -0700 (Fri, 10 Aug 2007) | 1 line Fix #995 by adding inline ........ r38568 | hkaiser | 2007-08-10 08:03:46 -0700 (Fri, 10 Aug 2007) | 1 line Wave: Added missing file to real_positions example, fixed corresponding Jamfile. ........ r38576 | vladimir_prus | 2007-08-10 09:33:48 -0700 (Fri, 10 Aug 2007) | 1 line Fix typo. Closes #1150. ........ r38587 | grafik | 2007-08-10 17:32:25 -0700 (Fri, 10 Aug 2007) | 1 line Add test to check 'bjam -n'. ........ r38588 | grafik | 2007-08-10 17:42:32 -0700 (Fri, 10 Aug 2007) | 1 line Minor adjustment to -n test, and add corresponding -d2 test. ........ r38590 | grafik | 2007-08-10 19:39:13 -0700 (Fri, 10 Aug 2007) | 1 line Bring back midding output of -n option. The -o option continues to be broken as it has been for a long time now because of the @ file feature. (fixes #1155) ........ r38591 | grafik | 2007-08-10 19:46:49 -0700 (Fri, 10 Aug 2007) | 1 line Make shell script executable. ........ r38592 | grafik | 2007-08-10 19:58:04 -0700 (Fri, 10 Aug 2007) | 1 line Adjust test to reflect real results of empty strings instead of empty values. ........ r38593 | vladimir_prus | 2007-08-10 22:15:54 -0700 (Fri, 10 Aug 2007) | 1 line Stop BoostBuild.py from crashing on certain test failures. ........ r38594 | grafik | 2007-08-10 22:53:37 -0700 (Fri, 10 Aug 2007) | 1 line Update GC support to work with Boehm GC 7.0. ........ r38605 | djowel | 2007-08-11 18:24:22 -0700 (Sat, 11 Aug 2007) | 1 line pragma push/pop added ........ r38606 | agurtovoy | 2007-08-11 23:10:45 -0700 (Sat, 11 Aug 2007) | 1 line Move /libs/expected_results.xml to the /status/ directory ........ r38614 | agurtovoy | 2007-08-12 21:36:40 -0700 (Sun, 12 Aug 2007) | 1 line CVS -> SVN ........ r38615 | grafik | 2007-08-12 23:11:14 -0700 (Sun, 12 Aug 2007) | 1 line SVN update and bjam build commands working. ........ r38616 | agurtovoy | 2007-08-13 01:14:34 -0700 (Mon, 13 Aug 2007) | 1 line Update http://www.boost.org/regression/ redirects ........ r38618 | speedsnail | 2007-08-13 08:35:16 -0700 (Mon, 13 Aug 2007) | 2 lines Revert the last change, since the directory passed to boost-build should be first in searched paths, else project local build system will not be picked correctly. The order had been changed to allow searching of alternate user-config.jam files from boost build. This better should be done with --user-config= switch or similar. ........ r38619 | bemandawes | 2007-08-13 09:27:31 -0700 (Mon, 13 Aug 2007) | 1 line Final agreement. Effective date August 10, 2007. Signed by Beman G. Dawes on August 7, 2007, for Boost, and Bradley M. Kuhn on August 10, 2007, for the Software Freedom Conservancy. ........ r38620 | speedsnail | 2007-08-13 09:39:02 -0700 (Mon, 13 Aug 2007) | 1 line Added support for BOOST_USER_CONFIG environment variable. This variable is able to take the same rhs as --user-config= switch. The switch still overrides the variable when present. (This has been added to allow for the BOOST_BUILD_PATH to be restored to its original i.e. documented behaviour.) ........ r38626 | johnmaddock | 2007-08-13 10:54:01 -0700 (Mon, 13 Aug 2007) | 1 line Added some missing match_flag_type options. ........ r38638 | hkaiser | 2007-08-13 18:19:20 -0700 (Mon, 13 Aug 2007) | 1 line Wave: Fixed test Jamfile.v2 ........ r38647 | danieljames | 2007-08-14 02:53:55 -0700 (Tue, 14 Aug 2007) | 3 lines Test the hash library with warning level 4 on Visual C++ - although there's still one warning for hashing long doubles. ........ r38662 | garcia | 2007-08-14 12:30:31 -0700 (Tue, 14 Aug 2007) | 2 lines scope exit review begins. ........ r38669 | igaztanaga | 2007-08-14 17:18:10 -0700 (Tue, 14 Aug 2007) | 1 line Corrected incorrect iterator definition ........ r38679 | danieljames | 2007-08-15 07:35:39 -0700 (Wed, 15 Aug 2007) | 1 line Avoid a comparison with zero warning on gcc when compiling with -Wextra. ........ r38688 | grafik | 2007-08-15 10:25:46 -0700 (Wed, 15 Aug 2007) | 1 line Trow ValueError exception from remove functions to match the set.remove functionality. ........ r38694 | grafik | 2007-08-15 11:35:11 -0700 (Wed, 15 Aug 2007) | 1 line Change remove() to glob_remove() in expect_modification, even though this check is not used. ........ r38702 | grafik | 2007-08-15 13:15:36 -0700 (Wed, 15 Aug 2007) | 1 line Do some normalizing of paths to remove some of the variant feature subdirs that may be different based on platform and toolset. This fixes some tests that pass on GCC/Linux and not on MSVC/Windows. ........ r38704 | hljin | 2007-08-15 15:19:48 -0700 (Wed, 15 Aug 2007) | 1 line GIL: added runtime endian-ness detection routines: little_endian() and big_endian() ........ r38705 | hljin | 2007-08-15 15:21:06 -0700 (Wed, 15 Aug 2007) | 1 line GIL: fixed a endian-ness related bug in PNG IO routines ........ r38710 | grafik | 2007-08-15 21:56:08 -0700 (Wed, 15 Aug 2007) | 1 line More changes to account for differing variant subdirs between toolsets, and of toolset expansion. ........ r38711 | speedsnail | 2007-08-16 05:05:44 -0700 (Thu, 16 Aug 2007) | 1 line Changed BOOST_USER_CONFIG to BOOST_BUILD_USER_CONFIG as this is a more systematic name. ........ r38717 | samuel_krempp | 2007-08-16 06:56:57 -0700 (Thu, 16 Aug 2007) | 3 lines updated - can't be a student forever ! ........ r38724 | grafik | 2007-08-16 09:51:10 -0700 (Thu, 16 Aug 2007) | 1 line Fix changed remote shell command argument names. Disable the svn poller as it taxes the server too much. Bjam build, bjam run, and test tools build working now. ........ r38726 | samuel_krempp | 2007-08-16 10:00:13 -0700 (Thu, 16 Aug 2007) | 2 lines small fix (charset set to utf-8, + typo) ........ r38727 | samuel_krempp | 2007-08-16 10:04:05 -0700 (Thu, 16 Aug 2007) | 2 lines previous commit was messed-up ........ r38729 | samuel_krempp | 2007-08-16 10:33:47 -0700 (Thu, 16 Aug 2007) | 3 lines bug fixed : prefix_ was not reset by make_or_reuse (all other buffers were). Solves ticket #570 ........ r38730 | samuel_krempp | 2007-08-16 11:48:03 -0700 (Thu, 16 Aug 2007) | 3 lines handle invalid format string (ends with %) without asserting, closing ticket #493 ........ r38732 | grafik | 2007-08-16 14:30:21 -0700 (Thu, 16 Aug 2007) | 1 line Add testing step, which unfortunately doesn't work. ........ r38740 | grafik | 2007-08-17 07:51:49 -0700 (Fri, 17 Aug 2007) | 1 line Minor fix to get btest step working. ........ r38741 | dgregor | 2007-08-17 07:57:54 -0700 (Fri, 17 Aug 2007) | 1 line Revert inadvertent changes to csr_graph_test.cpp ........ r38755 | grafik | 2007-08-18 10:11:07 -0700 (Sat, 18 Aug 2007) | 1 line Guard against empty result files. ........ r38756 | grafik | 2007-08-18 23:05:26 -0700 (Sat, 18 Aug 2007) | 1 line Add support for posting to Dart server using the specified http proxy. ........ r38777 | burbelgruff | 2007-08-19 23:51:54 -0700 (Sun, 19 Aug 2007) | 1 line #1188 Removed extra (unnecessary) semicolons in BOOST_TYPEOF_NESTED_TYPEDEF. ........ r38781 | chris_kohlhoff | 2007-08-20 06:48:38 -0700 (Mon, 20 Aug 2007) | 1 line Fix inspect errors. ........ r38782 | chris_kohlhoff | 2007-08-20 06:50:30 -0700 (Mon, 20 Aug 2007) | 1 line Fix gcc warning about too few braces. ........ r38783 | chris_kohlhoff | 2007-08-20 06:53:27 -0700 (Mon, 20 Aug 2007) | 3 lines Add a note to basic_socket<>::close() indicating that shutdown() should be used for portable graceful closure. ........ r38784 | chris_kohlhoff | 2007-08-20 07:07:23 -0700 (Mon, 20 Aug 2007) | 4 lines Add a workaround for Windows Vista's handling of the boolean socket option tcp::no_delay, where ::getsockopt will return the size of the option as one byte, even though a four byte integer was passed in. ........ r38785 | chris_kohlhoff | 2007-08-20 07:08:16 -0700 (Mon, 20 Aug 2007) | 2 lines Add missing static keyword to the service_id_matches functions. ........ r38786 | chris_kohlhoff | 2007-08-20 07:11:46 -0700 (Mon, 20 Aug 2007) | 2 lines Fix order of initialisation problem with error categories. ........ r38787 | chris_kohlhoff | 2007-08-20 07:12:31 -0700 (Mon, 20 Aug 2007) | 2 lines Fix unused argument warning. ........ r38788 | chris_kohlhoff | 2007-08-20 07:17:15 -0700 (Mon, 20 Aug 2007) | 5 lines Increase number of buffers that may be sent or received in a single operation. Clean up win_iocp_socket_service's close-on-destruction handling to ensure non-blocking socket destructors. ........ r38789 | chris_kohlhoff | 2007-08-20 07:19:49 -0700 (Mon, 20 Aug 2007) | 2 lines Use shutdown() for portable graceful connection closure. ........ r38790 | chris_kohlhoff | 2007-08-20 07:21:47 -0700 (Mon, 20 Aug 2007) | 1 line Clean up gcc warnings. ........ r38791 | chris_kohlhoff | 2007-08-20 07:32:05 -0700 (Mon, 20 Aug 2007) | 2 lines Fix unused argument warnings. ........ r38792 | grafik | 2007-08-20 09:52:55 -0700 (Mon, 20 Aug 2007) | 1 line Merge changes from Version_1_34_1 back to trunk. ........ r38800 | ramey | 2007-08-20 11:06:17 -0700 (Mon, 20 Aug 2007) | 2 lines Merged in additions from serialization_next_release branch to support validation of one's current boost installation on a either a library by library or global basis ........ r38801 | burbelgruff | 2007-08-20 11:09:14 -0700 (Mon, 20 Aug 2007) | 1 line native typeof implementation for VC7.1 and VC8.0 now uses typeid() instead of sizeof() to map a type. This bypasses some bugs in Microsofts sizeof implementation, and removes a limitation on the number of typeof invocations that can be done in a single compilation unit ........ r38803 | speedsnail | 2007-08-20 12:14:14 -0700 (Mon, 20 Aug 2007) | 1 line Merge from RC_1_34_0 (CVS 1.12.2.53) to trunk. CVS RC_1_34_0 - 1.12.2.23 and CVS HEAD - 1.51 are the last versions that were equal. Between these and trunk was only a small diff for HPUX that removed pthread lib. This fix seems to be already present in the merged in version. ........ r38804 | garcia | 2007-08-20 12:16:39 -0700 (Mon, 20 Aug 2007) | 2 lines Added "dimensionality" compile-time constant to the MultiArray concept. ........ r38814 | johnmaddock | 2007-08-21 02:04:39 -0700 (Tue, 21 Aug 2007) | 1 line Added needed include: see http://article.gmane.org/gmane.comp.lib.boost.devel/163941. ........ r38815 | garcia | 2007-08-21 05:27:05 -0700 (Tue, 21 Aug 2007) | 2 lines Time Series accepted. ........ r38820 | garcia | 2007-08-21 06:54:25 -0700 (Tue, 21 Aug 2007) | 2 lines Added "dimensionality" compile-time constant to the MultiArray concept. ........ r38821 | garcia | 2007-08-21 06:54:58 -0700 (Tue, 21 Aug 2007) | 2 lines Changed all uses of assert to BOOST_ASSERT. ........ r38822 | vladimir_prus | 2007-08-21 06:55:41 -0700 (Tue, 21 Aug 2007) | 1 line Revive V1 Jamfiles at Christopher's request ........ r38827 | dgregor | 2007-08-21 08:35:19 -0700 (Tue, 21 Aug 2007) | 3 lines Committed patch to eliminate warnings with GCC's -Wundef. Fixes #1197 ........ r38834 | igaztanaga | 2007-08-21 12:18:32 -0700 (Tue, 21 Aug 2007) | 1 line Erased temporarily until problems on Mac Os PowerPC are solved ........ r38835 | vladimir_prus | 2007-08-22 05:14:05 -0700 (Wed, 22 Aug 2007) | 1 line Revive V1 Jamfile to please asio ........ r38837 | vladimir_prus | 2007-08-22 05:40:34 -0700 (Wed, 22 Aug 2007) | 1 line Revive V1 Jamfile to please asio ........ r38838 | johnmaddock | 2007-08-22 05:56:39 -0700 (Wed, 22 Aug 2007) | 1 line Fixed include guard. ........ r38847 | vladimir_prus | 2007-08-22 08:02:20 -0700 (Wed, 22 Aug 2007) | 1 line Make 'library_status' target explicit ........ r38853 | garcia | 2007-08-22 08:29:48 -0700 (Wed, 22 Aug 2007) | 2 lines Initial Revision. ........ r38854 | garcia | 2007-08-22 08:30:47 -0700 (Wed, 22 Aug 2007) | 2 lines Added a new test case for replacing asserts with exceptions. ........ r38856 | garcia | 2007-08-22 11:19:43 -0700 (Wed, 22 Aug 2007) | 2 lines Added mention of assert.cpp. ........ r38857 | garcia | 2007-08-22 11:31:43 -0700 (Wed, 22 Aug 2007) | 2 lines was missing storage_order_convert.cpp ........ r38864 | johnmaddock | 2007-08-23 02:06:24 -0700 (Thu, 23 Aug 2007) | 2 lines Fixes track issue #775, see http://svn.boost.org/trac/boost/ticket/775. All regex code should now compile warning free at level 4 with MSCV. ........ r38868 | hljin | 2007-08-23 12:26:55 -0700 (Thu, 23 Aug 2007) | 1 line GIL: a further fix on the PNG IO 16-bit bug ........ r38871 | vladimir_prus | 2007-08-23 12:51:47 -0700 (Thu, 23 Aug 2007) | 3 lines Apply patch to fix gcc warning. Fixes #1209. ........ r38872 | vladimir_prus | 2007-08-23 12:57:23 -0700 (Thu, 23 Aug 2007) | 3 lines Support the address-model feature for the sun toolset. Addresses #1186. ........ r38873 | danieljames | 2007-08-23 17:42:19 -0700 (Thu, 23 Aug 2007) | 6 lines Copy hash library from 1.34.1 over trunk. For the first merge with the release branch, I only want to include some of the changes I've been working on (fixes and some trivial changes), so I'm starting again from 1.34.1. ........ r38876 | danieljames | 2007-08-23 18:05:36 -0700 (Thu, 23 Aug 2007) | 1 line Update the copyright in the hash library. ........ r38877 | danieljames | 2007-08-23 18:11:33 -0700 (Thu, 23 Aug 2007) | 5 lines Remove the errno check when hashing floating point numbers. It's not really needed and was causing problems on the Microsoft Windows Smarthone Edition platform. Fixes #1064. ........ r38878 | danieljames | 2007-08-23 18:16:54 -0700 (Thu, 23 Aug 2007) | 2 lines Merge some documentation improvements from the development branch. ........ r38881 | danieljames | 2007-08-23 18:44:15 -0700 (Thu, 23 Aug 2007) | 1 line Add extra overloads for hash_value to cover all the specializations of boost::hash. Fixes 1095 ........ r38882 | danieljames | 2007-08-23 18:56:47 -0700 (Thu, 23 Aug 2007) | 1 line Add some missing hash_value documentation for the new overloads. ........ r38883 | danieljames | 2007-08-23 19:01:47 -0700 (Thu, 23 Aug 2007) | 6 lines Change a comparison in the float hashing code, which can cause a warning on gcc. Although the warning doesn't currently turn up in this branch, it could be caused quite easily. Originally reported in: http://lists.boost.org/Archives/boost/2007/08/126084.php ........ r38884 | danieljames | 2007-08-23 19:33:43 -0700 (Thu, 23 Aug 2007) | 2 lines Remove hash_complex_test - it should have been removed when I reverted to 1.34.1 ........ r38911 | igaztanaga | 2007-08-24 14:24:23 -0700 (Fri, 24 Aug 2007) | 1 line Erased old archives imported from CVS ........ r38913 | grafik | 2007-08-24 16:03:10 -0700 (Fri, 24 Aug 2007) | 1 line Disable interprocess tests until parallel execution problem is fixed. (see ticket #1211) ........ r38914 | grafik | 2007-08-24 16:27:14 -0700 (Fri, 24 Aug 2007) | 1 line Reverting changes from revision [http://svn.boost.org/trac/boost/changeset/38800 38800] as it break XSLT regression reports. ........ r38918 | grafik | 2007-08-24 21:08:28 -0700 (Fri, 24 Aug 2007) | 1 line On Windows static libs have the lib prefix, but DLLs don't. ........ r38919 | vladimir_prus | 2007-08-24 21:34:31 -0700 (Fri, 24 Aug 2007) | 1 line Use -KPIC for shared libs. Addresses #1186. ........ r38920 | vladimir_prus | 2007-08-24 21:36:02 -0700 (Fri, 24 Aug 2007) | 1 line Revert mistaken commit ........ r38923 | ramey | 2007-08-25 00:37:21 -0700 (Sat, 25 Aug 2007) | 1 line corrections for gcc compiler ........ r38924 | johnmaddock | 2007-08-25 01:53:29 -0700 (Sat, 25 Aug 2007) | 1 line Fix for http://svn.boost.org/trac/boost/ticket/1075. ........ r38934 | johnmaddock | 2007-08-25 05:26:25 -0700 (Sat, 25 Aug 2007) | 2 lines Fixes for http://svn.boost.org/trac/boost/ticket/1104, http://svn.boost.org/trac/boost/ticket/1102, http://svn.boost.org/trac/boost/ticket/1103 and http://svn.boost.org/trac/boost/ticket/1105. Also updated tests for some previous macro additions. ........ r38946 | igaztanaga | 2007-08-25 11:04:13 -0700 (Sat, 25 Aug 2007) | 2 lines #1211: Interprocess tests hang when run in parallel #1080 boost::interprocess win32 global file mapping issue ........ r38948 | igaztanaga | 2007-08-25 11:14:34 -0700 (Sat, 25 Aug 2007) | 2 lines #1211: Interprocess tests hang when run in parallel #1080 boost::interprocess win32 global file mapping issue ........ r38949 | igaztanaga | 2007-08-25 12:05:18 -0700 (Sat, 25 Aug 2007) | 2 lines #1211: Interprocess tests hang when run in parallel #1080 boost::interprocess win32 global file mapping issue ........ r38950 | igaztanaga | 2007-08-25 12:07:32 -0700 (Sat, 25 Aug 2007) | 2 lines #1211: Interprocess tests hang when run in parallel #1080 boost::interprocess win32 global file mapping issue ........ r38951 | igaztanaga | 2007-08-25 12:10:12 -0700 (Sat, 25 Aug 2007) | 2 lines #1211: Interprocess tests hang when run in parallel #1080 boost::interprocess win32 global file mapping issue ........ r38952 | igaztanaga | 2007-08-25 12:13:02 -0700 (Sat, 25 Aug 2007) | 2 lines #1211: Interprocess tests hang when run in parallel #1080 boost::interprocess win32 global file mapping issue ........ r38953 | igaztanaga | 2007-08-25 12:17:24 -0700 (Sat, 25 Aug 2007) | 2 lines #1211: Interprocess tests hang when run in parallel #1080 boost::interprocess win32 global file mapping issue ........ r38954 | igaztanaga | 2007-08-25 12:18:28 -0700 (Sat, 25 Aug 2007) | 2 lines #1211: Interprocess tests hang when run in parallel #1080 boost::interprocess win32 global file mapping issue ........ r38955 | igaztanaga | 2007-08-25 12:19:34 -0700 (Sat, 25 Aug 2007) | 2 lines #1211: Interprocess tests hang when run in parallel #1080 boost::interprocess win32 global file mapping issue ........ r38956 | aaron_windsor | 2007-08-25 14:11:06 -0700 (Sat, 25 Aug 2007) | 1 line merging planar graph algorithms into the BGL ........ r38960 | igaztanaga | 2007-08-26 02:59:28 -0700 (Sun, 26 Aug 2007) | 1 line This file is a badly imported CVS file ........ r38963 | vladimir_prus | 2007-08-26 08:53:45 -0700 (Sun, 26 Aug 2007) | 1 line Make executable ........ r38964 | grafik | 2007-08-26 09:14:44 -0700 (Sun, 26 Aug 2007) | 1 line Read expected files with universal EOL translation enabled to account for comparing with newline only Python strings. ........ r38965 | grafik | 2007-08-26 09:16:38 -0700 (Sun, 26 Aug 2007) | 1 line Use some wildcard matching on the expected output as 'echo' on Windows outputs extra space before EOLs, which Unix doesn't. ........ r38968 | vladimir_prus | 2007-08-26 10:15:51 -0700 (Sun, 26 Aug 2007) | 1 line Use SVN for nightly builds ........ r38969 | vladimir_prus | 2007-08-26 10:23:03 -0700 (Sun, 26 Aug 2007) | 1 line Include svn revision in nightly build ........ r38971 | vladimir_prus | 2007-08-26 11:32:21 -0700 (Sun, 26 Aug 2007) | 1 line Fix quoting. Remove .svn directories ........ r38973 | grafik | 2007-08-26 12:24:13 -0700 (Sun, 26 Aug 2007) | 1 line Make rm try the glob_file in addition to regular glob. Clears alternatives and project_glob failures on windows. ........ r38975 | pdimov | 2007-08-26 12:42:50 -0700 (Sun, 26 Aug 2007) | 1 line Updated the unspecified_bool_type to match shared_ptr. ........ r38976 | pdimov | 2007-08-26 13:34:40 -0700 (Sun, 26 Aug 2007) | 1 line BOOST_NO_TYPEID support (#1108). ........ r38977 | pdimov | 2007-08-26 13:35:52 -0700 (Sun, 26 Aug 2007) | 1 line BOOST_NO_TYPEID support (#1108). ........ r38981 | vladimir_prus | 2007-08-26 23:18:11 -0700 (Sun, 26 Aug 2007) | 1 line Run svnversion before removing .svn ........ r38984 | vladimir_prus | 2007-08-26 23:30:56 -0700 (Sun, 26 Aug 2007) | 1 line Run svnversion before modifying anything ........ r38985 | grafik | 2007-08-26 23:34:52 -0700 (Sun, 26 Aug 2007) | 1 line Repoint tarball source to direct tarball generator. ........ r38986 | vladimir_prus | 2007-08-26 23:41:18 -0700 (Sun, 26 Aug 2007) | 1 line Another svnversion fix ........ r38987 | vladimir_prus | 2007-08-27 00:00:18 -0700 (Mon, 27 Aug 2007) | 1 line Another fix ........ r38999 | garcia | 2007-08-27 04:51:04 -0700 (Mon, 27 Aug 2007) | 1 line *** empty log message *** ........ r39007 | grafik | 2007-08-27 09:02:50 -0700 (Mon, 27 Aug 2007) | 1 line Bring back the interprocess tests, as they seem fixed now for parallel execution. ........ r39009 | danieljames | 2007-08-27 10:59:54 -0700 (Mon, 27 Aug 2007) | 2 lines Comment out -Wextra because it doesn't work on older versions of gcc. ........ r39014 | danieljames | 2007-08-27 11:16:54 -0700 (Mon, 27 Aug 2007) | 1 line Add proper support for long longs and unsigned long longs. ........ r39020 | grafik | 2007-08-27 14:05:35 -0700 (Mon, 27 Aug 2007) | 1 line Tarball generation script. ........ r39022 | grafik | 2007-08-27 14:19:41 -0700 (Mon, 27 Aug 2007) | 1 line Add copyright+BSL. ........ r39052 | dgregor | 2007-08-29 09:00:53 -0700 (Wed, 29 Aug 2007) | 3 lines Constify status::count and status::cancelled. Fixes #1101 ........ r39060 | dgregor | 2007-08-29 11:59:16 -0700 (Wed, 29 Aug 2007) | 1 line Disable MSVC warning about native code generation. Fixes #1163 ........ r39061 | dgregor | 2007-08-29 12:06:11 -0700 (Wed, 29 Aug 2007) | 1 line Handle GCC's -fno-exceptions properly. Fixes #1198 ........ r39062 | dlwalker | 2007-08-29 12:54:14 -0700 (Wed, 29 Aug 2007) | 1 line Fixed comments listed in #766 that didn't match their described code ........ r39073 | eric_niebler | 2007-08-30 08:21:00 -0700 (Thu, 30 Aug 2007) | 1 line example/main.cpp compiles clean with gcc -Wall ........ r39075 | eric_niebler | 2007-08-30 08:40:34 -0700 (Thu, 30 Aug 2007) | 1 line dynamically optimizing TST, from Dave Jenkins ........ r39089 | dgregor | 2007-08-31 10:23:51 -0700 (Fri, 31 Aug 2007) | 1 line Add empty directory ........ r39090 | dgregor | 2007-08-31 10:24:36 -0700 (Fri, 31 Aug 2007) | 1 line Create an empty directory ........ r39091 | igaztanaga | 2007-08-31 15:57:11 -0700 (Fri, 31 Aug 2007) | 1 line Added missing comma ........ r39092 | chris_kohlhoff | 2007-08-31 23:08:45 -0700 (Fri, 31 Aug 2007) | 2 lines Need to try binding the acceptor to test whether IPv6 is supported. ........ r39093 | chris_kohlhoff | 2007-08-31 23:13:02 -0700 (Fri, 31 Aug 2007) | 2 lines Ignore errors from shutdown(). ........ r39094 | chris_kohlhoff | 2007-08-31 23:20:19 -0700 (Fri, 31 Aug 2007) | 2 lines Enable buffer() overload workaround for Sun C++. ........ r39095 | chris_kohlhoff | 2007-08-31 23:25:55 -0700 (Fri, 31 Aug 2007) | 3 lines Add AIX-specific compile time test for whether sockaddr_storage's family field is called ss_family or __ss_family. ........ r39096 | chris_kohlhoff | 2007-08-31 23:28:40 -0700 (Fri, 31 Aug 2007) | 3 lines Ensure that a strand is kept alive as long as there are wrapped handlers for it. ........ r39097 | chris_kohlhoff | 2007-08-31 23:33:44 -0700 (Fri, 31 Aug 2007) | 2 lines Add #include needed for IOV_MAX. ........ r39098 | chris_kohlhoff | 2007-08-31 23:41:15 -0700 (Fri, 31 Aug 2007) | 7 lines Fix problem where a thread can go idle even if there are handlers that are ready to be dispatched. Remove need to have a mutex per idle thread. Remove need to have a mutex per idle thread. ........ r39100 | chris_kohlhoff | 2007-09-01 00:32:28 -0700 (Sat, 01 Sep 2007) | 3 lines Define _WIN32_WINNT to suppress warnings. Add define necessary for building with cygwin. ........ r39102 | vladimir_prus | 2007-09-01 01:55:35 -0700 (Sat, 01 Sep 2007) | 1 line Initial support for defining action body from Python. ........ r39103 | vladimir_prus | 2007-09-01 13:28:42 -0700 (Sat, 01 Sep 2007) | 4 lines Fix glob excludes in subdirectories. Thanks to Norbert Unterberg for the bug report. ........ r39104 | vladimir_prus | 2007-09-01 14:46:09 -0700 (Sat, 01 Sep 2007) | 5 lines Make free features on the command line affect all targets, not just directly requested ones. Fixes #985. ........ r39105 | vladimir_prus | 2007-09-01 15:10:46 -0700 (Sat, 01 Sep 2007) | 4 lines Previously, I've accidentally committed a patch to make <tag> affect names of searched libraries. This commit greatly simplifies that. ........ r39106 | speedsnail | 2007-09-02 08:57:36 -0700 (Sun, 02 Sep 2007) | 2 lines Merged in volodyas patch from RC_1_34_0 http://lists.boost.org/boost-users/2007/05/27724.php ........ r39107 | speedsnail | 2007-09-02 11:37:14 -0700 (Sun, 02 Sep 2007) | 1 line Changed library naming convention for mingw and cygwin. For details see comment in file. Also should resolve Ticket #1058 . ........ r39112 | aaron_windsor | 2007-09-03 08:04:05 -0700 (Mon, 03 Sep 2007) | 1 line Modified odd_components_counter to fix signed/unsigned mismatch on Sandi pgi-6.1 tests. ........ r39113 | speedsnail | 2007-09-03 12:38:40 -0700 (Mon, 03 Sep 2007) | 1 line Make use of gnu ld's -Bstatic and -Bdynamic switches to choose order of libraries searched by -l switch. ........ r39120 | vladimir_prus | 2007-09-04 13:26:19 -0700 (Tue, 04 Sep 2007) | 2 lines Allow to print the tree delta to any file. ........ r39121 | vladimir_prus | 2007-09-04 13:29:56 -0700 (Tue, 04 Sep 2007) | 1 line Unbreak the gcc_runtime test ........ r39126 | eric_niebler | 2007-09-04 23:31:27 -0700 (Tue, 04 Sep 2007) | 1 line remove unused variables ........ r39128 | vladimir_prus | 2007-09-05 01:03:17 -0700 (Wed, 05 Sep 2007) | 1 line Remove unnecessary line ........ r39130 | bgubenko | 2007-09-05 10:14:29 -0700 (Wed, 05 Sep 2007) | 1 line missing conditionalization for g++ on HP-UX ........ r39131 | burbelgruff | 2007-09-05 12:52:18 -0700 (Wed, 05 Sep 2007) | 1 line boost.typeof now supports native typeof for VC8.0 ........ r39132 | bgubenko | 2007-09-05 16:43:40 -0700 (Wed, 05 Sep 2007) | 1 line Boost.Build V2 toolset for the HP aC++ compiler on PA-RISC ........ r39134 | burbelgruff | 2007-09-06 00:22:10 -0700 (Thu, 06 Sep 2007) | 1 line typeof: Implemented native typeof for DMC 8.50 based on the same bugfeature used to support VC6.5 and VC7.1 ........ r39150 | johnmaddock | 2007-09-06 10:10:05 -0700 (Thu, 06 Sep 2007) | 1 line Updated gcc config using STLport's settings so that TR1 functions correctly when Boost is installed in for example /usr/include/ ........ r39151 | bgubenko | 2007-09-06 12:01:07 -0700 (Thu, 06 Sep 2007) | 1 line marking up tests for acc_pa_risc toolset ........ r39156 | bgubenko | 2007-09-07 10:02:12 -0700 (Fri, 07 Sep 2007) | 1 line markup test is_lvalue_iterator for acc_pa_risc toolset ........ r39157 | nielsdekker | 2007-09-07 10:17:09 -0700 (Fri, 07 Sep 2007) | 1 line Added MSVC workaround to value_initialized, as described by ticket #1217, proposed at the Boost Developers mailing list, and discussed with Fernando Cacciola. ........ r39158 | bgubenko | 2007-09-07 11:40:47 -0700 (Fri, 07 Sep 2007) | 1 line conditionalization for PA-RISC ........ r39160 | vladimir_prus | 2007-09-07 14:34:27 -0700 (Fri, 07 Sep 2007) | 1 line Adjust faq entry about targets in site-config.jam ........ r39161 | vladimir_prus | 2007-09-07 16:18:20 -0700 (Fri, 07 Sep 2007) | 4 lines Make output from test run nicer, and more structured. In future, we might be able to generate XML, or any other voodoo we want. ........ r39162 | vladimir_prus | 2007-09-07 16:51:07 -0700 (Fri, 07 Sep 2007) | 1 line Undo #38702, which fixes alternative.py on linux. Real fix for win coming soon. ........ r39163 | vladimir_prus | 2007-09-07 16:59:10 -0700 (Fri, 07 Sep 2007) | 1 line Make it work ........ r39164 | vladimir_prus | 2007-09-07 16:59:54 -0700 (Fri, 07 Sep 2007) | 3 lines Implement --ignore-toolset-requirements and set in during testing. ........ r39165 | vladimir_prus | 2007-09-07 17:15:23 -0700 (Fri, 07 Sep 2007) | 3 lines Fix remove_requirements test. I have no idea how it could have passed as-is. ........ r39166 | vladimir_prus | 2007-09-07 17:26:18 -0700 (Fri, 07 Sep 2007) | 1 line Print test results summary at the end ........ r39168 | vladimir_prus | 2007-09-08 09:24:50 -0700 (Sat, 08 Sep 2007) | 4 lines Fix the rebuilds test on linux. * BoostBuild.py (wait_for_time_change): Use floor, to avoid waiting 0.5 seconds. * rebuilds.py: Wait for time change as necessary. ........ r39169 | vladimir_prus | 2007-09-08 10:10:26 -0700 (Sat, 08 Sep 2007) | 1 line Record failure reason when we fail to open a file. ........ r39173 | bemandawes | 2007-09-09 07:59:10 -0700 (Sun, 09 Sep 2007) | 1 line Merge system and filesystem branches, bringing them in sync with N2415. Several filesystem bugs fixed, and current_path setter added. ........ r39174 | bemandawes | 2007-09-09 10:48:17 -0700 (Sun, 09 Sep 2007) | 1 line Posix and Linux fixes ........ r39175 | johnmaddock | 2007-09-10 02:19:49 -0700 (Mon, 10 Sep 2007) | 8 lines Big type_traits update: Added make_signed, make_unsigned and is_complex. Added docs for some previously undocumented traits: is_signed, is_unsigned and decay.html Added synonyms for some traits that have changed name in the latest C++ std draft. Re-organised docs, moved docs out of the main doc build for now (it takes too long). This also fixes issues: http://svn.boost.org/trac/boost/ticket/492 and http://svn.boost.org/trac/boost/ticket/1008. ........ r39176 | johnmaddock | 2007-09-10 03:35:51 -0700 (Mon, 10 Sep 2007) | 1 line Applied fix for http://svn.boost.org/trac/boost/ticket/883. ........ r39177 | johnmaddock | 2007-09-10 03:37:19 -0700 (Mon, 10 Sep 2007) | 1 line Added optional code to test SGI rope with Regex. ........ r39178 | johnmaddock | 2007-09-10 04:24:53 -0700 (Mon, 10 Sep 2007) | 1 line Try and force a date update. ........ r39179 | johnmaddock | 2007-09-10 04:27:31 -0700 (Mon, 10 Sep 2007) | 1 line OK finally got date modified set right. ........ r39181 | johnmaddock | 2007-09-10 09:22:35 -0700 (Mon, 10 Sep 2007) | 1 line Oops, doc update broke the tests, fixed now. ........ r39183 | johnmaddock | 2007-09-10 10:18:16 -0700 (Mon, 10 Sep 2007) | 1 line Added new macros def's that are needed by the various additions that have been added to Boost.Config. ........ r39186 | bemandawes | 2007-09-10 18:11:03 -0700 (Mon, 10 Sep 2007) | 1 line Chris Kohlhoff says change needed for asio to link correctly ........ r39187 | bemandawes | 2007-09-10 19:05:58 -0700 (Mon, 10 Sep 2007) | 1 line Ha! Finally figured out how to shut off msvc exception switch warning. ........ r39188 | bemandawes | 2007-09-10 19:07:50 -0700 (Mon, 10 Sep 2007) | 1 line Ha! Finally figured out how to shut off msvc exception switch warning. Also fix define misspelling. ........ r39189 | chris_kohlhoff | 2007-09-11 04:17:56 -0700 (Tue, 11 Sep 2007) | 2 lines Use enum-based error code constants. ........ r39190 | bgubenko | 2007-09-11 09:24:28 -0700 (Tue, 11 Sep 2007) | 1 line add conditionalization for g++ on HP-UX ........ r39191 | rwgk | 2007-09-11 09:53:50 -0700 (Tue, 11 Sep 2007) | 1 line Patches by Nikolay Mladenov (nickm at sitius com): new pythonic signatures; docstring support for enums; fix unrelated Visual C++ 6 problem ........ r39193 | bgubenko | 2007-09-11 11:54:50 -0700 (Tue, 11 Sep 2007) | 1 line base detection of EDG-based compiler on __EDG__ macro ........ r39194 | vladimir_prus | 2007-09-11 12:16:06 -0700 (Tue, 11 Sep 2007) | 3 lines Don't try to apply --build-dir to standalone projects. Fixes build_dir test failure on linux. ........ r39195 | vladimir_prus | 2007-09-11 12:17:49 -0700 (Tue, 11 Sep 2007) | 4 lines * BoostBuild.py (wait_for_time_change): Wait for more serious time change, in order to fix sporadic dependency_test failures. ........ r39196 | bgubenko | 2007-09-11 12:31:55 -0700 (Tue, 11 Sep 2007) | 1 line define macros specific to RW V2.2 on HP-UX ........ r39197 | vladimir_prus | 2007-09-11 12:36:48 -0700 (Tue, 11 Sep 2007) | 1 line Don't run gcc_runtime test on msvc ........ r39198 | bgubenko | 2007-09-11 12:54:59 -0700 (Tue, 11 Sep 2007) | 1 line make sure HP-UX-specific macros are not redefined ........ r39199 | pdimov | 2007-09-11 13:58:19 -0700 (Tue, 11 Sep 2007) | 1 line Fixes #1243 ........ r39204 | grafik | 2007-09-11 21:21:57 -0700 (Tue, 11 Sep 2007) | 1 line Add regression result pages automation script. ........ r39211 | chris_kohlhoff | 2007-09-12 05:24:21 -0700 (Wed, 12 Sep 2007) | 2 lines AIX seems to have the socket address family as an unsigned char rather than unsigned short. ........ r39219 | johnmaddock | 2007-09-12 09:44:16 -0700 (Wed, 12 Sep 2007) | 1 line Fixed is_base_of/is_base_and_derived so that you get a compiler error if you try and use them with an incomplete class type. ........ r39220 | bemandawes | 2007-09-12 11:31:25 -0700 (Wed, 12 Sep 2007) | 1 line POSIX fix from Neal Becker ........ r39223 | nikiml | 2007-09-12 14:31:39 -0700 (Wed, 12 Sep 2007) | 1 line fixed problem reported by Neal Becker; added a test case ........ r39226 | bemandawes | 2007-09-12 14:43:20 -0700 (Wed, 12 Sep 2007) | 1 line Some compilers warn on trailing enum constant list commas, so remove these to quiet the warnings. ........ r39227 | guwi17 | 2007-09-12 14:44:37 -0700 (Wed, 12 Sep 2007) | 2 lines lu.hpp: introduced temporary to avoid strange compiler problem. ........ r39230 | bemandawes | 2007-09-12 20:17:17 -0700 (Wed, 12 Sep 2007) | 1 line Add Boost.System test suite ........ r39231 | johnmaddock | 2007-09-13 02:04:12 -0700 (Thu, 13 Sep 2007) | 1 line Fix for broken limits_test build. ........ r39233 | guwi17 | 2007-09-13 05:13:20 -0700 (Thu, 13 Sep 2007) | 3 lines overview.htm: fixed typo ........ r39237 | bgubenko | 2007-09-13 09:11:38 -0700 (Thu, 13 Sep 2007) | 1 line reapply fix for gcc on HP-UX in -r39130 ........ r39238 | garcia | 2007-09-13 09:17:05 -0700 (Thu, 13 Sep 2007) | 2 lines added fast-track reviews. ........ r39240 | dgregor | 2007-09-13 10:38:58 -0700 (Thu, 13 Sep 2007) | 7 lines function/function_base.hpp, function/function_template.hpp: - Switch from dynamic initialization of the vtable pointer to static initialization (Fixes #1260) - Handle member pointers properly, only using mem_fn within the invoker to deal with all of the messy bits of calling member pointers ........ r39242 | dgregor | 2007-09-13 11:43:00 -0700 (Thu, 13 Sep 2007) | 1 line Update the nag script to use Subversion ........ r39243 | dgregor | 2007-09-13 11:50:50 -0700 (Thu, 13 Sep 2007) | 1 line Work around bugs in Sun Studio 11 ........ r39244 | dgregor | 2007-09-13 12:06:53 -0700 (Thu, 13 Sep 2007) | 4 lines function_template.hpp: - Pass-by-reference internally, when we can. Fixes #1067 ........ r39245 | dgregor | 2007-09-13 12:31:03 -0700 (Thu, 13 Sep 2007) | 1 line Don't use BOOST_TEST_DONT_PRINT_LOG_VALUE if it isn't defined ........ r39246 | dgregor | 2007-09-13 12:41:27 -0700 (Thu, 13 Sep 2007) | 1 line Teach cycle_ratio_tests to find its input files during regression testing ........ r39247 | dgregor | 2007-09-13 12:58:30 -0700 (Thu, 13 Sep 2007) | 1 line We can no longer use is_base_and_derived with incomplete types, not that it worked well before ........ r39248 | bemandawes | 2007-09-13 14:47:25 -0700 (Thu, 13 Sep 2007) | 1 line Ensure error_category::operator< test works regardless of how compiler lays out memory. ........ r39249 | hkaiser | 2007-09-13 14:49:01 -0700 (Thu, 13 Sep 2007) | 1 line Wave: fixed test build/Jamfile.v2 to include threading library ........ r39251 | hkaiser | 2007-09-13 14:54:32 -0700 (Thu, 13 Sep 2007) | 1 line Wave: Fixed a bug in the Slex token class, which was the reason for some failing tests lately ........ r39254 | bemandawes | 2007-09-13 18:58:20 -0700 (Thu, 13 Sep 2007) | 1 line Add usage-requirements. See comment in file. ........ r39255 | bemandawes | 2007-09-13 19:00:25 -0700 (Thu, 13 Sep 2007) | 1 line Remove <runtime-link>static to see if that is what is causing link problems on a few gcc platforms ........ r39256 | bgubenko | 2007-09-13 19:25:06 -0700 (Thu, 13 Sep 2007) | 1 line on HP-UX, macro BOOST_DATE_TIME_HAS_REENTRANT_STD_FUNCTIONS should be defined only if macro _REENTRANT is defined ........ r39258 | johnmaddock | 2007-09-14 01:54:31 -0700 (Fri, 14 Sep 2007) | 1 line Apply sunpro fix from 1.34.1 ........ r39259 | johnmaddock | 2007-09-14 02:20:37 -0700 (Fri, 14 Sep 2007) | 1 line Touched header to force rebuild of config tests. ........ r39260 | johnmaddock | 2007-09-14 02:25:29 -0700 (Fri, 14 Sep 2007) | 1 line Touched files to force tests to be re-run with new Jamfile. ........ r39261 | bemandawes | 2007-09-14 03:37:11 -0700 (Fri, 14 Sep 2007) | 1 line Supply errno values missing from Windows Mobile ........ r39266 | garcia | 2007-09-14 08:04:41 -0700 (Fri, 14 Sep 2007) | 2 lines Updated the comments on the libraries that were newly released in 1.34. ........ r39267 | vladimir_prus | 2007-09-14 08:28:13 -0700 (Fri, 14 Sep 2007) | 3 lines * gcc.jam (init-link-flags): Add missing 'unchecked'. This was breaking intel. ........ r39268 | vladimir_prus | 2007-09-14 08:30:42 -0700 (Fri, 14 Sep 2007) | 4 lines Remove acc_pa_risc.jam. Given that it's a copy of acc.jam with only toolset name changed, I see no point in having this file. ........ r39269 | bemandawes | 2007-09-14 08:43:22 -0700 (Fri, 14 Sep 2007) | 1 line Initial commit ........ r39270 | bemandawes | 2007-09-14 08:45:36 -0700 (Fri, 14 Sep 2007) | 1 line Replace docs with up-to-date contents, design ........ r39273 | grafik | 2007-09-14 09:29:37 -0700 (Fri, 14 Sep 2007) | 1 line Point dev reports to beta.boost.org site. ........ r39274 | cepstein | 2007-09-14 10:18:02 -0700 (Fri, 14 Sep 2007) | 2 lines Quiet unused argument warnings from gcc. ........ r39282 | pdimov | 2007-09-14 12:19:09 -0700 (Fri, 14 Sep 2007) | 1 line CINT support (Nils Krumnack) ........ r39283 | garcia | 2007-09-14 13:56:59 -0700 (Fri, 14 Sep 2007) | 2 lines Initial Revision. ........ r39284 | garcia | 2007-09-14 13:59:44 -0700 (Fri, 14 Sep 2007) | 2 lines Review Wizard Status Report for October 2007. ........ r39285 | dgregor | 2007-09-14 14:05:46 -0700 (Fri, 14 Sep 2007) | 5 lines Finalizes the fix to Bug #1260, making vtable_base an actual POD type (oops) and playing more nicely with reinterpret_cast (thanks to Brad King for the fixes). ........ r39286 | dgregor | 2007-09-14 14:17:06 -0700 (Fri, 14 Sep 2007) | 1 line Fix the cycle ratio tests for real ........ r39291 | djowel | 2007-09-14 17:19:44 -0700 (Fri, 14 Sep 2007) | 2 lines Fix Ticket Ticket #1235 (http://svn.boost.org/trac/boost/ticket/1235) ........ r39292 | bemandawes | 2007-09-14 18:36:14 -0700 (Fri, 14 Sep 2007) | 1 line Missing std added to ::remove to clear problem in Sun tests ........ r39295 | grafik | 2007-09-14 21:33:32 -0700 (Fri, 14 Sep 2007) | 1 line Call the correct subjam file. ........ r39302 | rwgk | 2007-09-15 16:11:50 -0700 (Sat, 15 Sep 2007) | 1 line work around Visual C++ 7.1 internal compiler error ........ r39307 | johnmaddock | 2007-09-16 01:50:09 -0700 (Sun, 16 Sep 2007) | 1 line Fix msvc warnings. ........ r39308 | niels_dekker | 2007-09-16 02:33:34 -0700 (Sun, 16 Sep 2007) | 1 line Visual C++ 7.1 ICE workaround by Ralf W. Grosse-Kunstleve added to ~const_T_base() as well. See also Boost Developers mailing list, subject "utility/value_init.hpp: VC 7.1 ICE & workaround" ........ r39309 | niels_dekker | 2007-09-16 02:48:28 -0700 (Sun, 16 Sep 2007) | 1 line Added unit test to make sure that Visual C++ 7.1 ICE reported by Ralf W. Grosse-Kunstleve (Boost Developers mailing list, subject "utility/value_init.hpp: VC 7.1 ICE & workaround") will not occur anymore. ........ r39315 | johnmaddock | 2007-09-16 04:20:25 -0700 (Sun, 16 Sep 2007) | 1 line Added needed include (for CHAR_BIT). ........ r39330 | grafik | 2007-09-16 14:35:19 -0700 (Sun, 16 Sep 2007) | 1 line Implement @() expansion during parse phase. (fixes #721) ........ r39331 | grafik | 2007-09-16 14:55:02 -0700 (Sun, 16 Sep 2007) | 1 line Define OSPLAT var unconditionally, and more generically, when possible. (fixes #798) ........ r39332 | grafik | 2007-09-16 15:13:02 -0700 (Sun, 16 Sep 2007) | 1 line Fix undeclared INT_MAX on some platforms, i.e. Linux. ........ r39334 | noel_belcourt | 2007-09-16 17:27:37 -0700 (Sun, 16 Sep 2007) | 14 lines Added missing #include <utility> and qualified make_pair with std:: to library_status.cpp. Added missing headers to make1.c and missing prototypes to builtin.h Modified execunix.c to add support for terminating processes that consume too much cpu or that hang and fail to consume cpu at all. This in support of the bjam -lx option. http://svn.boost.org/trac/boost/ticket/1266#comment:2 ........ r39335 | grafik | 2007-09-16 17:44:16 -0700 (Sun, 16 Sep 2007) | 1 line Add test for ticket #431. ........ r39336 | grafik | 2007-09-16 17:54:20 -0700 (Sun, 16 Sep 2007) | 1 line Really fix missing INT_MAX declaration. And fix pma.jam test on Unix. ........ r39337 | lbourdev | 2007-09-16 23:36:22 -0700 (Sun, 16 Sep 2007) | 3 lines GIL: Updating mandelbrot example with the new GIL. ........ r39338 | lbourdev | 2007-09-17 00:53:06 -0700 (Mon, 17 Sep 2007) | 1 line fixing affine ........ r39339 | lbourdev | 2007-09-17 01:12:19 -0700 (Mon, 17 Sep 2007) | 1 line GIL 2.0 to 2.1 (see http://opensource.adobe.com/gil/gil2.1_changes.pdf). GIL 2.1 to 2.1.1 (see http://sourceforge.net/forum/forum.php?thread_id=1824588&forum_id=648138) ........ r39341 | grafik | 2007-09-17 01:32:24 -0700 (Mon, 17 Sep 2007) | 1 line Add internal dependencies for multi-file generating actions to indicate that the targets all only appear when the first target appears. (fixes ticket #431) ........ r39342 | schoepflin | 2007-09-17 02:04:37 -0700 (Mon, 17 Sep 2007) | 1 line Corrections for Tru64/CXX. ........ r39350 | grafik | 2007-09-17 09:16:29 -0700 (Mon, 17 Sep 2007) | 1 line Add redirect for trunk so that we can point the issues email link to a stable location. ........ r39351 | grafik | 2007-09-17 09:17:52 -0700 (Mon, 17 Sep 2007) | 1 line Point issues link to stable location. ........ r39352 | grafik | 2007-09-17 09:58:10 -0700 (Mon, 17 Sep 2007) | 1 line Add test of -l limit option now that it's implemented on windows and unix. ........ r39353 | dgregor | 2007-09-17 11:33:20 -0700 (Mon, 17 Sep 2007) | 1 line Support Win64 ........ r39354 | vladimir_prus | 2007-09-17 12:29:06 -0700 (Mon, 17 Sep 2007) | 3 lines Allow to specify version, and explicitly specify the command, when initializing the acc toolset. ........ r39355 | grafik | 2007-09-17 13:00:18 -0700 (Mon, 17 Sep 2007) | 1 line Add test for no-op @() expansion. ........ r39357 | grafik | 2007-09-17 14:35:58 -0700 (Mon, 17 Sep 2007) | 1 line Handle invalid formats of @() as doing a straight substitution instead of erroring out. ........ r39358 | noel_belcourt | 2007-09-17 16:30:57 -0700 (Mon, 17 Sep 2007) | 7 lines Rene found a problem with the code I committed to terminate expired processes. This patch basically causes the select function to return after -l seconds. This gives me a shot at killing processes still running. ........ r39359 | djowel | 2007-09-17 17:18:56 -0700 (Mon, 17 Sep 2007) | 1 line bugfix tuples::null_type and tuples::tuple<> iterators not comparing ok. ........ r39360 | noel_belcourt | 2007-09-17 19:42:13 -0700 (Mon, 17 Sep 2007) | 7 lines Fix One more obscure way for the timeout to miss processes. If select times out (no processes terminated), then all running processes can be terminated. Cleaned up code when this condition applies. ........ r39361 | noel_belcourt | 2007-09-17 20:27:48 -0700 (Mon, 17 Sep 2007) | 7 lines A minor optimization to eliminate two OS calls (one to times, one to kill). Now all expired processes are killed in one place. If the select command times out, I set each processes start_time to zero to ensure it is picked up as an expired process. ........ r39362 | vladimir_prus | 2007-09-18 04:44:13 -0700 (Tue, 18 Sep 2007) | 1 line Expand aCC documentation ........ r39363 | dgregor | 2007-09-18 05:09:53 -0700 (Tue, 18 Sep 2007) | 1 line Second attempt at fixing usage of 64-bit integer type ........ r39364 | chris_kohlhoff | 2007-09-18 06:13:40 -0700 (Tue, 18 Sep 2007) | 2 lines Fix unused argument warning. ........ r39365 | bemandawes | 2007-09-18 08:37:36 -0700 (Tue, 18 Sep 2007) | 1 line Remove files after tests ........ r39366 | johnmaddock | 2007-09-18 09:32:29 -0700 (Tue, 18 Sep 2007) | 1 line Added Mathias Kock and Joerg Walter. ........ r39367 | grafik | 2007-09-18 10:02:04 -0700 (Tue, 18 Sep 2007) | 1 line Replace breaks, to remove warnings, with custom structural templates. ........ r39368 | nikiml | 2007-09-18 10:16:31 -0700 (Tue, 18 Sep 2007) | 1 line epydoc friendlier formatting ........ r39369 | johnmaddock | 2007-09-18 10:19:41 -0700 (Tue, 18 Sep 2007) | 1 line Updated licences using blanket_permission.txt. ........ r39370 | nikiml | 2007-09-18 10:28:23 -0700 (Tue, 18 Sep 2007) | 1 line tabs removes, code reformatting ........ r39371 | nikiml | 2007-09-18 10:32:06 -0700 (Tue, 18 Sep 2007) | 1 line epydoc friendlier formatting ........ r39372 | nikiml | 2007-09-18 10:51:47 -0700 (Tue, 18 Sep 2007) | 1 line fixed cpp signature related test failure ........ r39373 | garcia | 2007-09-18 12:03:47 -0700 (Tue, 18 Sep 2007) | 4 lines Added Tobias Schwinger as Review Manager for Exception. Added entry for X-files. Added download links for Property Maps and Graph. ........ r39374 | garcia | 2007-09-18 12:10:12 -0700 (Tue, 18 Sep 2007) | 2 lines Split X-Files review into three separate reviews. ........ r39375 | bemandawes | 2007-09-18 14:01:26 -0700 (Tue, 18 Sep 2007) | 1 line quiet compiler warning ........ r39376 | hljin | 2007-09-18 14:19:05 -0700 (Tue, 18 Sep 2007) | 4 lines GIL: 1. changed int to std::ptrdiff_t in utilities.hpp and iterator_from_2d.hpp for problems under 64-bit platforms 2. removed several extra semi-colons after GIL_CLASS_REQUIRE ........ r39377 | hljin | 2007-09-18 14:37:08 -0700 (Tue, 18 Sep 2007) | 1 line GIL: fixed incorrect header files for std::bad_cast ........ r39378 | noel_belcourt | 2007-09-18 15:46:26 -0700 (Tue, 18 Sep 2007) | 14 lines Remove unnecessary overhead in execunix.c related to the timeout implementation. Also removed unused variables as diagnosed by the Sgi (mipspro) compiler. Fixed const-correctness error in operations.hpp that Sgi complained about. There's no strerror_r function on Irix 6.5 so I replaced it with a strerror call. With these changes, I can now build process jam log and start running Sgi tests. ........ r39379 | noel_belcourt | 2007-09-18 18:46:11 -0700 (Tue, 18 Sep 2007) | 4 lines Undo patch of operations.hpp, Sgi wants this fix but it causes svn trunk to break. ........ r39381 | grafik | 2007-09-18 19:39:08 -0700 (Tue, 18 Sep 2007) | 1 line Fix extra, missed, para inside warning admonition. ........ r39382 | noel_belcourt | 2007-09-18 19:59:00 -0700 (Tue, 18 Sep 2007) | 8 lines Update the mipspro.jam file so have the compiler emit each referenced template in the object file where referenced and then rely on the linker to remove duplicates. Added some missing macros to sgi_mipspro.hpp. ........ r39383 | grafik | 2007-09-18 20:59:52 -0700 (Tue, 18 Sep 2007) | 1 line Style simplelist tables, to look like regular text lines. ........ r39384 | grafik | 2007-09-18 21:03:22 -0700 (Tue, 18 Sep 2007) | 1 line Don't make nav links white to prevent then from not showing up when the images are not present. ........ r39385 | grafik | 2007-09-18 21:54:30 -0700 (Tue, 18 Sep 2007) | 1 line Remove some outdated comments as some bugs are now fixed. Try to work around boostbook XSL. ........ r39392 | hljin | 2007-09-19 11:41:47 -0700 (Wed, 19 Sep 2007) | 1 line GIL: fixed the C4503 warnings under VC ........ r39393 | hljin | 2007-09-19 11:45:30 -0700 (Wed, 19 Sep 2007) | 1 line GIL: commented out unnecessary pragma warning directives ........ r39394 | bemandawes | 2007-09-19 12:28:56 -0700 (Wed, 19 Sep 2007) | 1 line Add get_posix_category, get_system_category, to solve order-of-initialization issues ........ r39395 | grafik | 2007-09-19 12:29:31 -0700 (Wed, 19 Sep 2007) | 1 line Make get-values preserve the values exactly, instead of treating them like paths and hence munging them. ........ r39396 | bemandawes | 2007-09-19 12:30:23 -0700 (Wed, 19 Sep 2007) | 1 line Add get_posix_category, get_system_category, to solve order-of-initialization issues ........ r39397 | grafik | 2007-09-19 12:47:25 -0700 (Wed, 19 Sep 2007) | 1 line Work around boostbook path issues. ........ r39398 | garcia | 2007-09-19 14:29:29 -0700 (Wed, 19 Sep 2007) | 2 lines made Tobias' reviews fast-track. ........ r39399 | noel_belcourt | 2007-09-19 21:11:11 -0700 (Wed, 19 Sep 2007) | 15 lines Fix a bug Chris Cambly reported with the timeout code on AIX. Apparently AIX doesn't permit a forked process to reference (set) memory in the parent's address space. No other system seems to object to this practice but it taught me a lesson! The fix was to move the call to get the child process start time directly before calling vfork. This isn't really fair to the forked process as we start counting time against the child process that we haven't even forked (we count the vfork/exec call overhead against the child process). Tested Rene's test.sh script on Sun, Linux, AIX, and Sgi. ........ r39400 | grafik | 2007-09-19 21:36:27 -0700 (Wed, 19 Sep 2007) | 1 line Now that the exec*.c files are really platform specific, adjust the build script to only build the needed ones for MinGW. ........ r39401 | schoepflin | 2007-09-20 00:35:43 -0700 (Thu, 20 Sep 2007) | 1 line Added missing include for assert. ........ r39404 | garcia | 2007-09-20 05:15:28 -0700 (Thu, 20 Sep 2007) | 2 lines Fixed dates and filename. ........ r39405 | johnmaddock | 2007-09-20 05:28:34 -0700 (Thu, 20 Sep 2007) | 1 line Updated ICU build options to fix build on Darwin and elsewhere. ........ r39408 | johnmaddock | 2007-09-20 05:38:53 -0700 (Thu, 20 Sep 2007) | 3 lines Update to TR1 to better support gcc. Refactored configuration settings so if the .hpp versions of the headers are included then there's no need to figure out the location of the actual std lib headers. Updated docs to match. ........ r39409 | bgubenko | 2007-09-20 05:42:27 -0700 (Thu, 20 Sep 2007) | 1 line add -AA to link actions, remove +DD64 ........ r39412 | garcia | 2007-09-20 08:34:17 -0700 (Thu, 20 Sep 2007) | 2 lines Fixed the date, updated the copy. ........ r39415 | garcia | 2007-09-20 08:59:57 -0700 (Thu, 20 Sep 2007) | 2 lines Added Lexer. ........ r39416 | grafik | 2007-09-20 09:31:44 -0700 (Thu, 20 Sep 2007) | 1 line Add partial code for indicating to the output function that a command finished because of a timeout. ........ r39417 | bgubenko | 2007-09-20 09:34:31 -0700 (Thu, 20 Sep 2007) | 1 line more conditionalization for PA-RISC ........ r39418 | bgubenko | 2007-09-20 09:59:45 -0700 (Thu, 20 Sep 2007) | 1 line check that on HP-UX, the Standard RW library is used ........ r39421 | johnmaddock | 2007-09-20 10:54:55 -0700 (Thu, 20 Sep 2007) | 1 line Oops, forgot to add new file!! ........ r39423 | noel_belcourt | 2007-09-20 12:06:54 -0700 (Thu, 20 Sep 2007) | 13 lines Added diagnostic message to output.c to inform users when a process has timed out and been killed. Because timed out processes now emit a diagnostic, I had to update option_l.jam so we wouldn't break test.sh when it runs. Minor cleanup to execunix.c to remove unneeded code and to set the process exit status as returned from waitpid. The exit status is used to identify timed out processes so we can emit a diagnostic to the user. ........ r39424 | garcia | 2007-09-20 12:39:53 -0700 (Thu, 20 Sep 2007) | 2 lines Updated. Added links for constrained value. ........ r39425 | bemandawes | 2007-09-20 12:55:32 -0700 (Thu, 20 Sep 2007) | 1 line Always update self. Updating based on file date was not reliable on all systems. ........ r39427 | pdimov | 2007-09-20 13:46:56 -0700 (Thu, 20 Sep 2007) | 1 line defined(__ppc) added (Daniel P Furlani) ........ r39428 | bemandawes | 2007-09-20 14:04:34 -0700 (Thu, 20 Sep 2007) | 1 line Strictly conforming compilers (EDG with --dep_name) require the make_* functions be defined before used. Report and fix from Markus Schopflin. EDG info from Boris Gubenko. ........ r39429 | chris_kohlhoff | 2007-09-20 15:20:57 -0700 (Thu, 20 Sep 2007) | 2 lines Larger storage size needed for Windows x64. ........ r39430 | chris_kohlhoff | 2007-09-20 15:26:55 -0700 (Thu, 20 Sep 2007) | 2 lines Move handler queue management to a separate class. ........ r39431 | chris_kohlhoff | 2007-09-20 15:30:54 -0700 (Thu, 20 Sep 2007) | 3 lines Some compilers require namespace-scope declarations of use_service, has_service and add_service. ........ r39432 | chris_kohlhoff | 2007-09-20 15:33:29 -0700 (Thu, 20 Sep 2007) | 3 lines Eliminate use of types and structure members that may not be present when build for non-XOPEN targets. ........ r39433 | chris_kohlhoff | 2007-09-20 15:44:33 -0700 (Thu, 20 Sep 2007) | 2 lines Regenerate documentation. ........ r39434 | rwgk | 2007-09-20 16:20:45 -0700 (Thu, 20 Sep 2007) | 1 line gcc 4.3.0 compatibility (resolves new "changes meaning" error) ........ r39435 | garcia | 2007-09-20 16:22:46 -0700 (Thu, 20 Sep 2007) | 2 lines A little note to minimize confusion (I know I was confused). ........ r39436 | chris_kohlhoff | 2007-09-20 22:42:55 -0700 (Thu, 20 Sep 2007) | 2 lines Fix documentation generation. ........ r39438 | bemandawes | 2007-09-21 04:45:23 -0700 (Fri, 21 Sep 2007) | 1 line Some compilers require all of the make_error_* functions be template specializations. See prior log message. ........ r39440 | bemandawes | 2007-09-21 04:58:05 -0700 (Fri, 21 Sep 2007) | 1 line Add revision to collected, uploaded, info ........ r39441 | bemandawes | 2007-09-21 04:59:54 -0700 (Fri, 21 Sep 2007) | 1 line Add revision to collected, uploaded, info. Add --have-source, --skip-tests options to ease regression.py testing. ........ r39442 | garcia | 2007-09-21 05:33:31 -0700 (Fri, 21 Sep 2007) | 2 lines small html and grammar fixes. ........ r39443 | chris_kohlhoff | 2007-09-21 05:34:19 -0700 (Fri, 21 Sep 2007) | 5 lines Strict compilers don't like it when you pass a function with C linkage as an argument when the parameter type has C++ linkage. Try using the type of the msghdr::msg_namelen field as an alternative way of deducing the socklen_t-equivalent type. ........ r39447 | bemandawes | 2007-09-21 07:46:04 -0700 (Fri, 21 Sep 2007) | 1 line revision default needs actual value ........ r39448 | danmarsden | 2007-09-21 08:44:57 -0700 (Fri, 21 Sep 2007) | 1 line fixing result of related fusion docs issues for fold, accumulate, and transform view/alg ........ r39449 | bemandawes | 2007-09-21 09:42:27 -0700 (Fri, 21 Sep 2007) | 1 line Fix order-of-initialization problem, add initialization_test.cpp to detect regression. ........ r39450 | grafik | 2007-09-21 10:14:13 -0700 (Fri, 21 Sep 2007) | 1 line Add svn_info.txt file to annotate the revision exported. ........ r39464 | igaztanaga | 2007-09-21 13:45:14 -0700 (Fri, 21 Sep 2007) | 2 lines Glenn Schrader patch: Segmentation fault with 1.34+ on Linux x86_64. Reason: The ~ only complemented the 32 bit unsigned value. When the value was expanded into a size_t the value isn't sign extended so the upper 32 bits wind up being zero. Since this is used as an address mask the upper half of the address is zeroed. ........ r39465 | bemandawes | 2007-09-21 13:57:44 -0700 (Fri, 21 Sep 2007) | 1 line Eliminate Concept library use to reduce dependencies ........ r39466 | grafik | 2007-09-21 14:01:45 -0700 (Fri, 21 Sep 2007) | 1 line Adjust timing to avoid spurious test failures on busy machines. ........ r39467 | noel_belcourt | 2007-09-21 15:38:17 -0700 (Fri, 21 Sep 2007) | 21 lines Another patch to fix the -lx timeout code. Some actions spawn sub-processes after bjam forks a new process (for example, after g++ is forked by bjam, g++ then forks sub-processes like cc1plus). The timeout code would kill the g++ process, but might not kill the subprocesses spawned by g++. I fixed this problem by making the bjam fork'ed process (g++) a session leader by calling setsid() before calling exec. The setsid call, in essence, gives all child processes a parent process id (ppid) of the g++ process id. This guarantees that killing g++ will kill all child processes spawned by g++ as well. One last comment on the maximum process time before a process is actually killed. The worst case process elapsed time is 2x seconds if -lx is given. The reason is that a process might be one second away from being killed and, if there's no other signal activity, the select function will wait x seconds before timing out and killing any active processes. So if you say -lx and monitor a build known to have lengthy processes, you may see a process with up to 2x seconds of time before it is killed. ........ r39468 | djowel | 2007-09-21 18:05:29 -0700 (Fri, 21 Sep 2007) | 1 line Doc updates ........ r39469 | djowel | 2007-09-21 18:08:51 -0700 (Fri, 21 Sep 2007) | 1 line bugfix tuples::null_type and tuples::tuple<> iterators not comparing ok. ........ r39470 | igaztanaga | 2007-09-21 23:15:21 -0700 (Fri, 21 Sep 2007) | 1 line Sign extension bug. Not should be applied after the constant has been expanded to size_t. Thanks to Glenn Schrader. ........ r39473 | johnmaddock | 2007-09-22 02:24:05 -0700 (Sat, 22 Sep 2007) | 1 line Fix for gcc -Wundef warnings. See http://svn.boost.org/trac/boost/ticket/1130. ........ r39474 | t_schwinger | 2007-09-22 04:09:35 -0700 (Sat, 22 Sep 2007) | 2 lines adds concept examples ........ r39475 | johnmaddock | 2007-09-22 04:27:25 -0700 (Sat, 22 Sep 2007) | 1 line Updated license declaration. ........ r39477 | bemandawes | 2007-09-22 07:39:50 -0700 (Sat, 22 Sep 2007) | 1 line Add revision to column heads. Patch courtesy of Sebastian Redl. ........ r39480 | aaron_windsor | 2007-09-22 10:41:18 -0700 (Sat, 22 Sep 2007) | 1 line Some fixes for errors and warnings on HP cxx. ........ r39481 | eric_niebler | 2007-09-22 12:30:25 -0700 (Sat, 22 Sep 2007) | 1 line attempt to fix hp tru64 ........ r39484 | ramey | 2007-09-22 14:24:41 -0700 (Sat, 22 Sep 2007) | 1 line merged in changes - tested with gcc and msvc ........ r39485 | nmusatti | 2007-09-23 05:47:52 -0700 (Sun, 23 Sep 2007) | 1 line Updated to support C++Builder 2007 Update 3 (bcc32 5.9.2) ........ r39490 | johnmaddock | 2007-09-23 10:49:44 -0700 (Sun, 23 Sep 2007) | 1 line Fix up file so it can be compiled in C mode. ........ r39492 | noel_belcourt | 2007-09-23 14:31:43 -0700 (Sun, 23 Sep 2007) | 5 lines Fix problems with Pathscale toolset (-G and -h options are unknown). Thanks John Maddock for pointing these out. ........ r39497 | djowel | 2007-09-23 23:03:12 -0700 (Sun, 23 Sep 2007) | 1 line added new import syntax for ignoring code. ........ r39498 | schoepflin | 2007-09-24 00:31:43 -0700 (Mon, 24 Sep 2007) | 1 line Removed unused variable. ........ r39499 | schoepflin | 2007-09-24 00:38:35 -0700 (Mon, 24 Sep 2007) | 1 line Add needed include (according to XOPEN) for definition of WIFEXITED and WEXITSTATUS. ........ r39502 | chris_kohlhoff | 2007-09-24 05:53:37 -0700 (Mon, 24 Sep 2007) | 2 lines Use a switch rather than an array to translate system_category error codes to their corresponding default error conditions. Add translations for the Winsock error codes. ........ r39503 | chris_kohlhoff | 2007-09-24 06:19:31 -0700 (Mon, 24 Sep 2007) | 2 lines Try making the ip::multicast::enable_loopback socket option an unsigned char on AIX. ........ r39504 | chris_kohlhoff | 2007-09-24 06:21:03 -0700 (Mon, 24 Sep 2007) | 3 lines Check whether exceptions are enabled on the output iostream and throw or not throw errors accordingly. ........ r39505 | chris_kohlhoff | 2007-09-24 06:21:49 -0700 (Mon, 24 Sep 2007) | 2 lines Output error codes and error messages when a test fails. ........ r39506 | grafik | 2007-09-24 06:24:23 -0700 (Mon, 24 Sep 2007) | 1 line Make per target manifest files and a single global catalog files, so that one can have multiple boostbook targets in one project. ........ r39507 | chris_kohlhoff | 2007-09-24 06:29:12 -0700 (Mon, 24 Sep 2007) | 2 lines Fix warning on AIX about omitted 'private' keyword when deriving from noncopyable. ........ r39508 | bemandawes | 2007-09-24 06:32:43 -0700 (Mon, 24 Sep 2007) | 1 line Replace use of re in detecting revision with string functions. Nicola Musatti reported problems with Italian version of XP. Although this change should fix the crash, it isn't the final solution. ........ r39509 | chris_kohlhoff | 2007-09-24 06:32:47 -0700 (Mon, 24 Sep 2007) | 2 lines Add extra library 'ipv6' needed on HP-UX. ........ r39510 | hljin | 2007-09-24 11:20:56 -0700 (Mon, 24 Sep 2007) | 1 line GIL: fixed the test files to the new bit_aligned_pixel_reference interface ........ r39511 | hljin | 2007-09-24 11:25:48 -0700 (Mon, 24 Sep 2007) | 1 line GIL: fixed endian-ness related bugs for bit_aligned_pixel_reference and pixel_aligned_pixel_iterator ........ r39512 | hljin | 2007-09-24 11:45:57 -0700 (Mon, 24 Sep 2007) | 1 line GIL: added a MSVC macro in the Jamfile to suppress warnings on unsafe STL calls ........ r39513 | guwi17 | 2007-09-24 14:01:11 -0700 (Mon, 24 Sep 2007) | 2 lines - Ticket #1234 : patch committed as suggested. ........ r39514 | noel_belcourt | 2007-09-24 14:01:45 -0700 (Mon, 24 Sep 2007) | 7 lines Fix a problem with the -lx timeout code on ppc darwin. The intel based darwin system was killing subprocesses okay but for some reason, ppc systems were not. This change fixes the timeout code so subprocesses are properly killed on ppc darwin systems. ........ r39516 | guwi17 | 2007-09-24 14:26:00 -0700 (Mon, 24 Sep 2007) | 2 lines - Ticket #688 : Outer iterators can now skip empty rows. Thus matrix_assign works now as expected. ........ r39517 | chris_kohlhoff | 2007-09-24 18:56:46 -0700 (Mon, 24 Sep 2007) | 2 lines Add missing "lib ipv6 ;" that's needed for HP-UX. ........ r39518 | noel_belcourt | 2007-09-24 20:39:06 -0700 (Mon, 24 Sep 2007) | 3 lines Get pic and threading working with pathscale. ........ r39519 | schoepflin | 2007-09-25 01:46:31 -0700 (Tue, 25 Sep 2007) | 1 line Added missing include. ........ r39520 | bemandawes | 2007-09-25 06:45:52 -0700 (Tue, 25 Sep 2007) | 1 line Clear compiler warnings ........ r39523 | garcia | 2007-09-25 08:32:23 -0700 (Tue, 25 Sep 2007) | 2 lines Initial Revision. Stolen from the write-graphviz.html docs. ........ r39524 | garcia | 2007-09-25 08:36:35 -0700 (Tue, 25 Sep 2007) | 2 lines Made the output of the example program more realistic. ........ r39525 | bemandawes | 2007-09-25 10:27:04 -0700 (Tue, 25 Sep 2007) | 1 line Supply std:: to fix Borland 5.9.2 errors ........ r39526 | bemandawes | 2007-09-25 10:55:58 -0700 (Tue, 25 Sep 2007) | 1 line Fix revision not propagating (Sebastian Redl) ........ r39531 | noel_belcourt | 2007-09-25 13:34:36 -0700 (Tue, 25 Sep 2007) | 9 lines Add pgi.hpp configuration file for the Portland Group. Fixed problems with threading, pic code, missing math library, etc. to get mipspro toolset working better. Updated pgi toolset to fix various problems with the link line. ........ r39532 | garcia | 2007-09-25 15:49:00 -0700 (Tue, 25 Sep 2007) | 2 lines set dates for reviews. ........ r39534 | noel_belcourt | 2007-09-25 16:11:12 -0700 (Tue, 25 Sep 2007) | 9 lines Add macros to gcc.hpp to support pathscale toolset. Added an optimization to the -lx unix timeout code. I compute the amount of time the select call should sleep until the "oldest" process times out. This ensures that all processes that timeout will be killed within one second of their expiration. ........ r39544 | garcia | 2007-09-26 08:07:19 -0700 (Wed, 26 Sep 2007) | 2 lines Thread-Safe Signals. ........ r39545 | igaztanaga | 2007-09-26 08:07:29 -0700 (Wed, 26 Sep 2007) | 1 line Changes introduced by the new intrusive version. ........ r39546 | igaztanaga | 2007-09-26 08:11:38 -0700 (Wed, 26 Sep 2007) | 1 line Changes introduced by the new intrusive version. ........ r39547 | igaztanaga | 2007-09-26 08:25:36 -0700 (Wed, 26 Sep 2007) | 1 line Changes introduced by the new intrusive version. ........ r39548 | igaztanaga | 2007-09-26 08:26:35 -0700 (Wed, 26 Sep 2007) | 1 line Changes introduced by the new intrusive version. ........ r39549 | igaztanaga | 2007-09-26 10:35:50 -0700 (Wed, 26 Sep 2007) | 1 line Changes introduced by the new intrusive version. ........ r39550 | igaztanaga | 2007-09-26 10:38:32 -0700 (Wed, 26 Sep 2007) | 1 line Changes introduced by the new intrusive version. ........ r39551 | igaztanaga | 2007-09-26 10:39:06 -0700 (Wed, 26 Sep 2007) | 1 line Changes introduced by the new intrusive version. ........ r39552 | igaztanaga | 2007-09-26 10:46:34 -0700 (Wed, 26 Sep 2007) | 1 line Changes introduced by the new intrusive version. ........ r39553 | bemandawes | 2007-09-26 10:48:27 -0700 (Wed, 26 Sep 2007) | 1 line Turns out the --dep_name errors were due to functions in the wrong namespace (Chris Kohlhoff) ........ r39554 | igaztanaga | 2007-09-26 10:51:58 -0700 (Wed, 26 Sep 2007) | 1 line Changes introduced by the new intrusive version. ........ r39555 | igaztanaga | 2007-09-26 10:53:01 -0700 (Wed, 26 Sep 2007) | 1 line Changes introduced by the new intrusive version. ........ r39556 | bemandawes | 2007-09-26 11:11:27 -0700 (Wed, 26 Sep 2007) | 1 line Win64 returns ERROR_BAD_PATHNAME for //nosuch, while Win32 returns ERROR_BAD_NETPATH ........ r39561 | bemandawes | 2007-09-26 17:22:16 -0700 (Wed, 26 Sep 2007) | 1 line Get rid of <runtime-link>static. Appears to cause problems on Sun and perhaps other Unix boxes. ........ r39563 | noel_belcourt | 2007-09-26 20:41:11 -0700 (Wed, 26 Sep 2007) | 4 lines Fix pathscale.jam so -rpath is passed correctly to the linker. ........ r39574 | bemandawes | 2007-09-27 06:44:55 -0700 (Thu, 27 Sep 2007) | 1 line Change location of svn_info.txt to boost_root, as that's where it is in the tarball ........ r39575 | garcia | 2007-09-27 08:52:41 -0700 (Thu, 27 Sep 2007) | 2 lines exception review dates. ........ r39576 | igaztanaga | 2007-09-27 09:38:14 -0700 (Thu, 27 Sep 2007) | 1 line Updated unusable toolsets for Interprocess and Intrusive ........ r39577 | bemandawes | 2007-09-27 09:56:23 -0700 (Thu, 27 Sep 2007) | 1 line AIX treats ENOTEMPTY and EEXIST as the same value. Reported by Chris Cambly ........ r39583 | t_schwinger | 2007-09-27 14:25:18 -0700 (Thu, 27 Sep 2007) | 3 lines changes review dates for Boost.Exception as agreed on with Ron ........ r39584 | cepstein | 2007-09-27 18:30:27 -0700 (Thu, 27 Sep 2007) | 1 line Changed required toolset gcc-4.1.1_sunos_i86pc to gcc-4.1.2_sunos_i86pc ........ r39585 | bemandawes | 2007-09-27 19:03:29 -0700 (Thu, 27 Sep 2007) | 1 line Quiet compiler warnings ........ r39586 | schoepflin | 2007-09-28 00:19:29 -0700 (Fri, 28 Sep 2007) | 1 line Added missing include. ........ r39587 | schoepflin | 2007-09-28 03:28:26 -0700 (Fri, 28 Sep 2007) | 1 line Added two missing fwd declarations and a Tru64/CXX specific workaround. ........ r39588 | garcia | 2007-09-28 12:39:57 -0700 (Fri, 28 Sep 2007) | 2 lines Exception has begun. ........ r39589 | burbelgruff | 2007-09-28 13:09:01 -0700 (Fri, 28 Sep 2007) | 1 line Implement typeof emulation for the Borland compiler. Tested with Borland 5.8.2 ........ r39590 | burbelgruff | 2007-09-28 13:11:32 -0700 (Fri, 28 Sep 2007) | 1 line Modified tests to account for Borland compiler ........ r39591 | burbelgruff | 2007-09-28 13:16:39 -0700 (Fri, 28 Sep 2007) | 1 line Updated failures markup to account for typeof support for Borland ........ r39592 | grafik | 2007-09-28 18:50:16 -0700 (Fri, 28 Sep 2007) | 1 line Minor adjustment to save half of the upload bandwidth, at the cost of another layer of compression on both ends. ........ r39595 | eric_niebler | 2007-09-29 08:45:08 -0700 (Sat, 29 Sep 2007) | 1 line remove unnecessary semicolons ........ r39596 | eric_niebler | 2007-09-29 08:51:29 -0700 (Sat, 29 Sep 2007) | 1 line mark xpressive unusable with sun compiler ........ r39597 | vladimir_prus | 2007-09-29 10:12:49 -0700 (Sat, 29 Sep 2007) | 1 line Summarize changes ........ r39601 | vladimir_prus | 2007-09-29 10:28:10 -0700 (Sat, 29 Sep 2007) | 1 line Update version. ........ r39602 | vladimir_prus | 2007-09-29 10:29:49 -0700 (Sat, 29 Sep 2007) | 1 line Update download locations. ........ r39603 | vladimir_prus | 2007-09-29 10:31:44 -0700 (Sat, 29 Sep 2007) | 1 line Adjust date ........ r39605 | vladimir_prus | 2007-09-29 11:17:27 -0700 (Sat, 29 Sep 2007) | 7 lines Adjust boostbook test for boostbook changes. It seems that doxygen target now produces a target with different name, and it does not produce any target unless there's explicit dependency on it. I'm not sure I like the change, but anyway. ........ r39606 | vladimir_prus | 2007-09-29 11:21:49 -0700 (Sat, 29 Sep 2007) | 1 line Adjust Qt4 example test ........ r39607 | vladimir_prus | 2007-09-29 11:22:57 -0700 (Sat, 29 Sep 2007) | 1 line Set executable flag ........ r39608 | grafik | 2007-09-29 11:30:06 -0700 (Sat, 29 Sep 2007) | 1 line Fix action multi-generation for case when there are no targets for the action. ........ r39609 | bemandawes | 2007-09-29 12:40:23 -0700 (Sat, 29 Sep 2007) | 1 line Limit Windows expected message check to US English ........ r39610 | grafik | 2007-09-29 12:48:51 -0700 (Sat, 29 Sep 2007) | 1 line Update distribution and build scripts to account for inclusion of boehm_gc sources. Add history of changes to docs. ........ r39611 | grafik | 2007-09-29 12:58:28 -0700 (Sat, 29 Sep 2007) | 1 line Set executable flag. ........ r39612 | noel_belcourt | 2007-09-29 13:23:29 -0700 (Sat, 29 Sep 2007) | 6 lines When terminating unix processes I forgot to check for negative time differences. This patch only sets the select timeout if the difference between the requested and consumed time is positive. ........ r39613 | noel_belcourt | 2007-09-29 14:47:24 -0700 (Sat, 29 Sep 2007) | 15 lines Renamed variables used in timeout code so I don't make silly mistakes like using a negative time for the select timeout. Also added the setrlimit call back in since the named_condition_test occassionally consumes multiple cpus worth of time. That is, when I ran this test -j4, I found the named_condition test consuming 4 cpus worth of time so after 300 seconds of elapsed time when the test timed out, it had consumed almost 1200 seconds worth of cpu. While the test is killed after the elapsed time expired, setting a hard cpu limit ensures it's killed after consuming either -lx seconds worth of cpu or -lx seconds of elapsed time. ........ r39614 | eric_niebler | 2007-09-29 21:05:31 -0700 (Sat, 29 Sep 2007) | 1 line slightly more informative test errors ........ r39615 | garcia | 2007-09-30 07:58:38 -0700 (Sun, 30 Sep 2007) | 2 lines FSM dates. ........ r39616 | grafik | 2007-09-30 08:52:31 -0700 (Sun, 30 Sep 2007) | 1 line Fix missing files in tar generation, by using a tar format that doesn't have short limits on file name lengths. (and that is still readable by the Python tarfile module) ........ r39617 | grafik | 2007-09-30 09:33:36 -0700 (Sun, 30 Sep 2007) | 1 line Fix copying the wrong files for the archive, and prefer using POSIX/pax format. ........ r39619 | johnmaddock | 2007-09-30 10:29:54 -0700 (Sun, 30 Sep 2007) | 1 line Fix for failing Borland test results. ........ r39620 | grafik | 2007-09-30 10:33:21 -0700 (Sun, 30 Sep 2007) | 1 line Bump to bjam version 3.1.16 ........ r39621 | johnmaddock | 2007-09-30 10:35:14 -0700 (Sun, 30 Sep 2007) | 1 line Touched file to force regressions runners to rebuild the test. ........ r39623 | vladimir_prus | 2007-09-30 12:05:38 -0700 (Sun, 30 Sep 2007) | 1 line Update example test-config.jam ........ r39624 | vladimir_prus | 2007-09-30 12:06:19 -0700 (Sun, 30 Sep 2007) | 1 line Update roll.sh ........ r39630 | vladimir_prus | 2007-09-30 23:04:17 -0700 (Sun, 30 Sep 2007) | 1 line Correct example test-config.jam ........ r39631 | vladimir_prus | 2007-09-30 23:05:03 -0700 (Sun, 30 Sep 2007) | 1 line Update release procedure ........ r39632 | vladimir_prus | 2007-09-30 23:06:25 -0700 (Sun, 30 Sep 2007) | 1 line Set release date ........ r39633 | johnmaddock | 2007-10-01 01:29:15 -0700 (Mon, 01 Oct 2007) | 1 line Disable test for Intel-10. ........ r39634 | johnmaddock | 2007-10-01 02:38:05 -0700 (Mon, 01 Oct 2007) | 1 line Almost get things building with Borland. ........ r39635 | johnmaddock | 2007-10-01 02:39:07 -0700 (Mon, 01 Oct 2007) | 1 line Added workarounds for broken WCHAR_MAX. ........ r39638 | guwi17 | 2007-10-01 06:04:29 -0700 (Mon, 01 Oct 2007) | 2 lines - added redirect from index.html to real start page: index.htm ........ r39641 | vladimir_prus | 2007-10-01 10:29:11 -0700 (Mon, 01 Oct 2007) | 3 lines Allow to specify the list of bound targets and flags, when defining action from Python. ........ r39642 | vladimir_prus | 2007-10-01 10:34:43 -0700 (Mon, 01 Oct 2007) | 2 lines Fix gcc on HP-UX. Patch from Boris Gubenko. ........ r39643 | vladimir_prus | 2007-10-01 11:27:53 -0700 (Mon, 01 Oct 2007) | 3 lines Append .lib suffix to library names without :S= modifier. The latter will remove any existing suffix. ........ r39644 | vladimir_prus | 2007-10-01 11:40:44 -0700 (Mon, 01 Oct 2007) | 4 lines * builtin.jam (searched-lib-generator.run): When no <name> feature present, use requested name. ........ r39645 | vladimir_prus | 2007-10-01 11:44:44 -0700 (Mon, 01 Oct 2007) | 8 lines STLPort improvements: - Add _static in library name as necessary - Define _STLP_USE_DYNAMIC_LIB depending on <runtime-link>, not <runtime-debugging> Patch from David Deakins. Addresses #1177. ........ r39646 | vladimir_prus | 2007-10-01 11:53:05 -0700 (Mon, 01 Oct 2007) | 5 lines Disallow using stlport by just adding /stlport//stlport to sources. This logic was trying to use non-free usage requirements that are not supported, and can potentially result in inconsistent builds. ........ r39647 | bemandawes | 2007-10-01 14:50:02 -0700 (Mon, 01 Oct 2007) | 1 line Detect and report missing boost-test lines in input log file ........ r39648 | bemandawes | 2007-10-01 18:33:00 -0700 (Mon, 01 Oct 2007) | 1 line Add --compile-time and --run-time options ........ r39649 | eric_niebler | 2007-10-01 23:47:58 -0700 (Mon, 01 Oct 2007) | 1 line attempt to fix xpressive formatting bug on tru64 ........ r39651 | hkaiser | 2007-10-02 08:10:05 -0700 (Tue, 02 Oct 2007) | 1 line [Wave] Unterminated C++/C comment diagnostics are now a warning and not an error anymore. ........ r39652 | bemandawes | 2007-10-02 09:30:04 -0700 (Tue, 02 Oct 2007) | 1 line Remove dependency on boost::bind so that tests will still work on broken compilers where bind fails. ........ r39654 | hkaiser | 2007-10-02 10:24:17 -0700 (Tue, 02 Oct 2007) | 1 line Wave: Fixed the waveidl example ........ r39655 | johnmaddock | 2007-10-02 10:28:01 -0700 (Tue, 02 Oct 2007) | 1 line Update for Borland compilers: new Borland versions, and new tests, but otherwise the same failures as before. ........ r39657 | johnmaddock | 2007-10-02 10:41:35 -0700 (Tue, 02 Oct 2007) | 1 line Fix for Borland compilers. ........ r39658 | eric_niebler | 2007-10-02 10:58:33 -0700 (Tue, 02 Oct 2007) | 1 line work around msvc-7.1 bugs ........ r39660 | bgubenko | 2007-10-02 12:07:37 -0700 (Tue, 02 Oct 2007) | 1 line mark lambda library test control_structures for gcc 4.2 series ........ r39663 | nmusatti | 2007-10-02 13:32:05 -0700 (Tue, 02 Oct 2007) | 1 line Updated to support C++Builder 2007 Update 3 (bcc32 5.9.2) ........ r39664 | chris_kohlhoff | 2007-10-02 18:40:55 -0700 (Tue, 02 Oct 2007) | 2 lines Add missing #include needed for MinGW. ........ r39665 | chris_kohlhoff | 2007-10-02 18:43:08 -0700 (Tue, 02 Oct 2007) | 3 lines Try using an unsigned char for the multicast::enable_loopback socket option when compiling for Tru64. ........ r39673 | hkaiser | 2007-10-03 06:18:23 -0700 (Wed, 03 Oct 2007) | 1 line Wave: Fixed a regex definition problem in the Slex lexer. ........ r39674 | hkaiser | 2007-10-03 06:44:42 -0700 (Wed, 03 Oct 2007) | 1 line Wave: Fixed a minor problem in the predefined macros code. ........ r39675 | hkaiser | 2007-10-03 06:51:32 -0700 (Wed, 03 Oct 2007) | 1 line Wave: Updated test to reflect recent error text changes. ........ r39676 | bemandawes | 2007-10-03 10:30:23 -0700 (Wed, 03 Oct 2007) | 1 line Add revision number to heading if boost-root is subversion working copy. Use BOOST_PLATFORM for platform description. Fix problem if test type was run_pyd. Make Boost build v2 the default. Link to www.boost.org for boost.png. ........ r39677 | burbelgruff | 2007-10-03 11:45:56 -0700 (Wed, 03 Oct 2007) | 1 line Mark borland 5.6.4 as unusable ........ r39678 | noel_belcourt | 2007-10-03 12:00:18 -0700 (Wed, 03 Oct 2007) | 3 lines Fix problem with -rpath for pathscale compiler. ........ r39680 | vladimir_prus | 2007-10-04 01:15:13 -0700 (Thu, 04 Oct 2007) | 1 line Redo homepage ........ r39681 | vladimir_prus | 2007-10-04 01:18:40 -0700 (Thu, 04 Oct 2007) | 3 lines When building docs, use the same Boost.Build that we're rolling. ........ r39682 | johnmaddock | 2007-10-04 02:18:16 -0700 (Thu, 04 Oct 2007) | 1 line Added tip to function_traits.qbk, rebuilt docs. ........ r39683 | schoepflin | 2007-10-04 04:51:51 -0700 (Thu, 04 Oct 2007) | 1 line Added missing boost namespace reference to as_literal. ........ r39684 | hkaiser | 2007-10-04 08:01:23 -0700 (Thu, 04 Oct 2007) | 1 line Wave: Changed an error text. ........ r39685 | igaztanaga | 2007-10-04 09:41:15 -0700 (Thu, 04 Oct 2007) | 1 line Marked acc as n/a for Interprocess. ........ r39686 | hkaiser | 2007-10-04 10:49:20 -0700 (Thu, 04 Oct 2007) | 1 line Trying to work around a SUN 5.8 compiler error. ........ r39687 | hkaiser | 2007-10-04 10:55:20 -0700 (Thu, 04 Oct 2007) | 1 line Wave: Silenced a SUN compiler warning. ........ r39688 | hkaiser | 2007-10-04 16:37:25 -0700 (Thu, 04 Oct 2007) | 1 line Wave: Trying to fix MSVC regressions. ........ r39689 | grafik | 2007-10-04 20:09:03 -0700 (Thu, 04 Oct 2007) | 1 line Fix mislabeled argument to collect_logs(). ........ r39690 | eric_niebler | 2007-10-04 23:50:00 -0700 (Thu, 04 Oct 2007) | 1 line one more try at getting tru64 tests to pass ........ r39691 | burbelgruff | 2007-10-05 00:06:13 -0700 (Fri, 05 Oct 2007) | 1 line Update typeof emulation to support Borland 5.9.2 ........ r39692 | danieljames | 2007-10-05 02:43:01 -0700 (Fri, 05 Oct 2007) | 2 lines Fix an if statement. ........ r39693 | anthonyw | 2007-10-05 02:46:00 -0700 (Fri, 05 Oct 2007) | 1 line Updated in line with RC 1.34 ........ r39694 | danieljames | 2007-10-05 02:46:22 -0700 (Fri, 05 Oct 2007) | 3 lines On Cygwin use a binary based hash function for floating point numbers, as Cygwin doesn't have decent floating point functions for long doubles. ........ r39701 | anthonyw | 2007-10-05 05:10:06 -0700 (Fri, 05 Oct 2007) | 1 line Changed call_once to header-only template that takes arbitrary function objects; this changes parameter order ........ r39702 | anthonyw | 2007-10-05 05:20:50 -0700 (Fri, 05 Oct 2007) | 1 line added platform-specific call_once implementations ........ r39703 | anthonyw | 2007-10-05 05:21:55 -0700 (Fri, 05 Oct 2007) | 1 line added platform dispatcher ........ r39704 | burbelgruff | 2007-10-05 05:39:15 -0700 (Fri, 05 Oct 2007) | 1 line typeof support for template template arguments for Borland 5.9.2 (also used for Borland 5.8.2) (reverted to old scheme for other compilers) ........ r39705 | anthonyw | 2007-10-05 05:50:29 -0700 (Fri, 05 Oct 2007) | 1 line include config header from right place for pthread/once.hpp ........ r39707 | burbelgruff | 2007-10-05 07:32:04 -0700 (Fri, 05 Oct 2007) | 1 line Better support for BOOST_TYPEOF_NESTED_TYPEDEF for Borland ........ r39708 | johnmaddock | 2007-10-05 08:00:40 -0700 (Fri, 05 Oct 2007) | 1 line Disable PP-logic for __DECCXX compiler: WCAHR_MAX is defined but doesn't work in PP-logic on that platform. ........ r39709 | johnmaddock | 2007-10-05 08:07:44 -0700 (Fri, 05 Oct 2007) | 1 line run_random was failing in the last release with Borland but wasn't marked up for some reason. ........ r39710 | johnmaddock | 2007-10-05 08:47:02 -0700 (Fri, 05 Oct 2007) | 1 line Markup for common_factor_test and Borland along with explanation of the issue (a code generation bug apparently). ........ r39711 | danieljames | 2007-10-05 09:57:38 -0700 (Fri, 05 Oct 2007) | 2 lines Generate documentation for typedef members of classes. Fixes #1218. ........ r39714 | johnmaddock | 2007-10-05 10:49:12 -0700 (Fri, 05 Oct 2007) | 1 line Update Jamfiles to make PDF generation easier. ........ r39715 | igaztanaga | 2007-10-05 10:54:39 -0700 (Fri, 05 Oct 2007) | 1 line Marked hpp_cxx* as broken for Interprocess/Intrusive, and acc for Interprocess. ........ r39716 | hkaiser | 2007-10-05 11:48:56 -0700 (Fri, 05 Oct 2007) | 1 line Pool: Added detection of availability of pthreads using the BOOST_HAS_PTHREADS constant. ........ r39717 | eric_niebler | 2007-10-05 12:00:43 -0700 (Fri, 05 Oct 2007) | 1 line put format string argument in non-deduced context ........ r39718 | hkaiser | 2007-10-05 15:04:04 -0700 (Fri, 05 Oct 2007) | 1 line Added a compiler workaround for IntelV9.1/linux. ........ r39719 | hkaiser | 2007-10-05 16:25:09 -0700 (Fri, 05 Oct 2007) | 1 line Wave: Fixed missing test case in regression status pages. ........ r39720 | hkaiser | 2007-10-05 16:27:43 -0700 (Fri, 05 Oct 2007) | 1 line ProgramOptions: Silenced VC++ warnings. ........ r39721 | hkaiser | 2007-10-05 17:26:30 -0700 (Fri, 05 Oct 2007) | 1 line Wave: Fixed typos in comments. ........ r39722 | pdimov | 2007-10-06 01:59:01 -0700 (Sat, 06 Oct 2007) | 1 line Marked up bind_placeholder_test ........ r39723 | johnmaddock | 2007-10-06 04:12:33 -0700 (Sat, 06 Oct 2007) | 1 line Fix Borland infinite looping issue. ........ r39724 | djowel | 2007-10-06 07:10:30 -0700 (Sat, 06 Oct 2007) | 1 line fix for incomplete type is not allowed when tuple is forward declared. fixed the other as_xxx files as well. ........ r39725 | johnmaddock | 2007-10-06 10:40:20 -0700 (Sat, 06 Oct 2007) | 1 line Fix typo. ........ r39726 | hkaiser | 2007-10-06 10:43:08 -0700 (Sat, 06 Oct 2007) | 1 line Wave: Fixed Jamfile for regression tests. ........ r39727 | johnmaddock | 2007-10-06 10:46:25 -0700 (Sat, 06 Oct 2007) | 1 line Update docs to match quickbook. ........ r39728 | hkaiser | 2007-10-06 10:54:28 -0700 (Sat, 06 Oct 2007) | 1 line Wave: added a missing header. ........ r39729 | vladimir_prus | 2007-10-06 11:24:04 -0700 (Sat, 06 Oct 2007) | 3 lines When we skip build of a target, say about that in --debug-building output. ........ r39731 | grafik | 2007-10-06 12:46:39 -0700 (Sat, 06 Oct 2007) | 1 line Remove BPL build conditional as it prevents normal build failures. ........ r39751 | nmusatti | 2007-10-06 14:32:05 -0700 (Sat, 06 Oct 2007) | 1 line Updated to support C++Builder 2007 Update 3 (bcc32 5.9.2) ........ r39752 | chris_kohlhoff | 2007-10-06 17:11:25 -0700 (Sat, 06 Oct 2007) | 5 lines The epoll_wait function can produce EPOLLHUP events for a descriptor even if not specifically requested, resulting in a tight loop of calls to epoll_wait. Delete a descriptor from epoll if an EPOLLHUP event is received and there are no registered operations for the descriptor. ........ r39753 | troyer | 2007-10-06 23:57:36 -0700 (Sat, 06 Oct 2007) | 1 line Fix for Borland ........ r39755 | johnmaddock | 2007-10-07 04:08:51 -0700 (Sun, 07 Oct 2007) | 1 line math_info doesn't link with Borland unless built against the static runtime. ........ r39756 | johnmaddock | 2007-10-07 04:09:45 -0700 (Sun, 07 Oct 2007) | 1 line math_info doesn't link with Borland unless built against the static runtime. ........ r39757 | johnmaddock | 2007-10-07 04:10:24 -0700 (Sun, 07 Oct 2007) | 1 line Added expm1 and lop1p support. ........ r39759 | hkaiser | 2007-10-07 07:46:52 -0700 (Sun, 07 Oct 2007) | 1 line Spirit: Fixed a couple of pedantic gcc warnings. ........ r39760 | hkaiser | 2007-10-07 07:51:46 -0700 (Sun, 07 Oct 2007) | 1 line Wave: Silenced a couple of pedantic gcc warnings. ........ r39761 | hkaiser | 2007-10-07 08:55:00 -0700 (Sun, 07 Oct 2007) | 1 line Spirit: Fixed a failing unit test. ........ r39762 | hkaiser | 2007-10-07 08:57:37 -0700 (Sun, 07 Oct 2007) | 1 line Spirit: Silenced some warnings. ........ r39763 | aaron_windsor | 2007-10-07 09:52:39 -0700 (Sun, 07 Oct 2007) | 1 line Fixing some errors and warnings on the planar graph tests coming from Sun compilers. ........ r39766 | danieljames | 2007-10-07 11:08:35 -0700 (Sun, 07 Oct 2007) | 1 line Include the size of function pointers, void* and std::size_t in the output of the function pointer hash test, to give me a clue why it's failling on a platform. ........ r39767 | aaron_windsor | 2007-10-07 11:43:16 -0700 (Sun, 07 Oct 2007) | 1 line Fix config issue for cycle ratio tests - the path to the input file used in the test should be relative to the graph test subdirectory. ........ r39772 | bemandawes | 2007-10-07 14:59:46 -0700 (Sun, 07 Oct 2007) | 1 line Appy Godegear patches from Nicola Musatti. Ticket #1304 ........ r39773 | aaron_windsor | 2007-10-07 16:49:07 -0700 (Sun, 07 Oct 2007) | 1 line Adding some missing typenames ........ r39774 | eric_niebler | 2007-10-07 17:44:52 -0700 (Sun, 07 Oct 2007) | 1 line add awesome number parser from Dave Jenkins ........ r39776 | eric_niebler | 2007-10-07 18:15:01 -0700 (Sun, 07 Oct 2007) | 1 line fix warnings under msvc ........ r39777 | anthonyw | 2007-10-08 00:18:27 -0700 (Mon, 08 Oct 2007) | 1 line Use InterlockedCompareExchange when _ReadWriteBarrier not available ........ r39778 | agurtovoy | 2007-10-08 01:06:15 -0700 (Mon, 08 Oct 2007) | 1 line MPL: more inclusive markup for the gcc 4.1 regression ........ r39780 | anthonyw | 2007-10-08 02:48:57 -0700 (Mon, 08 Oct 2007) | 1 line added extended test for new call_once ........ r39781 | anthonyw | 2007-10-08 02:55:56 -0700 (Mon, 08 Oct 2007) | 1 line call_once passes exceptions to caller and leaves flag unset ........ r39784 | anthonyw | 2007-10-08 08:41:05 -0700 (Mon, 08 Oct 2007) | 1 line New mutex implementations, more akin to C++0x ........ r39785 | anthonyw | 2007-10-08 08:44:13 -0700 (Mon, 08 Oct 2007) | 1 line added backwards-compatibility overload for call_once ........ r39786 | eric_niebler | 2007-10-08 08:49:09 -0700 (Mon, 08 Oct 2007) | 1 line fix postinc/assign problem with case_converting_iterator ........ r39787 | eric_niebler | 2007-10-08 08:57:04 -0700 (Mon, 08 Oct 2007) | 1 line doc tweaks ........ r39788 | burbelgruff | 2007-10-08 09:35:06 -0700 (Mon, 08 Oct 2007) | 1 line [typeof] Updated failures list to include failing borland tests and some failing native tests ........ r39789 | burbelgruff | 2007-10-08 09:37:01 -0700 (Mon, 08 Oct 2007) | 1 line [typeof] native typeof support added for the Digital Mars compiler (same as the typeof hack used for Visual C++) ........ r39790 | eric_niebler | 2007-10-08 09:49:00 -0700 (Mon, 08 Oct 2007) | 1 line work around msvc-7.1 bug ........ r39792 | johnmaddock | 2007-10-08 09:58:15 -0700 (Mon, 08 Oct 2007) | 2 lines Initial math-toolkit commit. Includes all code and tests, but no docs yet. ........ r39793 | eric_niebler | 2007-10-08 10:12:56 -0700 (Mon, 08 Oct 2007) | 1 line better fix for case_converting_iterator as suggested by Steven Watanabe ........ r39794 | eric_niebler | 2007-10-08 10:13:29 -0700 (Mon, 08 Oct 2007) | 1 line clean up gcc unused parameter warnings ........ r39796 | burbelgruff | 2007-10-08 10:46:23 -0700 (Mon, 08 Oct 2007) | 1 line [typeof] testing for typeof hacks on all compilers ........ r39805 | vladimir_prus | 2007-10-08 10:54:17 -0700 (Mon, 08 Oct 2007) | 1 line New changes ........ r39812 | johnmaddock | 2007-10-08 11:03:19 -0700 (Mon, 08 Oct 2007) | 1 line Initial commit of math-toolkit docs. ........ r39817 | vladimir_prus | 2007-10-08 14:10:41 -0700 (Mon, 08 Oct 2007) | 1 line Windows fix ........ r39818 | vladimir_prus | 2007-10-08 14:13:05 -0700 (Mon, 08 Oct 2007) | 1 line Windows fix ........ r39819 | eric_niebler | 2007-10-08 14:14:14 -0700 (Mon, 08 Oct 2007) | 1 line escape accented character ........ r39820 | vladimir_prus | 2007-10-08 14:28:09 -0700 (Mon, 08 Oct 2007) | 1 line Windows fix ........ r39821 | vladimir_prus | 2007-10-08 14:47:05 -0700 (Mon, 08 Oct 2007) | 1 line Windows fix ........ r39823 | eric_niebler | 2007-10-08 15:41:00 -0700 (Mon, 08 Oct 2007) | 1 line symbols docs, acknowledgement for dave j., doxygen tweaks ........ r39826 | eric_niebler | 2007-10-08 16:48:25 -0700 (Mon, 08 Oct 2007) | 1 line fix warning ........ r39828 | vladimir_prus | 2007-10-08 22:33:45 -0700 (Mon, 08 Oct 2007) | 2 lines Make NORMALIZE_PATH convert \ to /. ........ r39829 | vladimir_prus | 2007-10-08 22:35:48 -0700 (Mon, 08 Oct 2007) | 1 line Make it compile, even ........ r39830 | vladimir_prus | 2007-10-08 22:38:31 -0700 (Mon, 08 Oct 2007) | 1 line Make it work, for extra benefit ('=' vs '==' bug) ........ r39831 | vladimir_prus | 2007-10-08 23:37:00 -0700 (Mon, 08 Oct 2007) | 1 line Attemp to fix searched_lib on windows ........ r39832 | anthonyw | 2007-10-08 23:59:14 -0700 (Mon, 08 Oct 2007) | 1 line added missing move.hpp header ........ r39833 | danieljames | 2007-10-09 00:19:30 -0700 (Tue, 09 Oct 2007) | 1 line Output some info about a test failure when hashing function pointers. ........ r39834 | johnmaddock | 2007-10-09 04:15:11 -0700 (Tue, 09 Oct 2007) | 1 line Fix problem with GCC on Linux not finding std_real_concept overload for fmod. ........ r39835 | johnmaddock | 2007-10-09 04:30:19 -0700 (Tue, 09 Oct 2007) | 1 line Added HTML docs, changed some section names to shorten the file names produced. ........ r39836 | anthonyw | 2007-10-09 05:23:09 -0700 (Tue, 09 Oct 2007) | 1 line fixed direction of conditional ........ r39837 | johnmaddock | 2007-10-09 05:26:27 -0700 (Tue, 09 Oct 2007) | 1 line Disabled long double support on some platforms. ........ r39838 | anthonyw | 2007-10-09 05:45:46 -0700 (Tue, 09 Oct 2007) | 1 line fixed typo in pthread_cond_timedwait and ETIMEDOUT ........ r39839 | anthonyw | 2007-10-09 07:08:22 -0700 (Tue, 09 Oct 2007) | 1 line fixed typo in pthread_cond_timedwait and ETIMEDOUT ........ r39840 | garcia | 2007-10-09 07:28:42 -0700 (Tue, 09 Oct 2007) | 2 lines Exception review period has ended. ........ r39841 | anthonyw | 2007-10-09 07:44:37 -0700 (Tue, 09 Oct 2007) | 1 line fixed more has-timed-lock backwards conditions ........ r39842 | johnmaddock | 2007-10-09 07:49:04 -0700 (Tue, 09 Oct 2007) | 1 line Changed call signatures to keep Borland happy. ........ r39843 | johnmaddock | 2007-10-09 07:49:37 -0700 (Tue, 09 Oct 2007) | 1 line A few fixes to keep Borland happy. ........ r39848 | bemandawes | 2007-10-09 09:39:13 -0700 (Tue, 09 Oct 2007) | 1 line Apply dll fixes from David Deakins ........ r39849 | igaztanaga | 2007-10-09 09:49:47 -0700 (Tue, 09 Oct 2007) | 1 line Marked acc as n/a for Interprocess. ........ r39850 | johnmaddock | 2007-10-09 10:16:58 -0700 (Tue, 09 Oct 2007) | 1 line Added refactored docs for existing Boost.Math libraries. ........ r39851 | johnmaddock | 2007-10-09 10:17:50 -0700 (Tue, 09 Oct 2007) | 1 line Added refactored docs for existing Boost.Math libraries. ........ r39852 | johnmaddock | 2007-10-09 10:25:30 -0700 (Tue, 09 Oct 2007) | 1 line Added refactored docs for existing Boost.Math libraries. ........ r39853 | eric_niebler | 2007-10-09 10:56:18 -0700 (Tue, 09 Oct 2007) | 1 line fix broken link to OASIS DocBook DTD ........ r39854 | johnmaddock | 2007-10-09 11:11:17 -0700 (Tue, 09 Oct 2007) | 1 line More Borland workarounds. ........ r39855 | johnmaddock | 2007-10-09 11:12:06 -0700 (Tue, 09 Oct 2007) | 1 line More Borland workarounds. ........ r39863 | chris_kohlhoff | 2007-10-09 14:47:07 -0700 (Tue, 09 Oct 2007) | 2 lines Assume that HP-UX and AIX both need to have SIGPIPE blocked. ........ r39864 | chris_kohlhoff | 2007-10-09 14:47:40 -0700 (Tue, 09 Oct 2007) | 3 lines HP-UX with aCC uses a variant of select() that takes int* arguments rather than fd_set*. ........ r39865 | chris_kohlhoff | 2007-10-09 14:59:38 -0700 (Tue, 09 Oct 2007) | 3 lines Try changing the default target to Windows XP rather than Windows 2000 to see effect on borland-5.9.2. ........ r39867 | eric_niebler | 2007-10-09 15:25:18 -0700 (Tue, 09 Oct 2007) | 1 line more user docs for semantic actions ........ r39868 | eric_niebler | 2007-10-09 15:26:59 -0700 (Tue, 09 Oct 2007) | 1 line add xpressive::function<> for defining function objects for use in semantic actions ........ r39869 | djowel | 2007-10-09 16:15:12 -0700 (Tue, 09 Oct 2007) | 1 line adding fusion ........ r39870 | eric_niebler | 2007-10-09 18:46:53 -0700 (Tue, 09 Oct 2007) | 1 line fix buggy predicate_matcher and stomp more msvc warnings ........ r39871 | aaron_windsor | 2007-10-09 19:18:37 -0700 (Tue, 09 Oct 2007) | 1 line Trying to clear some errors from Sun CC. ........ r39872 | hkaiser | 2007-10-09 19:25:35 -0700 (Tue, 09 Oct 2007) | 1 line Boost.Thread now depends on Boost.DateTime. ........ r39873 | vladimir_prus | 2007-10-10 00:40:05 -0700 (Wed, 10 Oct 2007) | 4 lines Add values of variables specified with -s to .EVNRION module, so that we can override environment on command line. ........ r39874 | schoepflin | 2007-10-10 00:42:19 -0700 (Wed, 10 Oct 2007) | 1 line Disambiguate the identifier 'exception' and fix vector construction to make the test pass on Tru64/CXX. ........ r39875 | schoepflin | 2007-10-10 01:21:36 -0700 (Wed, 10 Oct 2007) | 1 line Blind shot trying to fix error blocking regression runs. ........ r39876 | vladimir_prus | 2007-10-10 01:25:27 -0700 (Wed, 10 Oct 2007) | 2 lines New bjam.variable function exposed to Python. ........ r39881 | johnmaddock | 2007-10-10 02:28:48 -0700 (Wed, 10 Oct 2007) | 1 line Adjusted limits for Win64 and Sun OS. ........ r39884 | johnmaddock | 2007-10-10 02:31:44 -0700 (Wed, 10 Oct 2007) | 1 line Tentative Sunpro workaround. ........ r39885 | joaquin | 2007-10-10 03:20:43 -0700 (Wed, 10 Oct 2007) | 1 line reverted 36306 for CW 8.3 ........ r39886 | vladimir_prus | 2007-10-10 03:23:20 -0700 (Wed, 10 Oct 2007) | 1 line Add link to PythonPort page ........ r39887 | vladimir_prus | 2007-10-10 03:35:07 -0700 (Wed, 10 Oct 2007) | 1 line Fix URL ........ r39890 | hkaiser | 2007-10-10 05:42:16 -0700 (Wed, 10 Oct 2007) | 1 line Wave: Updated Jamfiles to include Boost.DateTime. ........ r39891 | anthonyw | 2007-10-10 08:33:49 -0700 (Wed, 10 Oct 2007) | 1 line read_write_mutex makes a comeback --- as shared_mutex ........ r39892 | bemandawes | 2007-10-10 08:49:32 -0700 (Wed, 10 Oct 2007) | 1 line Fix date_time boo boo that was causing all regression tests to fail ........ r39893 | johnmaddock | 2007-10-10 09:05:26 -0700 (Wed, 10 Oct 2007) | 7 lines Added Compaq CXX long long workaround to real_concept.hpp. Added missing forward declaration to ellint_1.hpp. Adjusted native log1p support for aCC. Removed bad forward declaration of fpclassify: correct declaration appears later in the file. Adjusted compile_test/test_compile_result.hpp to not return a NULL reference. Adjusted permitted error-limits for new platforms. Split some of the tests into smaller units so we don't get compiler timeouts when building (hopefully!) ........ r39894 | hkaiser | 2007-10-10 09:44:29 -0700 (Wed, 10 Oct 2007) | 1 line Wave: Fixed Jamfiles. ........ r39897 | eric_niebler | 2007-10-10 11:13:18 -0700 (Wed, 10 Oct 2007) | 1 line work around gcc bug in proto, add test for custom assertions, fix more gcc warnings ........ r39898 | vladimir_prus | 2007-10-10 12:07:57 -0700 (Wed, 10 Oct 2007) | 1 line Add logo, tweak the page ........ r39899 | vladimir_prus | 2007-10-10 12:10:45 -0700 (Wed, 10 Oct 2007) | 1 line Revert mistaken commit ........ r39900 | johnmaddock | 2007-10-10 12:12:46 -0700 (Wed, 10 Oct 2007) | 1 line Workaround for msvc+stlport. ........ r39901 | vladimir_prus | 2007-10-10 12:18:25 -0700 (Wed, 10 Oct 2007) | 1 line Upload logo, too ........ r39902 | vladimir_prus | 2007-10-10 12:26:30 -0700 (Wed, 10 Oct 2007) | 1 line Keep the logo ........ r39903 | vladimir_prus | 2007-10-10 12:39:04 -0700 (Wed, 10 Oct 2007) | 1 line Doh. Fix link ........ r39909 | eric_niebler | 2007-10-10 14:20:49 -0700 (Wed, 10 Oct 2007) | 1 line extra test for custom assertions, fix nasty bug in custom assertion handling ........ r39913 | chris_kohlhoff | 2007-10-10 16:12:06 -0700 (Wed, 10 Oct 2007) | 2 lines Add a /dev/poll reactor implementation for Solaris. ........ r39914 | eric_niebler | 2007-10-10 17:44:57 -0700 (Wed, 10 Oct 2007) | 1 line document user-defined assertions ........ r39915 | eric_niebler | 2007-10-10 19:12:07 -0700 (Wed, 10 Oct 2007) | 1 line document placeholder<> and match_results<>::let() ........ r39918 | schoepflin | 2007-10-11 00:36:41 -0700 (Thu, 11 Oct 2007) | 1 line Fixed bug preventing compilation on Tru64/CXX. ........ r39921 | johnmaddock | 2007-10-11 03:51:10 -0700 (Thu, 11 Oct 2007) | 1 line Removed math docs from central build ........ r39922 | joaquin | 2007-10-11 03:57:30 -0700 (Thu, 11 Oct 2007) | 77 lines Boost 1.35 version of Boost.MultiIndex allocator_utilities.hpp: added partial_std_allocator_wrapper::value_type composite_key.hpp: used hash_fwd.hpp auto_space.hpp: added support for non-standard allocators bidir_node_iterator.hpp: moved friend-injected operators out of class copy_map.hpp: added support for non-standard allocators hash_index_args.hpp: removed deprecated use of <boost/functional/hash/hash.hpp> hash_index_iterator.hpp: moved friend-injected operators our of class hash_index_node.hpp: added support for non-standard allocators header_holder.hpp:added support for non-standard allocators index_base.hpp: added support for non-standard allocators, added modify_rollback, added small improvement to modify index_loader.hpp: added support for non-standard allocators index_matcher.hpp: added support for non-standard allocators index_node_base.hpp: added support for non-standard allocators iter_adaptor.hpp: added some out-of-class operators to alleviate a MSVC++ 6.0 problem modify_key_adaptor.hpp: renamed some vars to accomudate broader usage scope node_type.hpp: added support for non-standard allocators ord_index_node.hpp: added support for non-standard allocators ord_index_ops.hpp: implemented a more efficient equal_range rnd_index_loader.hpp: added support for non-standard allocators rnd_index_node.hpp: added support for non-standard allocators rnd_index_ops.hpp: added support for non-standard allocators rnd_index_ptr_array.hpp: added support for non-standard allocators rnd_node_iterator.hpp: moved friend-injected operators out of class seq_index_node.hpp: added support for non-standard allocators seq_index_ops.hpp: added support for non-standard allocators uintptr_type.hpp: added support for __int64 unbounded.hpp: fixed ODR problem value_compare.hpp: fixed a small unefficiency global_fun: initial commit hashed_index.hpp: added support for non-standard allocators, added c[r]{begin|end}, [local_]iterator_to, rollback modify identity_fwd.hpp: fixed wrong include guard name key_extractors.hpp: added global_fun mem_fun.hpp: removed superfluous =0's ordered_index.hpp: added support for non-standard allocators, added c[r]{begin|end}, iterator_to, rollback modify, improved equal_range and range, added conformance to DR 233 random_access_index.hpp: added support for non-standard allocators, added c[r]{begin|end}, iterator_to, rollback modify, added conformance to 23.1.1/9 sequenced_index.hpp: added support for non-standard allocators, added c[r]{begin|end}, iterator_to, rollback modify, added conformance to 23.1.1/9, improved resize multi_index_container.hpp: added support for non-standard allocators, improved ctor_args_list, rollback modify acknowledgements.html: added entry for Boost 1.35 examples.html: renamed example 2, added B.IP example/composite_keys.cpp future_work.html: removed entry on bimap hash_indices.html: added c[r]{begin|end}, [local_]iterator_to, rollback modify reference/index.html: added global_fun reference/key_extraction.html: added global_fun, added technical correction multi_index_container.html: added support for non-standard allocators ord_indices.html: added c[r]{begin|end}, iterator_to, rollback modify rnd_indices.html: added c[r]{begin|end}, iterator_to, rollback modify seq_indices.html: added c[r]{begin|end}, iterator_to, rollback modify release_notes.html: added entry for Boost 1.35 tests.html: added new serialization test file basics.html: added rollback modify creation.html: added support for non-standard allocators tutorial/indices.html: added iterator_to tutorial/key_extraction.html: added global_fun composite_keys.cpp: fixed technicality fun_key.cpp: was memfun_key.cpp, added global_fun ip_allocator.cpp: initial commit example/Jamfile.v2: renamed memfun_key, added ip_allocator test_perf.cpp: fixed technicality employee.hpp: used a non-standard allocator test/Jamfile.v2: added new test file non_std_allocator.hpp: initial commit pair_of_ints.hpp: added decrement facilities test_capacity.cpp: added extra check on resize test_copy_assignment.cpp: added test for 23.1.1/9 test_iterators.cpp: added tests for c[r]{begin|end} and [local_]iterator_to, fixed technicality test_key_extractors.cpp: added tests for global_fun test_modifiers.cpp: added tests dor DR 233, fixed technicality test_range.cpp: added extra checks to secure range refactoring test_rearrange.cpp: fixed technicality test_serialization.cpp: added new test file test_serialization1.cpp: corrected include, used a non-standard allocator test_serialization2.cpp: corrected include, used a non-standard allocator, split some stuff ro test_serialization3.cpp test_serialization3.cpp: initial commit test_serialization3.hpp: initial commit test_serialization_template.hpp: removed some reliance on ADL test_update.cpp: addes tests for rollback modify, fixed technicality ........ r39923 | joaquin | 2007-10-11 04:23:47 -0700 (Thu, 11 Oct 2007) | 2 lines def_ctor_tuple_cons.hpp: no longer used memfun_key.cpp: is now fun_key.cpp ........ r39924 | johnmaddock | 2007-10-11 04:47:11 -0700 (Thu, 11 Oct 2007) | 1 line Added Boost.Math overview. ........ r39925 | johnmaddock | 2007-10-11 04:51:19 -0700 (Thu, 11 Oct 2007) | 1 line Redirect to new index. ........ r39926 | johnmaddock | 2007-10-11 05:05:29 -0700 (Thu, 11 Oct 2007) | 1 line Updated Math library entries. ........ r39927 | garcia | 2007-10-11 07:51:48 -0700 (Thu, 11 Oct 2007) | 2 lines math toolkit has been added to the trunk. ........ r39928 | johnmaddock | 2007-10-11 08:59:48 -0700 (Thu, 11 Oct 2007) | 1 line Fixed some typos, and rebuilt docs. ........ r39933 | eric_niebler | 2007-10-11 10:02:13 -0700 (Thu, 11 Oct 2007) | 1 line new number parser example from dave jenkins ........ r39934 | eric_niebler | 2007-10-11 10:05:35 -0700 (Thu, 11 Oct 2007) | 1 line remove self-adjusting TST optimization for thread-safety reasons ........ r39935 | danieljames | 2007-10-11 10:12:24 -0700 (Thu, 11 Oct 2007) | 3 lines Try to fix function pointer hashing for the sun compiler. A bit of a stab in the dark. ........ r39939 | danielw | 2007-10-11 13:37:37 -0700 (Thu, 11 Oct 2007) | 2 lines Added missing Py_INCREF(Py_None). ........ r39941 | eric_niebler | 2007-10-11 13:50:59 -0700 (Thu, 11 Oct 2007) | 1 line add let() so regexes with late-bound action args can be used with regex_(token_)iterator ........ r39944 | nmusatti | 2007-10-11 14:07:17 -0700 (Thu, 11 Oct 2007) | 1 line Updated to support C++Builder 2007 Update 3 (bcc32 5.9.2) ........ r39945 | nmusatti | 2007-10-11 14:09:07 -0700 (Thu, 11 Oct 2007) | 1 line Updated to support C++Builder 2007 Update 3 (bcc32 5.9.2) ........ r39946 | eric_niebler | 2007-10-11 14:12:22 -0700 (Thu, 11 Oct 2007) | 1 line add tests for late-bound action args with regex_(token_)iterator ........ r39947 | eric_niebler | 2007-10-11 14:29:57 -0700 (Thu, 11 Oct 2007) | 1 line document use of let() with regex_(token_)iterator ........ r39948 | eric_niebler | 2007-10-11 14:57:12 -0700 (Thu, 11 Oct 2007) | 1 line fix gcc warnings ........ r39955 | eric_niebler | 2007-10-11 21:31:10 -0700 (Thu, 11 Oct 2007) | 1 line reenable self-adjusting TST if BOOST_DISABLE_THREADS is defined ........ r39956 | eric_niebler | 2007-10-12 00:04:13 -0700 (Fri, 12 Oct 2007) | 1 line xpressive works with boost 1.34.1 ........ r39957 | igaztanaga | 2007-10-12 01:58:04 -0700 (Fri, 12 Oct 2007) | 1 line Corrected bug in atomic_dec32 for PPC ........ r39958 | johnmaddock | 2007-10-12 03:01:36 -0700 (Fri, 12 Oct 2007) | 1 line Lots of Borland specific patches: quite a few of the special-function tests do now do actually pass. ........ r39960 | danieljames | 2007-10-12 04:58:34 -0700 (Fri, 12 Oct 2007) | 5 lines Fix my botched attempt at supporting function pointers on Sun's compilers. Also, now only applies the workaround to function pointers, non-function pointers are treated as before. I might need to apply the special case to member function pointers as well. ........ r39962 | igaztanaga | 2007-10-12 08:41:44 -0700 (Fri, 12 Oct 2007) | 1 line Fixed dispose_and_assign bug in list ........ r39964 | eric_niebler | 2007-10-12 09:50:13 -0700 (Fri, 12 Oct 2007) | 1 line updated installation information ........ r39971 | johnmaddock | 2007-10-13 09:23:18 -0700 (Sat, 13 Oct 2007) | 2 lines Fixed most of the remaining Borland issues, and removed dependency to Boost.Lambda. Added tentative fix for the Sunpro compilers. ........ r39972 | danieljames | 2007-10-13 09:34:09 -0700 (Sat, 13 Oct 2007) | 11 lines New attempt at fixing the function pointer hash on the Sun compilers. I think I was barking up the wrong tree - it could be that when calling hash_value with a function pointer the compiler was choosing the hash_value(bool) overload over the hash_value(T*) overload, so instead I'm trying to call the correct one by giving it a template parameter. Another alternative would be to calculate the hash function inside boost::hash. Unfortunately, if I'm right, this means that other calls to hash_value will go wrong for function pointers. ........ r39973 | johnmaddock | 2007-10-13 09:40:36 -0700 (Sat, 13 Oct 2007) | 2 lines Fixed image path in complex number docs. Suppressed draft mode in PDF generation (stops the FO renderer from grabbing draft.png from sourceforge). ........ r39976 | grafik | 2007-10-13 10:25:41 -0700 (Sat, 13 Oct 2007) | 1 line Partial rework of regression scripts for branch independent testing. ........ r39977 | danieljames | 2007-10-13 10:35:48 -0700 (Sat, 13 Oct 2007) | 3 lines Remove the pointles separation of the float tests into three functions (probably a throwback to when I used Boost.Test) ........ r39978 | grafik | 2007-10-13 10:41:07 -0700 (Sat, 13 Oct 2007) | 1 line Partial rework of regression scripts for branch independent testing. ........ r39979 | danieljames | 2007-10-13 10:47:57 -0700 (Sat, 13 Oct 2007) | 5 lines Separate the long double hash tests from the test for other float types. On some platforms the standard library has poor support for long doubles causing long doubles to fail when the others pass. So this makes it clearer that the problem is only for long doubles. ........ r39982 | danieljames | 2007-10-13 10:57:23 -0700 (Sat, 13 Oct 2007) | 2 lines Oops, I messed the properties when adding files, this should hopefully fix them. ........ r39983 | danieljames | 2007-10-13 11:34:25 -0700 (Sat, 13 Oct 2007) | 2 lines Add support for complex numbers to Boost.Hash ........ r39984 | danieljames | 2007-10-13 11:47:10 -0700 (Sat, 13 Oct 2007) | 2 lines Fix the copyright line for the hash library. ........ r39985 | danieljames | 2007-10-13 11:47:41 -0700 (Sat, 13 Oct 2007) | 1 line Use quickbook v1.4 for the hash library. ........ r39986 | eric_niebler | 2007-10-13 14:16:23 -0700 (Sat, 13 Oct 2007) | 1 line update copyright year ........ r39988 | vladimir_prus | 2007-10-13 14:32:51 -0700 (Sat, 13 Oct 2007) | 1 line Fix module messup when calling into Python. ........ r39990 | eric_niebler | 2007-10-13 14:37:02 -0700 (Sat, 13 Oct 2007) | 1 line update copyright information ........ r39991 | danieljames | 2007-10-13 14:50:05 -0700 (Sat, 13 Oct 2007) | 1 line Use a pragma for warnings in Visual C++. ........ r39993 | danieljames | 2007-10-13 15:30:50 -0700 (Sat, 13 Oct 2007) | 1 line Clean up the hash tests a little. ........ r39994 | danieljames | 2007-10-13 15:43:13 -0700 (Sat, 13 Oct 2007) | 1 line Add a trivial test to see if the deprecated hash headers compile okay when included. ........ r40004 | danieljames | 2007-10-14 00:38:49 -0700 (Sun, 14 Oct 2007) | 2 lines Avoid some warnings when compiling the test with Visual C++. ........ r40005 | vladimir_prus | 2007-10-14 01:03:50 -0700 (Sun, 14 Oct 2007) | 1 line Remove tools/release/user-config.jam that keeps confusing everybody. ........ r40006 | vladimir_prus | 2007-10-14 02:09:41 -0700 (Sun, 14 Oct 2007) | 3 lines Better diagnostics when trying to import non-callable Python object to Jam. ........ r40008 | vladimir_prus | 2007-10-14 02:55:41 -0700 (Sun, 14 Oct 2007) | 7 lines * common.jam (get-invocation-command): When we cannot find a specified tool, return tool's name so that the command line looks sane, even if it does not work. (handle-options): Report which command will be used, in debug mode. ........ r40011 | bemandawes | 2007-10-14 05:40:10 -0700 (Sun, 14 Oct 2007) | 1 line Change svn info to svn info --xml to cope with non-English locales. Make scan for number insensitive to svn info --xml option. ........ r40012 | johnmaddock | 2007-10-14 05:54:49 -0700 (Sun, 14 Oct 2007) | 4 lines Renamed two over-long files simplified test_compile_result.hpp so hopefully Sunpro can cope with it. Modified Jamfile to static link to regex lib on Sun. Adjusted Solaris expected error levels. ........ r40014 | rogeeff | 2007-10-14 09:47:45 -0700 (Sun, 14 Oct 2007) | 1 line cleanup log ........ r40015 | rogeeff | 2007-10-14 09:49:00 -0700 (Sun, 14 Oct 2007) | 1 line cleanup Tag comment ........ r40018 | rogeeff | 2007-10-14 10:49:02 -0700 (Sun, 14 Oct 2007) | 1 line switch from non-portable warning to message ........ r40019 | nmusatti | 2007-10-14 10:51:32 -0700 (Sun, 14 Oct 2007) | 1 line Applied patch from Ticket #1319 ........ r40020 | nmusatti | 2007-10-14 10:53:15 -0700 (Sun, 14 Oct 2007) | 1 line Applied patch from Ticket #1320 ........ r40021 | grafik | 2007-10-14 10:54:28 -0700 (Sun, 14 Oct 2007) | 1 line Add usage dependency on system library. ........ r40023 | rogeeff | 2007-10-14 11:33:16 -0700 (Sun, 14 Oct 2007) | 1 line accessor to the reporter stream provided ........ r40024 | rogeeff | 2007-10-14 11:56:23 -0700 (Sun, 14 Oct 2007) | 1 line increase max number of elems in fixed map ........ r40025 | rogeeff | 2007-10-14 11:58:05 -0700 (Sun, 14 Oct 2007) | 3 lines 2 new command line arguments (yet unused): --auto_start_dbg --use_alt_stack ........ r40026 | rogeeff | 2007-10-14 12:23:14 -0700 (Sun, 14 Oct 2007) | 1 line typo in a comment ........ r40027 | rogeeff | 2007-10-14 12:24:19 -0700 (Sun, 14 Oct 2007) | 1 line set init value for result ........ r40028 | rogeeff | 2007-10-14 12:25:18 -0700 (Sun, 14 Oct 2007) | 1 line max macro guard ........ r40029 | rogeeff | 2007-10-14 12:26:23 -0700 (Sun, 14 Oct 2007) | 1 line bug in output_test_stream constructor error generation fixed ........ r40030 | rogeeff | 2007-10-14 12:27:32 -0700 (Sun, 14 Oct 2007) | 1 line avoid start/finish messages if log is disabled completely ........ r40031 | rogeeff | 2007-10-14 12:28:46 -0700 (Sun, 14 Oct 2007) | 1 line Test module initialization error message is redirected into result reporter stream ........ r40032 | rogeeff | 2007-10-14 12:29:59 -0700 (Sun, 14 Oct 2007) | 1 line typo in a comment ........ r40033 | rogeeff | 2007-10-14 12:39:33 -0700 (Sun, 14 Oct 2007) | 1 line Log level enum value renamed ........ r40035 | rogeeff | 2007-10-14 14:14:29 -0700 (Sun, 14 Oct 2007) | 6 lines Support for expected failures in test cases with automated registration reworked completely. It now allows to be used within auto-test-stuites. framework API changed to return non const references to the test units to allow post creation modifications unit_test_suite.hpp dependency on framework.hpp removed inlined version includes all necessary files now in test_tools.hpp BOOST_TEST_DECL is added/removed where necessary Test suite auto registration modified to allow c++ namespace like behavior ........ r40036 | danieljames | 2007-10-14 14:52:12 -0700 (Sun, 14 Oct 2007) | 1 line Sun C++ didn't like the function call, so just try inlining the implementation for now. ........ r40040 | joaquin | 2007-10-14 23:54:34 -0700 (Sun, 14 Oct 2007) | 1 line typo ........ r40041 | anthonyw | 2007-10-15 02:18:32 -0700 (Mon, 15 Oct 2007) | 1 line added missing include to basic_timed_mutex.hpp ........ r40046 | fmhess | 2007-10-15 06:06:26 -0700 (Mon, 15 Oct 2007) | 5 lines Fixed some invalid docbook (<para> is not allowed to be a child of <part>). This fixes one of the failures when building pdf docs with fop 0.94. ........ r40047 | fmhess | 2007-10-15 06:24:34 -0700 (Mon, 15 Oct 2007) | 4 lines Prevent the generation of empty <itemizedlist> elements, which is invalid docbook and causes apache fop 0.94 to choke and die. ........ r40048 | fmhess | 2007-10-15 06:27:50 -0700 (Mon, 15 Oct 2007) | 4 lines Fixed a problem with boostbook printing an extra colon in the class synopsis, when a class inherits from a single base class and it's too long to fit on one line. ........ r40049 | fmhess | 2007-10-15 06:43:00 -0700 (Mon, 15 Oct 2007) | 9 lines Updated setup_boostbook scripts to download newer versions of apache fop and docbook xsl, since the old versions are no longer posted for download. The newer version of apache fop is stricter about its input, and currently fails to validate its input when trying to build boost.pdf, due to various bits on invalid docbook. I have it working locally though, and will create tickets with patches in trac for the remaining issues in the library docs and tools. ........ r40050 | fmhess | 2007-10-15 06:46:23 -0700 (Mon, 15 Oct 2007) | 4 lines Stop quickbook from generating empty <calloutlist> elements (which is invalid docbook and causes apache fop 0.94 to choke and die). ........ r40051 | bemandawes | 2007-10-15 07:50:59 -0700 (Mon, 15 Oct 2007) | 1 line Suppress message tests on Windows unless the language is US English ........ r40052 | grafik | 2007-10-15 07:53:28 -0700 (Mon, 15 Oct 2007) | 1 line Rework of regression scripts for branch independent testing -- complete. ........ r40053 | grafik | 2007-10-15 08:45:25 -0700 (Mon, 15 Oct 2007) | 1 line Bootstrap from trunk sources of regression scripts. ........ r40056 | joaquin | 2007-10-15 09:10:39 -0700 (Mon, 15 Oct 2007) | 1 line added missing #include ........ r40058 | igaztanaga | 2007-10-15 09:55:23 -0700 (Mon, 15 Oct 2007) | 1 line Fixed doxygen error in reference ........ r40059 | igaztanaga | 2007-10-15 09:56:27 -0700 (Mon, 15 Oct 2007) | 1 line Added missing include ........ r40060 | igaztanaga | 2007-10-15 09:57:15 -0700 (Mon, 15 Oct 2007) | 1 line Fixed assignment operator ........ r40061 | johnmaddock | 2007-10-15 09:57:57 -0700 (Mon, 15 Oct 2007) | 1 line Disregard ".svn" directories ........ r40062 | igaztanaga | 2007-10-15 09:58:15 -0700 (Mon, 15 Oct 2007) | 1 line Changed wrong insert_after_and_dispose() with insert_after ........ r40063 | danieljames | 2007-10-15 11:47:05 -0700 (Mon, 15 Oct 2007) | 1 line Mark up the expected hash error for the sun compilers. ........ r40064 | grafik | 2007-10-15 14:54:01 -0700 (Mon, 15 Oct 2007) | 1 line Add default to 'regression' when no commands are given. ........ r40065 | rogeeff | 2007-10-15 19:01:39 -0700 (Mon, 15 Oct 2007) | 1 line avoid warnings ........ r40066 | rogeeff | 2007-10-15 19:02:16 -0700 (Mon, 15 Oct 2007) | 1 line msvc 6.5 port ........ r40067 | rogeeff | 2007-10-15 19:03:16 -0700 (Mon, 15 Oct 2007) | 1 line proper report for the exceptions in inti_unit_test_suite function ........ r40068 | rogeeff | 2007-10-15 20:47:24 -0700 (Mon, 15 Oct 2007) | 1 line use io_saver directly ........ r40069 | rogeeff | 2007-10-15 20:51:54 -0700 (Mon, 15 Oct 2007) | 2 lines unified test runner interface for both original and alternative init API, the same time streamlining error handling for all the cases new property p_enabled is added to the test unit in preparation for the run by name ........ r40076 | rogeeff | 2007-10-16 00:06:10 -0700 (Tue, 16 Oct 2007) | 1 line fix A bug in auto TC exp failure support ........ r40077 | rogeeff | 2007-10-16 00:07:43 -0700 (Tue, 16 Oct 2007) | 1 line temporary disable debug related features - to be reverted soon ........ r40078 | rogeeff | 2007-10-16 00:18:10 -0700 (Tue, 16 Oct 2007) | 9 lines Major rework of execution monitor functionality: update to the error reporting on both NT and *nix support for signal handling on alternative stack execution monitor parameter made public properties structured exception handling moved to double __try approach with custom SE filter support for floating point errors enhanced on NT based compilers Notion of system_error is introduced (to be replaced potentially with boost::system later on) Invalid parameter error detected by MSVC runtime properly reported report_error implemented using vsnprintf allowing better output ........ r40079 | johnmaddock | 2007-10-16 02:32:28 -0700 (Tue, 16 Oct 2007) | 2 lines Fixed lots of "inspect" issues: bad hyperlinks, tabs in source and missing licenses. Tweaked some error levels again. ........ r40080 | anthonyw | 2007-10-16 04:08:17 -0700 (Tue, 16 Oct 2007) | 1 line removed lock_ops as no longer needed ........ r40082 | igaztanaga | 2007-10-16 08:25:13 -0700 (Tue, 16 Oct 2007) | 1 line Tru64 re-enabled for intrusive to try to solve remaining issues ........ r40083 | johnmaddock | 2007-10-16 08:41:57 -0700 (Tue, 16 Oct 2007) | 2 lines Fixes for the Sun-5.9 compiler: don't try and encode constants smaller than LDBL_MIN, the compiler chokes on it. Fixes for STLport: long double stream operators are broken (streaming in appears not to work at all, streaming out can segfault if the value is too small). ........ r40084 | grafik | 2007-10-16 08:52:38 -0700 (Tue, 16 Oct 2007) | 1 line Minor modification to pass in the branch type to generate results for, and to move the boost checkout to the root dir. ........ r40086 | johnmaddock | 2007-10-16 09:11:30 -0700 (Tue, 16 Oct 2007) | 1 line Fully qualified use of "extended" flag, to keep gcc on Solaris happy. ........ r40087 | johnmaddock | 2007-10-16 09:15:38 -0700 (Tue, 16 Oct 2007) | 1 line Update for Borland 5.8.2 and 5.9.2. ........ r40088 | niels_dekker | 2007-10-16 10:00:28 -0700 (Tue, 16 Oct 2007) | 1 line Disabled MSVC warning C4345, in response to Gennadiy Rozental, Boost Developer mailing list, "[utility] value_init warning", October 14, 2007. Push'n'pop reminder from Paul A Bristow taken into account. ........ r40089 | niels_dekker | 2007-10-16 10:06:39 -0700 (Tue, 16 Oct 2007) | 1 line Added value_initialized<T> test, having T as aggregate POD struct. In the past, this would have triggered MSVC warning C4345; this warning is now disabled within value_init.hpp, changeset [40088] ........ r40090 | rogeeff | 2007-10-16 10:11:00 -0700 (Tue, 16 Oct 2007) | 1 line cygwin issue fix ........ r40091 | eric_niebler | 2007-10-16 10:15:44 -0700 (Tue, 16 Oct 2007) | 1 line cleanup ........ r40094 | eric_niebler | 2007-10-16 12:07:12 -0700 (Tue, 16 Oct 2007) | 1 line reverted to r40064 ........ r40095 | grafik | 2007-10-16 12:08:58 -0700 (Tue, 16 Oct 2007) | 1 line Allow specifying options with quotes, i.e. "--with-python=xyz", to work around the CMD shell using "=" as an argument separator. ........ r40096 | grafik | 2007-10-16 13:05:35 -0700 (Tue, 16 Oct 2007) | 1 line Specify user to post results to OSL server. ........ r40098 | guwi17 | 2007-10-16 14:48:01 -0700 (Tue, 16 Oct 2007) | 2 lines - added section "nested products" ........ r40099 | bemandawes | 2007-10-16 15:05:29 -0700 (Tue, 16 Oct 2007) | 1 line Add failure count for each compiler column. ........ r40100 | eric_niebler | 2007-10-16 15:13:11 -0700 (Tue, 16 Oct 2007) | 1 line revert more boost.test changes ........ r40101 | danieljames | 2007-10-16 16:25:37 -0700 (Tue, 16 Oct 2007) | 1 line Remove the free-function-groups from the hash reference documentation, they were causing the functions to be listed on the documentation for every specialization of boost::hash<T>, and the functions to be described on the main synopsis page, instead of their own page. ........ r40103 | eric_niebler | 2007-10-16 21:26:36 -0700 (Tue, 16 Oct 2007) | 1 line misc cleann-up from Dave Jenkins ........ r40104 | chris_kohlhoff | 2007-10-16 21:44:38 -0700 (Tue, 16 Oct 2007) | 2 lines Revert HP-UX/aCC change to select() wrapper as it breaks more than it fixes. ........ r40106 | chris_kohlhoff | 2007-10-16 22:22:26 -0700 (Tue, 16 Oct 2007) | 2 lines Borland C++ wants friendship for the task_cleanup nested class. ........ r40107 | chris_kohlhoff | 2007-10-17 00:25:03 -0700 (Wed, 17 Oct 2007) | 2 lines Throw an exception if unable to create a pipe for the pipe_select_interrupter. ........ r40108 | chris_kohlhoff | 2007-10-17 00:58:38 -0700 (Wed, 17 Oct 2007) | 3 lines Make Windows XP the default target Windows version as the latest Windows SDK doesn't support IPv6 for Windows 2000 targets. ........ r40109 | chris_kohlhoff | 2007-10-17 01:20:30 -0700 (Wed, 17 Oct 2007) | 2 lines Add define to disable /dev/poll support. ........ r40110 | johnmaddock | 2007-10-17 02:19:35 -0700 (Wed, 17 Oct 2007) | 1 line Change #warning to #pragma message: #warning is a gcc-ism and the code in question is msvc-specific (Tested on all msvc variants, plus gcc-minw32). ........ r40117 | johnmaddock | 2007-10-17 05:58:55 -0700 (Wed, 17 Oct 2007) | 1 line Disable FOP1 extensions so we can build with xep extensions instead. ........ r40119 | chris_kohlhoff | 2007-10-17 07:04:42 -0700 (Wed, 17 Oct 2007) | 3 lines Add dummy enum for ssl errors. Change to static const references to error category objects to be consistent with boost.system. ........ r40124 | igaztanaga | 2007-10-17 08:40:41 -0700 (Wed, 17 Oct 2007) | 1 line Added <algorithm> include. Erased wrong "non" word in swap members' Throws clause. ........ r40128 | johnmaddock | 2007-10-17 10:15:53 -0700 (Wed, 17 Oct 2007) | 1 line Updates to build system: Sun and SGI compilers have a problem doing a shared link, and some platforms don't have an icudata library. ........ r40129 | eric_niebler | 2007-10-17 10:21:01 -0700 (Wed, 17 Oct 2007) | 1 line mark up expected xpressive failures on acc toolset ........ r40130 | danieljames | 2007-10-17 10:27:42 -0700 (Wed, 17 Oct 2007) | 1 line Include authors that are in authorgroups in the generated chapterinfo. ........ r40131 | danieljames | 2007-10-17 10:29:46 -0700 (Wed, 17 Oct 2007) | 1 line Merge some minor changes from the development branch to remove some unnecessary differences. ........ r40146 | joaquin | 2007-10-17 23:57:25 -0700 (Wed, 17 Oct 2007) | 1 line applied workaround for MSVC++ 6.5/7.0 problem with static constants inside templates, see http://lists.boost.org/Archives/boost/2007/10/128392.php ........ r40147 | rogeeff | 2007-10-18 00:13:43 -0700 (Thu, 18 Oct 2007) | 1 line try run ........ r40148 | rogeeff | 2007-10-18 00:14:56 -0700 (Thu, 18 Oct 2007) | 3 lines fixed issue with num of exp failure calculation mwerks port in execution_monitor.ipp bug in init function invocation fixed ........ r40149 | chris_kohlhoff | 2007-10-18 01:34:03 -0700 (Thu, 18 Oct 2007) | 2 lines Assume that Tru64 also needs SIGPIPE to be blocked. ........ r40155 | johnmaddock | 2007-10-18 08:37:01 -0700 (Thu, 18 Oct 2007) | 3 lines Workaround for real_concept when there are no long double math functions. Added HP-UX on PA RISC to list of platforms with no long double overloads. Added macro expansion suppression code to declarations of sign and to it's usages (an AIX fix). ........ r40156 | grafik | 2007-10-18 09:11:41 -0700 (Thu, 18 Oct 2007) | 1 line Fix build system error when Python is not configured, without preventing the BPL target from being declared. Instead the target is now unbuildable, and will be skipped when Python is not configured. ........ r40159 | igaztanaga | 2007-10-18 09:20:28 -0700 (Thu, 18 Oct 2007) | 1 line Added atomic operations for alpha processors ........ r40160 | vladimir_prus | 2007-10-18 09:53:01 -0700 (Thu, 18 Oct 2007) | 1 line Enable index for Boost.Build standalone docs. ........ r40162 | johnmaddock | 2007-10-18 11:17:15 -0700 (Thu, 18 Oct 2007) | 1 line Fixed some links and merged changes in the Sandbox to here. ........ r40165 | rogeeff | 2007-10-18 14:43:35 -0700 (Thu, 18 Oct 2007) | 2 lines FP exceptions made optional and disabled by default new CLA --detect_fp_exceptions=[yes|no] introduced ........ r40166 | rogeeff | 2007-10-18 14:53:14 -0700 (Thu, 18 Oct 2007) | 1 line included alias added ........ r40167 | aaron_windsor | 2007-10-18 17:16:36 -0700 (Thu, 18 Oct 2007) | 1 line Un-asserted two function calls - this was causing the function calls to turn into no-ops when the example was compiled with debugging off. ........ r40172 | rogeeff | 2007-10-18 19:17:52 -0700 (Thu, 18 Oct 2007) | 1 line msvc 6.5 port fix ........ r40173 | eric_niebler | 2007-10-18 20:16:51 -0700 (Thu, 18 Oct 2007) | 1 line don't copy singular iterator in sub_match, misc clean-up ........ r40174 | vladimir_prus | 2007-10-19 00:00:03 -0700 (Fri, 19 Oct 2007) | 1 line Add indexterms for glob-tree and install-source-root. ........ r40176 | chris_kohlhoff | 2007-10-19 01:09:55 -0700 (Fri, 19 Oct 2007) | 2 lines Add get_io_service() synonym for io_service() to match TR2 proposal. ........ r40178 | schoepflin | 2007-10-19 02:06:04 -0700 (Fri, 19 Oct 2007) | 1 line Detailed OSF detection macro to include the compiler used. ........ r40179 | schoepflin | 2007-10-19 02:52:23 -0700 (Fri, 19 Oct 2007) | 1 line Added missing include file. ........ r40180 | danieljames | 2007-10-19 02:55:10 -0700 (Fri, 19 Oct 2007) | 1 line Fix the deprecated warnings on Borland, should also check before using #warning. ........ r40181 | johnmaddock | 2007-10-19 05:03:54 -0700 (Fri, 19 Oct 2007) | 1 line Add needed config options. ........ r40183 | johnmaddock | 2007-10-19 05:30:46 -0700 (Fri, 19 Oct 2007) | 1 line Added revision ID. ........ r40184 | johnmaddock | 2007-10-19 05:46:54 -0700 (Fri, 19 Oct 2007) | 1 line Update configure files with revision Id and some compiler specific fixes. ........ r40186 | schoepflin | 2007-10-19 07:45:06 -0700 (Fri, 19 Oct 2007) | 1 line Added support for Tru64/CXX. ........ r40187 | anthonyw | 2007-10-19 07:52:52 -0700 (Fri, 19 Oct 2007) | 1 line small changes to reduce warnings; extracted pthread_mutex_scoped_lock to its own file ........ r40188 | igaztanaga | 2007-10-19 07:54:18 -0700 (Fri, 19 Oct 2007) | 1 line Fixed newline issue between two [endsect]. ........ r40189 | anthonyw | 2007-10-19 08:31:35 -0700 (Fri, 19 Oct 2007) | 1 line more tweaks to remove warnings ........ r40191 | anthonyw | 2007-10-19 10:40:04 -0700 (Fri, 19 Oct 2007) | 1 line New condition_variable and condition_variable_any as per proposed C++0x interface ........ r40192 | bemandawes | 2007-10-19 10:43:44 -0700 (Fri, 19 Oct 2007) | 1 line Initial commit ........ r40193 | johnmaddock | 2007-10-19 10:55:44 -0700 (Fri, 19 Oct 2007) | 1 line Adjust ICU build support: almost works now :-) ........ r40194 | turkanis | 2007-10-19 11:09:54 -0700 (Fri, 19 Oct 2007) | 1 line updated turkanis email address (iostreams + rational) ........ r40196 | vladimir_prus | 2007-10-19 12:16:10 -0700 (Fri, 19 Oct 2007) | 1 line Remove unused code ........ r40197 | vladimir_prus | 2007-10-19 12:18:32 -0700 (Fri, 19 Oct 2007) | 2 lines Remove project-target.intern-constants as unused. ........ r40203 | rogeeff | 2007-10-19 22:38:57 -0700 (Fri, 19 Oct 2007) | 1 line borland port ........ r40204 | rogeeff | 2007-10-19 23:59:27 -0700 (Fri, 19 Oct 2007) | 1 line intel port ........ r40205 | johnmaddock | 2007-10-20 02:20:30 -0700 (Sat, 20 Oct 2007) | 1 line Removed ICU options from main requirements: BBv2 barfs at it. ........ r40206 | danieljames | 2007-10-20 03:31:58 -0700 (Sat, 20 Oct 2007) | 2 lines Try to only issue deprecation warnings on compilers that support them. ........ r40208 | djowel | 2007-10-20 04:01:50 -0700 (Sat, 20 Oct 2007) | 1 line refactoring for v2.1 ........ r40209 | djowel | 2007-10-20 04:31:03 -0700 (Sat, 20 Oct 2007) | 1 line phase2: refactoring for v2.1 ........ r40210 | djowel | 2007-10-20 04:49:17 -0700 (Sat, 20 Oct 2007) | 1 line phase3: refactoring for v2.1 ........ r40211 | djowel | 2007-10-20 04:50:27 -0700 (Sat, 20 Oct 2007) | 1 line phase3: refactoring for v2.1 ........ r40212 | djowel | 2007-10-20 06:13:46 -0700 (Sat, 20 Oct 2007) | 1 line phase4: refactoring for v2.1 ........ r40213 | djowel | 2007-10-20 06:13:58 -0700 (Sat, 20 Oct 2007) | 1 line phase4: refactoring for v2.1 ........ r40214 | johnmaddock | 2007-10-20 09:30:01 -0700 (Sat, 20 Oct 2007) | 1 line ICU libraries are only available as shared libraries. ........ r40215 | grafik | 2007-10-20 09:35:58 -0700 (Sat, 20 Oct 2007) | 1 line Do not refer to nonexistent target when python is not configured. ........ r40216 | grafik | 2007-10-20 09:36:18 -0700 (Sat, 20 Oct 2007) | 1 line Do not refer to nonexistent target when python is not configured. ........ r40219 | djowel | 2007-10-20 15:21:43 -0700 (Sat, 20 Oct 2007) | 1 line reverting to 2.0 ........ r40220 | djowel | 2007-10-20 15:33:52 -0700 (Sat, 20 Oct 2007) | 1 line reverting to 2.0 ........ r40233 | danieljames | 2007-10-20 17:41:01 -0700 (Sat, 20 Oct 2007) | 2 lines Don't test long double in hash_number_test. This is a bit of a cop out, but it's silly to fail this test just because a platform has poor support for long double - hash_long_double_test is thorough enough. ........ r40236 | danieljames | 2007-10-20 17:51:43 -0700 (Sat, 20 Oct 2007) | 6 lines Markup test that fail because of poor long double support. gcc-3.4.3_sunos doesn't seem to be tested any more, but I'll leave it in. PA Risc has a software long double which doesn't seem to be very well supported by the standard library functions. ........ r40241 | chris_kohlhoff | 2007-10-20 18:48:03 -0700 (Sat, 20 Oct 2007) | 3 lines Ensure the buffers and completion condition objects are destroyed before the completion handler is invoked. ........ r40255 | chris_kohlhoff | 2007-10-20 22:46:15 -0700 (Sat, 20 Oct 2007) | 3 lines HP-UX fails to declare if_nametoindex and if_indextoname as extern "C". Added declarations for them with correct linkage to avoid linker errors. ........ r40256 | chris_kohlhoff | 2007-10-20 22:46:47 -0700 (Sat, 20 Oct 2007) | 2 lines Documentation fixes. ........ r40259 | chris_kohlhoff | 2007-10-21 00:09:19 -0700 (Sun, 21 Oct 2007) | 4 lines On HP-UX use pselect() rather than select() to avoid weirdness where different select() prototypes are declared depending on the order the system headers are included. ........ r40261 | chris_kohlhoff | 2007-10-21 00:30:04 -0700 (Sun, 21 Oct 2007) | 2 lines Use an unsigned char for the enable_loopback socket option on HP-UX. ........ r40262 | chris_kohlhoff | 2007-10-21 00:59:53 -0700 (Sun, 21 Oct 2007) | 2 lines Seems that the watermark socket options are supported on HP-UX 11i v3. ........ r40263 | chris_kohlhoff | 2007-10-21 01:13:21 -0700 (Sun, 21 Oct 2007) | 2 lines Fix address_v6::operator<. ........ r40264 | danieljames | 2007-10-21 01:36:47 -0700 (Sun, 21 Oct 2007) | 2 lines New algorithm for hash floating point numbers. ........ r40265 | igaztanaga | 2007-10-21 01:49:42 -0700 (Sun, 21 Oct 2007) | 1 line Solved Doxygen bug ........ r40267 | igaztanaga | 2007-10-21 02:01:16 -0700 (Sun, 21 Oct 2007) | 1 line Doxygen bug workaround. Corrected Solaris errors. Experimental grow/shrink_to_fit for managed_shared_memory and managed_mapped_file. ........ r40268 | igaztanaga | 2007-10-21 02:02:23 -0700 (Sun, 21 Oct 2007) | 1 line Doxygen bug workaround. Corrected Solaris errors. Experimental grow/shrink_to_fit for managed_shared_memory and managed_mapped_file. ........ r40269 | johnmaddock | 2007-10-21 09:02:34 -0700 (Sun, 21 Oct 2007) | 1 line Use __hppa to detect HP-UX on PA-RISC. ........ r40270 | rogeeff | 2007-10-21 13:53:56 -0700 (Sun, 21 Oct 2007) | 3 lines Missing header in exception_safety.hpp Run by name support new tools BOOST_CHECK_NE, BOOST_CHECK_LE, BOOST_CHECK_LT, BOOST_CHECK_GE, BOOST_CHECK_GT implemented ........ r40271 | rogeeff | 2007-10-21 13:59:15 -0700 (Sun, 21 Oct 2007) | 6 lines correct run rules in examples make example 2 more pronounced removed unnecessary ; in example 4 and 5 new alias test in test directory msvc 6.5 should use static lib test case for new tools added ........ r40272 | rogeeff | 2007-10-21 17:36:26 -0700 (Sun, 21 Oct 2007) | 1 line clean up ........ r40273 | rogeeff | 2007-10-21 21:02:53 -0700 (Sun, 21 Oct 2007) | 3 lines added missing export for framework::get added line number to the name of the TU registrar, allowing to restart test suites within same module test_suite::size() implemented to provide an access to the suite size ........ r40274 | rogeeff | 2007-10-21 21:09:01 -0700 (Sun, 21 Oct 2007) | 1 line new unit test: test_tree_management_test.cpp ........ r40276 | rogeeff | 2007-10-21 23:36:50 -0700 (Sun, 21 Oct 2007) | 4 lines framework::is_initialized introduced to catch framework misuse errors Message report too few failed assertions updated New message added to report no assertion occurred in a test case test_suite::remove interface is added to allow remove test units from the test suite if necessary ........ r40277 | schoepflin | 2007-10-22 00:54:08 -0700 (Mon, 22 Oct 2007) | 1 line Fix compilation. ........ r40278 | johnmaddock | 2007-10-22 01:43:52 -0700 (Mon, 22 Oct 2007) | 1 line Skip some "impossible" vc8 targets. ........ r40280 | rogeeff | 2007-10-22 04:11:51 -0700 (Mon, 22 Oct 2007) | 1 line correct patterns ........ r40281 | johnmaddock | 2007-10-22 04:16:15 -0700 (Mon, 22 Oct 2007) | 2 lines Added Bjorn Roald's patches to enable scans of svn. Updated docs accordingly. ........ r40282 | fmhess | 2007-10-22 06:17:19 -0700 (Mon, 22 Oct 2007) | 4 lines Eliminated the possibility of empty <variablelist> elements in enum references (invalid docbook, apache fop doesn't like it). ........ r40284 | joaquin | 2007-10-22 07:50:08 -0700 (Mon, 22 Oct 2007) | 2 lines extended MSVC 6.5 fix to Intel ........ r40285 | igaztanaga | 2007-10-22 08:20:21 -0700 (Mon, 22 Oct 2007) | 1 line Marked (temporarily) win64 toolsets unusable for Interprocess ........ r40288 | johnmaddock | 2007-10-22 09:14:02 -0700 (Mon, 22 Oct 2007) | 1 line Simplified regex usage. ........ r40289 | vladimir_prus | 2007-10-22 09:45:49 -0700 (Mon, 22 Oct 2007) | 2 lines Add missing Py_INCREF on Py_None objects. ........ r40292 | joaquin | 2007-10-22 10:22:46 -0700 (Mon, 22 Oct 2007) | 1 line guarded some static asserts in project() funs from Sun C++ 5.7 ........ r40293 | johnmaddock | 2007-10-22 10:46:40 -0700 (Mon, 22 Oct 2007) | 1 line Added support for _WIN32_WCE. ........ r40294 | johnmaddock | 2007-10-22 10:48:51 -0700 (Mon, 22 Oct 2007) | 3 lines Disabled intrinsic type traits testing for SGI compiler. Disabled one is_convertible test for aCC on PA RISC. Disabled some tests in promote_basic_test.cpp for more platforms that have broken WCHAR_MAX macros. ........ r40295 | johnmaddock | 2007-10-22 10:53:05 -0700 (Mon, 22 Oct 2007) | 1 line IBM xlc++ has support for TR1 when __IBMCPP_TR1__ is defined. ........ r40299 | dgregor | 2007-10-22 12:37:05 -0700 (Mon, 22 Oct 2007) | 3 lines Fix warnings from GCC 4.3. Fixes #1337 ........ r40300 | dgregor | 2007-10-22 12:54:54 -0700 (Mon, 22 Oct 2007) | 4 lines Suppress a GCC 4.3 warning and fix a couple header-inclusion issues. Fixes #1338 ........ r40301 | eric_niebler | 2007-10-22 13:14:11 -0700 (Mon, 22 Oct 2007) | 1 line needed typeof registrations, from David Jenkins ........ r40302 | nesotto | 2007-10-22 13:26:51 -0700 (Mon, 22 Oct 2007) | 1 line added copyability to all containers ........ r40306 | nesotto | 2007-10-22 15:50:52 -0700 (Mon, 22 Oct 2007) | 4 lines minor refactorings to support copyability etc ........ r40307 | nesotto | 2007-10-22 15:51:42 -0700 (Mon, 22 Oct 2007) | 1 line update of test to try copyability ........ r40310 | eric_niebler | 2007-10-22 17:40:16 -0700 (Mon, 22 Oct 2007) | 1 line fix problem with ->* rewrite in actions, add x->*y as alias for y(x) ........ r40322 | rogeeff | 2007-10-22 20:44:01 -0700 (Mon, 22 Oct 2007) | 1 line streamlined handling of SIGPOLL ........ r40323 | bgubenko | 2007-10-22 20:44:33 -0700 (Mon, 22 Oct 2007) | 1 line fix typo in rev. 40321 ........ r40338 | rogeeff | 2007-10-22 22:25:42 -0700 (Mon, 22 Oct 2007) | 1 line update to tests and example ........ r40342 | eric_niebler | 2007-10-23 00:01:53 -0700 (Tue, 23 Oct 2007) | 1 line clean-up, actionable need not be a template ........ r40344 | chris_kohlhoff | 2007-10-23 01:09:21 -0700 (Tue, 23 Oct 2007) | 2 lines Only use pselect() when compiling with aCC. ........ r40345 | chris_kohlhoff | 2007-10-23 01:09:46 -0700 (Tue, 23 Oct 2007) | 2 lines Documentation fixes. ........ r40346 | schoepflin | 2007-10-23 01:20:26 -0700 (Tue, 23 Oct 2007) | 2 lines Now that intrusive is working, enable the interprocess library for Tru64/CXX. ........ r40347 | schoepflin | 2007-10-23 01:26:51 -0700 (Tue, 23 Oct 2007) | 3 lines Toolsets tru64cxx* have long been renamed to hp_cxx-*_tru64; removed markup obsoleted by the rename. ........ r40348 | anthonyw | 2007-10-23 01:57:17 -0700 (Tue, 23 Oct 2007) | 1 line platform split for pthread and win32 builds so can use pthread-win32 library on Windows with <thrd-api>pthread feature; new C++0x-alike thread class interface on win32. ........ r40349 | johnmaddock | 2007-10-23 02:34:40 -0700 (Tue, 23 Oct 2007) | 1 line Ooops, put preprocessor logic in the right place! ........ r40352 | bemandawes | 2007-10-23 06:00:18 -0700 (Tue, 23 Oct 2007) | 1 line Rename posix, windows, Linux, and cygwin namespaces to conform with C++ std. ........ r40353 | johnmaddock | 2007-10-23 06:10:32 -0700 (Tue, 23 Oct 2007) | 1 line Removed redundant #define. ........ r40354 | t_schwinger | 2007-10-23 06:25:57 -0700 (Tue, 23 Oct 2007) | 3 lines removes dependencies to MPL intrinsics (removes top-level cv-qualifiers from element types, now) ........ r40355 | t_schwinger | 2007-10-23 06:26:56 -0700 (Tue, 23 Oct 2007) | 3 lines adjusts test: deduce_sequence removes top-level cv-qualifiers from element types, now ........ r40356 | chris_kohlhoff | 2007-10-23 06:31:12 -0700 (Tue, 23 Oct 2007) | 2 lines Clean up documentation. ........ r40359 | djowel | 2007-10-23 06:39:15 -0700 (Tue, 23 Oct 2007) | 1 line remove superfluous include ........ r40360 | bemandawes | 2007-10-23 08:04:43 -0700 (Tue, 23 Oct 2007) | 1 line Fix linux_errno misspelling ........ r40361 | igaztanaga | 2007-10-23 08:48:08 -0700 (Tue, 23 Oct 2007) | 1 line Marked win64 toolsets again for testing in Interprocess ........ r40363 | igaztanaga | 2007-10-23 10:46:36 -0700 (Tue, 23 Oct 2007) | 1 line Temporary hack to avoid compilation errors in operator->() ........ r40364 | igaztanaga | 2007-10-23 10:47:49 -0700 (Tue, 23 Oct 2007) | 1 line Corrected error in create_from_istream ........ r40365 | dgregor | 2007-10-23 11:16:57 -0700 (Tue, 23 Oct 2007) | 1 line Fix SIGPOLL and sigemptyset handling on Darwin ........ r40367 | nesotto | 2007-10-23 11:36:03 -0700 (Tue, 23 Oct 2007) | 1 line added test for char array with nested null in response to Ticket #471 ........ r40370 | nesotto | 2007-10-23 11:59:11 -0700 (Tue, 23 Oct 2007) | 2 lines applied patch from Ticket #1302 (new Patches) to handle char arrays correctly ........ r40371 | nesotto | 2007-10-23 12:06:39 -0700 (Tue, 23 Oct 2007) | 1 line change names of ADL functions back to 1.34 names ... the old names have been in use for too long so let's not break code that depends on them ........ r40372 | nesotto | 2007-10-23 12:07:38 -0700 (Tue, 23 Oct 2007) | 1 line changed ADL functions back the names of 1.34 ... these names have been in use for too long ... let's not break code that depends on them ........ r40373 | nesotto | 2007-10-23 12:12:19 -0700 (Tue, 23 Oct 2007) | 1 line new fancy quickbook documentaion ........ r40374 | nesotto | 2007-10-23 12:34:06 -0700 (Tue, 23 Oct 2007) | 1 line added test for operator() ........ r40375 | nesotto | 2007-10-23 12:34:38 -0700 (Tue, 23 Oct 2007) | 1 line added operator() to allow random access index with transform iterators ........ r40376 | nesotto | 2007-10-23 12:50:59 -0700 (Tue, 23 Oct 2007) | 1 line displabed some warnings and applied Ticket #1284: sub_range_copy.patch ........ r40377 | nesotto | 2007-10-23 12:56:39 -0700 (Tue, 23 Oct 2007) | 1 line applied Ticket #1309 (new Patches) ........ r40378 | nesotto | 2007-10-23 13:08:35 -0700 (Tue, 23 Oct 2007) | 1 line cleanup ........ r40379 | nesotto | 2007-10-23 13:23:05 -0700 (Tue, 23 Oct 2007) | 1 line Adding Shunsuke Sogame fantastic MFC/ATL mappings ........ r40381 | nesotto | 2007-10-23 13:28:52 -0700 (Tue, 23 Oct 2007) | 1 line Shunsuke Sogame's MFC/ATL docs and tests ........ r40382 | chris_kohlhoff | 2007-10-23 15:32:11 -0700 (Tue, 23 Oct 2007) | 2 lines Mark borland 5.6.* and 5.8.* as unusable for asio. ........ r40389 | djowel | 2007-10-23 19:30:52 -0700 (Tue, 23 Oct 2007) | 1 line Fusion 2.1 one more time with care ........ r40390 | djowel | 2007-10-23 19:32:28 -0700 (Tue, 23 Oct 2007) | 1 line Fusion 2.1 one more time with care ........ r40391 | djowel | 2007-10-23 19:33:38 -0700 (Tue, 23 Oct 2007) | 1 line Fusion 2.1 one more time with care ........ r40392 | djowel | 2007-10-23 19:36:29 -0700 (Tue, 23 Oct 2007) | 1 line Fusion 2.1 one more time with care ........ r40393 | djowel | 2007-10-23 19:37:23 -0700 (Tue, 23 Oct 2007) | 1 line Fusion 2.1 one more time with care ........ r40394 | djowel | 2007-10-23 19:38:02 -0700 (Tue, 23 Oct 2007) | 1 line Fusion 2.1 one more time with care ........ r40396 | rogeeff | 2007-10-23 21:48:16 -0700 (Tue, 23 Oct 2007) | 1 line win CE and solaris workarounds ........ r40397 | djowel | 2007-10-23 21:58:50 -0700 (Tue, 23 Oct 2007) | 1 line merging tobias changes ........ r40399 | schoepflin | 2007-10-24 01:21:15 -0700 (Wed, 24 Oct 2007) | 2 lines Added missing include file. ........ r40401 | johnmaddock | 2007-10-24 01:49:06 -0700 (Wed, 24 Oct 2007) | 1 line Fix HPUX error levels: reordered expected failure rates so that they still work when largest_real == double. ........ r40403 | schoepflin | 2007-10-24 02:02:32 -0700 (Wed, 24 Oct 2007) | 3 lines Fixed code which incorrectly assumed that an iterator returned by begin() is always a modifiable lvalue. ........ r40404 | schoepflin | 2007-10-24 02:04:47 -0700 (Wed, 24 Oct 2007) | 1 line Clarify lookup for destroy_n(). ........ r40405 | johnmaddock | 2007-10-24 02:15:20 -0700 (Wed, 24 Oct 2007) | 1 line Update makefiles and the script that creates them: was generating dependencies that weren't required. ........ r40406 | anthonyw | 2007-10-24 02:32:29 -0700 (Wed, 24 Oct 2007) | 1 line added real default constructor to condition::list_entry ........ r40407 | anthonyw | 2007-10-24 02:36:51 -0700 (Wed, 24 Oct 2007) | 1 line thrd-api is no longer a symmetric feature ........ r40408 | schoepflin | 2007-10-24 04:17:05 -0700 (Wed, 24 Oct 2007) | 2 lines Added missing include file. ........ r40409 | vladimir_prus | 2007-10-24 04:34:53 -0700 (Wed, 24 Oct 2007) | 1 line Improve comments ........ r40410 | vladimir_prus | 2007-10-24 04:38:49 -0700 (Wed, 24 Oct 2007) | 1 line Fix typo ........ r40411 | schoepflin | 2007-10-24 04:41:21 -0700 (Wed, 24 Oct 2007) | 3 lines Use external linkage for function templates, otherwise they are not considered as candidate functions during name loopkup. ........ r40412 | anthonyw | 2007-10-24 05:00:14 -0700 (Wed, 24 Oct 2007) | 1 line updated thread move semantics to work with Borland ........ r40413 | chris_kohlhoff | 2007-10-24 06:23:59 -0700 (Wed, 24 Oct 2007) | 2 lines Fixes for HP-UX test failures. ........ r40414 | nesotto | 2007-10-24 06:35:04 -0700 (Wed, 24 Oct 2007) | 1 line changed example with prime numbers according to Ticket #807 (new Bugs: None) ........ r40415 | nesotto | 2007-10-24 06:54:11 -0700 (Wed, 24 Oct 2007) | 1 line conversion operator was not in 1.34, so removed here also ........ r40416 | nesotto | 2007-10-24 06:54:52 -0700 (Wed, 24 Oct 2007) | 1 line cleanup ........ r40417 | nesotto | 2007-10-24 07:46:42 -0700 (Wed, 24 Oct 2007) | 1 line some updates from 1,34 branch ........ r40418 | eric_niebler | 2007-10-24 08:00:20 -0700 (Wed, 24 Oct 2007) | 1 line s/boost_range_begin/range_begin/ ........ r40419 | nesotto | 2007-10-24 08:02:01 -0700 (Wed, 24 Oct 2007) | 1 line newer docs from 1.34 ........ r40420 | eric_niebler | 2007-10-24 08:04:41 -0700 (Wed, 24 Oct 2007) | 1 line more typeof registrations from Dave Jankins ........ r40422 | nesotto | 2007-10-24 08:18:22 -0700 (Wed, 24 Oct 2007) | 1 line roll back of ADL names ........ r40423 | nesotto | 2007-10-24 08:19:16 -0700 (Wed, 24 Oct 2007) | 1 line roll-back of ADL names ........ r40424 | anthonyw | 2007-10-24 08:39:14 -0700 (Wed, 24 Oct 2007) | 1 line updated pthreads code to support move and multiple joins ........ r40425 | nesotto | 2007-10-24 08:53:54 -0700 (Wed, 24 Oct 2007) | 1 line removed deprecated mfc stuff ........ r40426 | nesotto | 2007-10-24 09:26:54 -0700 (Wed, 24 Oct 2007) | 1 line minor updates from 1.34 ........ r40427 | johnmaddock | 2007-10-24 10:57:45 -0700 (Wed, 24 Oct 2007) | 2 lines Removed files that are no longer used and regenerated the Makefiles so they are no longer dependent on the removed files. Hidden some seldom-used dependencies in static_mutex.hpp to reduce library footprint when extracted with bcp. ........ r40428 | igaztanaga | 2007-10-24 11:59:26 -0700 (Wed, 24 Oct 2007) | 1 line Fixed Solaris-gcc errors and added splay trees ........ r40429 | igaztanaga | 2007-10-24 12:00:30 -0700 (Wed, 24 Oct 2007) | 1 line Fixed Solaris-gcc errors and added splay trees ........ r40430 | igaztanaga | 2007-10-24 12:25:40 -0700 (Wed, 24 Oct 2007) | 1 line Corrected operator >> bug ........ r40433 | grafik | 2007-10-24 12:56:54 -0700 (Wed, 24 Oct 2007) | 1 line Obsolete in new web site. (fixes #1373) ........ r40435 | burbelgruff | 2007-10-24 13:30:31 -0700 (Wed, 24 Oct 2007) | 1 line Deleted regression tests. ........ r40437 | grafik | 2007-10-24 14:01:44 -0700 (Wed, 24 Oct 2007) | 1 line Obsolete files, as they are now moved to the new web site structure. (fixes #1248) ........ r40438 | eric_niebler | 2007-10-24 14:37:09 -0700 (Wed, 24 Oct 2007) | 1 line remove unneeded msvc-7.1 work-around ........ r40440 | danieljames | 2007-10-24 15:56:42 -0700 (Wed, 24 Oct 2007) | 2 lines Delete background.html as it's now in the new web site. ........ r40442 | djowel | 2007-10-24 16:29:54 -0700 (Wed, 24 Oct 2007) | 1 line fix remaining includes ........ r40444 | danieljames | 2007-10-24 16:36:57 -0700 (Wed, 24 Oct 2007) | 2 lines Delete bibliography, now that it's updated in the site. Fixes #1254. ........ r40445 | eric_niebler | 2007-10-24 16:37:40 -0700 (Wed, 24 Oct 2007) | 1 line replace all throw statements with boost::throw_exception ........ r40447 | rogeeff | 2007-10-24 17:01:38 -0700 (Wed, 24 Oct 2007) | 2 lines avoid msvc 8.0 warning more win CE workaround ........ r40448 | rogeeff | 2007-10-24 17:02:14 -0700 (Wed, 24 Oct 2007) | 1 line avoid some msvc warning ........ r40449 | rogeeff | 2007-10-24 17:17:25 -0700 (Wed, 24 Oct 2007) | 1 line missed sunpro workaround ........ r40451 | rogeeff | 2007-10-24 22:38:19 -0700 (Wed, 24 Oct 2007) | 2 lines minor cleanup final major piece of this update: debug services (almost complete: without stack dump) ........ r40453 | igaztanaga | 2007-10-24 23:33:50 -0700 (Wed, 24 Oct 2007) | 1 line Fixed Solaris and Linux bugs ........ r40454 | igaztanaga | 2007-10-24 23:34:41 -0700 (Wed, 24 Oct 2007) | 1 line Fixed intrusive_ptr and named condition test and added documentation. ........ r40455 | rogeeff | 2007-10-24 23:35:14 -0700 (Wed, 24 Oct 2007) | 1 line missing file included ........ r40456 | anthonyw | 2007-10-25 00:17:20 -0700 (Thu, 25 Oct 2007) | 1 line thread move constructor is not explicit, so self() compiles for MSVC8 and Intel; thread_exit_callback_node constructor added to remove warnings on MSVC8; thread destructor no longer calls cancel ........ r40457 | rogeeff | 2007-10-25 00:29:07 -0700 (Thu, 25 Oct 2007) | 1 line missed debug in another included component ........ r40458 | speedsnail | 2007-10-25 00:52:25 -0700 (Thu, 25 Oct 2007) | 1 line More verbose "Skipping" message, telling what it is beeing skipped. ........ r40459 | speedsnail | 2007-10-25 00:57:12 -0700 (Thu, 25 Oct 2007) | 1 line Corrected typo ........ r40460 | schoepflin | 2007-10-25 03:21:10 -0700 (Thu, 25 Oct 2007) | 1 line Removed extra semicolons to silence warnings. ........ r40461 | igaztanaga | 2007-10-25 08:53:19 -0700 (Thu, 25 Oct 2007) | 1 line Corrected error when checking file size against maximum address range for 64 bit platforms ........ r40462 | vladimir_prus | 2007-10-25 09:48:24 -0700 (Thu, 25 Oct 2007) | 3 lines Report underfined paths before trying to replace spaces in them (and crash on emptry paths). ........ r40463 | vladimir_prus | 2007-10-25 10:08:27 -0700 (Thu, 25 Oct 2007) | 1 line Don't use boost.test for testing. ........ r40464 | nesotto | 2007-10-25 13:47:59 -0700 (Thu, 25 Oct 2007) | 1 line major update of copy-operations and various pending fixes ........ r40465 | nesotto | 2007-10-25 13:49:02 -0700 (Thu, 25 Oct 2007) | 1 line major update of test to handle new functionality and better test of old functionality ........ r40466 | nesotto | 2007-10-25 13:50:51 -0700 (Thu, 25 Oct 2007) | 1 line update of test for ptr_list_of which can now actually works because of copyability of the ptr_contaners ........ r40467 | nesotto | 2007-10-25 13:51:16 -0700 (Thu, 25 Oct 2007) | 1 line proper definition of the conversion operator ........ r40468 | dave | 2007-10-25 16:19:48 -0700 (Thu, 25 Oct 2007) | 3 lines Closes #1379. It would be good to have a much more principled approach; see comments in the diffs for details. ........ r40469 | grafik | 2007-10-25 18:02:48 -0700 (Thu, 25 Oct 2007) | 1 line Merge search path for include & import from backend branch. And add corresponding support for <include> to BBv2 quickbook tool. Remove obsolete quickbook.xml file. (fixes #1263) ........ r40471 | rogeeff | 2007-10-25 23:47:29 -0700 (Thu, 25 Oct 2007) | 2 lines made it to compile if unicode is defined avoid assertion for negative chars ........ r40472 | anthonyw | 2007-10-26 00:33:22 -0700 (Fri, 26 Oct 2007) | 1 line added tests for cancellation ........ r40473 | vladimir_prus | 2007-10-26 01:41:34 -0700 (Fri, 26 Oct 2007) | 1 line Fix typo ........ r40474 | vladimir_prus | 2007-10-26 01:45:26 -0700 (Fri, 26 Oct 2007) | 2 lines Make 'install' for individual lib explicit. ........ r40475 | vladimir_prus | 2007-10-26 02:04:25 -0700 (Fri, 26 Oct 2007) | 6 lines Make sure every library can be installed by using bjam stage|install in libs/<library>/build. ........ r40476 | anthonyw | 2007-10-26 02:45:46 -0700 (Fri, 26 Oct 2007) | 1 line disable_cancellation and restore_cancellation need to be declared BOOST_THREAD_DECL to work with DLLs ........ r40477 | anthonyw | 2007-10-26 02:53:10 -0700 (Fri, 26 Oct 2007) | 1 line disable_cancellation and restore_cancellation need to be declared BOOST_THREAD_DECL to work with DLLs with pthread-win32 ........ r40478 | anthonyw | 2007-10-26 03:46:01 -0700 (Fri, 26 Oct 2007) | 1 line improved lifetime management of thread data ........ r40479 | t_schwinger | 2007-10-26 05:16:37 -0700 (Fri, 26 Oct 2007) | 3 lines reverts clobbered changes before merge ........ r40480 | igaztanaga | 2007-10-26 07:24:58 -0700 (Fri, 26 Oct 2007) | 1 line Added missing include ........ r40483 | schoepflin | 2007-10-26 08:36:56 -0700 (Fri, 26 Oct 2007) | 3 lines Use external linkage for function templates, otherwise they are not considered as candidate functions during name loopkup. ........ r40484 | johnmaddock | 2007-10-26 11:12:28 -0700 (Fri, 26 Oct 2007) | 1 line Try and work around a Tru64 overload resolution bug. ........ r40485 | rogeeff | 2007-10-26 11:31:55 -0700 (Fri, 26 Oct 2007) | 1 line removed install target for now ........ r40487 | vladimir_prus | 2007-10-26 12:37:56 -0700 (Fri, 26 Oct 2007) | 1 line Fix winmain test ........ r40488 | nesotto | 2007-10-26 16:03:11 -0700 (Fri, 26 Oct 2007) | 1 line Added test of xml-archives. ........ r40489 | nesotto | 2007-10-26 16:16:15 -0700 (Fri, 26 Oct 2007) | 1 line Ticket #1027 (new Patches) ........ r40494 | igaztanaga | 2007-10-27 02:17:14 -0700 (Sat, 27 Oct 2007) | 1 line updated new acc toolsets as unusable for Interprocess ........ r40497 | vladimir_prus | 2007-10-27 02:55:58 -0700 (Sat, 27 Oct 2007) | 2 lines New Python rule -- 'backtrace'. ........ r40498 | johnmaddock | 2007-10-27 04:25:05 -0700 (Sat, 27 Oct 2007) | 1 line Added first lot of markup for the new Boost.Math additions. ........ r40499 | johnmaddock | 2007-10-27 04:27:19 -0700 (Sat, 27 Oct 2007) | 1 line Changed concept code so there are no null-references any more (the code breaks on EDG based compilers otherwise). ........ r40500 | johnmaddock | 2007-10-27 04:32:30 -0700 (Sat, 27 Oct 2007) | 2 lines Set expected error limits for HP Tru64. Prevent very extreme-value round-trip tests from being run. ........ r40506 | nesotto | 2007-10-27 08:57:20 -0700 (Sat, 27 Oct 2007) | 1 line cleaned up deprecated headers ........ r40507 | nesotto | 2007-10-27 08:57:56 -0700 (Sat, 27 Oct 2007) | 1 line updated example to new syntax ........ r40508 | nesotto | 2007-10-27 08:58:22 -0700 (Sat, 27 Oct 2007) | 1 line first update ... more to come ........ r40509 | nesotto | 2007-10-27 11:20:45 -0700 (Sat, 27 Oct 2007) | 1 line small renaming ........ r40510 | nesotto | 2007-10-27 11:21:17 -0700 (Sat, 27 Oct 2007) | 1 line better test of bilk headers ........ r40511 | nesotto | 2007-10-27 14:50:14 -0700 (Sat, 27 Oct 2007) | 1 line update of all new functionality ........ r40512 | nesotto | 2007-10-27 14:52:13 -0700 (Sat, 27 Oct 2007) | 1 line minor change to scoped_deleter, some cleanup of explicit, and fixed a bug in assignment of ptr_maps ........ r40513 | nesotto | 2007-10-27 14:52:51 -0700 (Sat, 27 Oct 2007) | 1 line minor update of copying of maps ........ r40514 | nesotto | 2007-10-27 15:00:47 -0700 (Sat, 27 Oct 2007) | 1 line added mfc/atl link ........ r40515 | danmarsden | 2007-10-27 15:16:35 -0700 (Sat, 27 Oct 2007) | 1 line fixing performance tests, mainly result of issues, and arity issues with unfused typed ........ r40516 | danmarsden | 2007-10-27 15:18:13 -0700 (Sat, 27 Oct 2007) | 1 line fixing missing traversal category on binary transform view, by reusing zip_view algorithm ........ r40517 | nesotto | 2007-10-27 15:35:20 -0700 (Sat, 27 Oct 2007) | 1 line update that hopefully will help eg the sun compiler ........ r40518 | nesotto | 2007-10-27 15:52:29 -0700 (Sat, 27 Oct 2007) | 1 line changed range_result_iterator to range_iterator ........ r40520 | nesotto | 2007-10-28 03:11:10 -0700 (Sun, 28 Oct 2007) | 1 line fixes broken one from trunk ... still not finished ........ r40521 | nesotto | 2007-10-28 03:11:54 -0700 (Sun, 28 Oct 2007) | 1 line adds test for inclusion of concept header ........ r40522 | johnmaddock | 2007-10-28 04:07:14 -0700 (Sun, 28 Oct 2007) | 2 lines split test_policy into 2 to reduce compile times. Added expected error rates for Mac OS X on Intel. ........ r40524 | andreas_huber69 | 2007-10-28 06:26:00 -0700 (Sun, 28 Oct 2007) | 2 lines - Added to-do - Update for 1.35 ........ r40527 | hkaiser | 2007-10-28 07:29:40 -0700 (Sun, 28 Oct 2007) | 1 line Changed the code to allow ADL to find the correct pow() function, not relying on an existing overload in the std namespace anymore. ........ r40530 | martin_wille | 2007-10-28 09:02:15 -0700 (Sun, 28 Oct 2007) | 5 lines -- compensated for changes to Boost.Thread: o Boost.Thread no longer accepts boost::reference_wrapper instances as callable arguments o created a new callable_reference_wrapper type that gets used instead of the no longer accepted type. ........ r40531 | hkaiser | 2007-10-28 09:16:52 -0700 (Sun, 28 Oct 2007) | 1 line Added test of real_parser specialized for a custom data type. ........ r40534 | danmarsden | 2007-10-28 10:40:45 -0700 (Sun, 28 Oct 2007) | 1 line Documentation for the struct extension macros ........ r40535 | dave | 2007-10-28 12:22:21 -0700 (Sun, 28 Oct 2007) | 2 lines Closes #1379, really this time. The old code would sandwich argv[1] between quotes and interpret it as a string, so backslashes in windows paths were interpreted as escape sequences. ........ r40536 | dave | 2007-10-28 12:24:02 -0700 (Sun, 28 Oct 2007) | 2 lines Take out print statement I added for debugging purposes. ........ r40537 | grafik | 2007-10-28 12:53:09 -0700 (Sun, 28 Oct 2007) | 1 line Fix misspelled test file name. ........ r40539 | djowel | 2007-10-28 18:19:31 -0700 (Sun, 28 Oct 2007) | 1 line added Tobias to fusion authors list ........ r40540 | burbelgruff | 2007-10-29 01:05:17 -0700 (Mon, 29 Oct 2007) | 1 line Fixed duplicate definition of boost::type_of::push_back when BOOST_TYPEOF_LIMIT_SIZE>50 and not a multiple of 50. (From Dave Jenkins) ........ r40541 | joaquin | 2007-10-29 01:12:58 -0700 (Mon, 29 Oct 2007) | 1 line updated according to latest regression tests results ........ r40542 | joaquin | 2007-10-29 01:16:56 -0700 (Mon, 29 Oct 2007) | 1 line fixed some struct/class discordances between decls and defs ........ r40543 | nesotto | 2007-10-29 05:29:57 -0700 (Mon, 29 Oct 2007) | 1 line change use of range_result_iterator to range_iterator ........ r40546 | chris_kohlhoff | 2007-10-29 06:06:12 -0700 (Mon, 29 Oct 2007) | 3 lines Mac OS X 10.5 (Leopard) gives a compile error if you try to perform an operation on a const fd_set pointer. ........ r40547 | chris_kohlhoff | 2007-10-29 06:06:39 -0700 (Mon, 29 Oct 2007) | 2 lines Ensure the task handler is put back on the queue after polling. ........ r40548 | chris_kohlhoff | 2007-10-29 06:07:08 -0700 (Mon, 29 Oct 2007) | 3 lines Use GetModuleHandleA rather than GetModuleHandle to avoid being broken by UNICODE #defines. ........ r40549 | chris_kohlhoff | 2007-10-29 06:08:32 -0700 (Mon, 29 Oct 2007) | 3 lines HP-UX fails to declare if_nametoindex as extern "C". Added a declaration for it with correct linkage to avoid a linker error. ........ r40551 | dgregor | 2007-10-29 07:43:19 -0700 (Mon, 29 Oct 2007) | 1 line sigemptyset is a macro on Darwin, so don't precede it by :: ........ r40553 | eric_niebler | 2007-10-29 08:04:11 -0700 (Mon, 29 Oct 2007) | 1 line better solution for deprecated range_result_iterator ........ r40554 | fmhess | 2007-10-29 08:08:46 -0700 (Mon, 29 Oct 2007) | 3 lines Extended the hack in docbook.xsl for dealing with nested <part> elements. It now handles the case of <appendix> children of <part>. ........ r40555 | fmhess | 2007-10-29 08:18:49 -0700 (Mon, 29 Oct 2007) | 16 lines Added support for new boostbook <access> element for documenting non-public class members. function.xsl, type.xsl, utility.xsl: Added support for <access> elements to allow nonpublic access specifiers for class member documentation. boostbook.dtd: Updated to reflect new <access> element. Updated Peter Simons email address. Added mention of boost license. reference.dtdxml: Added reference documentation for new <access> element. Removed some obsolete remarks from the description of inherit element. reference.xml: The changes to this file were generated by applying dtd2boostbook.xsl to the updated reference.dtdxml file. ........ r40556 | grafik | 2007-10-29 09:12:14 -0700 (Mon, 29 Oct 2007) | 1 line Fix force-update and have-source options to be correct boolean options. And bring back the rmtree code to work around Python rmtree deficiencies. ........ r40557 | grafik | 2007-10-29 12:12:07 -0700 (Mon, 29 Oct 2007) | 1 line Now that tarballs are working again... Implement getting the tools source from tarballs, and fix getting boost sources from tarball. ........ r40558 | rwgk | 2007-10-29 12:12:56 -0700 (Mon, 29 Oct 2007) | 1 line gcc 4.3.0 compatibility (resolves new "changes meaning" error) ........ r40595 | grafik | 2007-10-29 18:50:42 -0700 (Mon, 29 Oct 2007) | 1 line Add support for using a proxy as some firewalls are restrictive even to HTTP/GET access. ........ r40597 | igaztanaga | 2007-10-30 00:00:51 -0700 (Tue, 30 Oct 2007) | 1 line Added avl trees ........ r40598 | igaztanaga | 2007-10-30 00:02:10 -0700 (Tue, 30 Oct 2007) | 1 line Added avl trees ........ r40599 | agurtovoy | 2007-10-30 00:25:27 -0700 (Tue, 30 Oct 2007) | 1 line xsl_reports: display the corresponding run's revision/timestamp on the test output page ........ r40603 | bgubenko | 2007-10-30 05:43:47 -0700 (Tue, 30 Oct 2007) | 1 line add support for aC++ on HP-UX ia64 ........ r40604 | bgubenko | 2007-10-30 05:48:44 -0700 (Tue, 30 Oct 2007) | 1 line add support for aC++ on HP-UX ia64 ........ r40605 | bgubenko | 2007-10-30 05:58:36 -0700 (Tue, 30 Oct 2007) | 1 line fix typo in comment ........ r40609 | anthonyw | 2007-10-30 10:16:24 -0700 (Tue, 30 Oct 2007) | 1 line Added specialization for reference_wrapper to allow use of boost::ref with boost::thread (again) ........ r40611 | hkaiser | 2007-10-30 11:17:59 -0700 (Tue, 30 Oct 2007) | 1 line Merged a change from 1.34.1. ........ r40612 | nesotto | 2007-10-30 12:47:40 -0700 (Tue, 30 Oct 2007) | 1 line current version gave problem in regression ... to be updated later ........ r40614 | andreas_huber69 | 2007-10-30 14:27:34 -0700 (Tue, 30 Oct 2007) | 1 line Marked up new failures for 1.35 ........ r40615 | andreas_huber69 | 2007-10-30 15:01:41 -0700 (Tue, 30 Oct 2007) | 1 line Updated link to test results. ........ r40617 | danieljames | 2007-10-30 15:33:35 -0700 (Tue, 30 Oct 2007) | 3 lines Remove regression/.htaccess as it has been merged with the beta website's .htaccess. Fixes #1249. ........ r40623 | johnmaddock | 2007-10-31 05:43:10 -0700 (Wed, 31 Oct 2007) | 1 line Try and get better error messages to debug Tru64 failures. ........ r40625 | bemandawes | 2007-10-31 08:09:35 -0700 (Wed, 31 Oct 2007) | 1 line Remove some older compilers from required list ........ r40627 | bemandawes | 2007-10-31 11:28:39 -0700 (Wed, 31 Oct 2007) | 1 line Add missing BOOST_SYSTEM_NO_DEPRECATED #ifndef ........ r40628 | grafik | 2007-10-31 13:20:07 -0700 (Wed, 31 Oct 2007) | 1 line Remove dependence on boost.test for PJL. It causes too many dependence problems on the testing platforms. ........ r40629 | nesotto | 2007-10-31 14:48:11 -0700 (Wed, 31 Oct 2007) | 1 line added deprecated headers again for backward compatibility sake ........ r40630 | bemandawes | 2007-10-31 15:01:58 -0700 (Wed, 31 Oct 2007) | 1 line Treat Windows ERROR_SHARING_VIOLATION as an existing file of unknown type. Fixes ticket #897 ........ r40631 | agurtovoy | 2007-10-31 15:25:46 -0700 (Wed, 31 Oct 2007) | 1 line xsl_report: fix timestamp/revision age highlighting ........ r40632 | hkaiser | 2007-10-31 16:13:34 -0700 (Wed, 31 Oct 2007) | 1 line Applied patch from #1208. ........ r40633 | bgubenko | 2007-10-31 18:05:07 -0700 (Wed, 31 Oct 2007) | 1 line mark parameter library tests affected by GCC Bugzilla Bug 33580 ........ r40634 | rogeeff | 2007-10-31 19:46:57 -0700 (Wed, 31 Oct 2007) | 1 line disable on CE ........ r40635 | rogeeff | 2007-10-31 19:54:15 -0700 (Wed, 31 Oct 2007) | 1 line debug was missing in PEM ........ r40636 | johnmaddock | 2007-11-01 03:17:49 -0700 (Thu, 01 Nov 2007) | 1 line Still more tweaks to try and figure out why this fails on Tru64. ........ r40637 | igaztanaga | 2007-11-01 04:47:00 -0700 (Thu, 01 Nov 2007) | 1 line Uncommented pointer conversion utilities ........ r40638 | bgubenko | 2007-11-01 04:47:20 -0700 (Thu, 01 Nov 2007) | 1 line fix typo ........ r40639 | johnmaddock | 2007-11-01 07:01:44 -0700 (Thu, 01 Nov 2007) | 1 line Added <stdio.h> and <sys/time.h> to the list of Unix-specific includes: these are needed by Sun's compiler, and for that matter, by Boost.Test to be std conforming. ........ r40640 | bemandawes | 2007-11-01 08:23:06 -0700 (Thu, 01 Nov 2007) | 2 lines Enable the XPG-compliant version of readdir_r() on AIX. Merged from 1.34.1. ........ r40642 | gmelquio | 2007-11-01 09:01:30 -0700 (Thu, 01 Nov 2007) | 1 line Ported patch from 1.34.1 about conflicting math.h functions on PPC. Commented use of old control function for MSVC. ........ r40645 | dgregor | 2007-11-01 09:16:30 -0700 (Thu, 01 Nov 2007) | 1 line Use unsigned long long for the path count to avoid overflows. Fixes #1398 ........ r40646 | bemandawes | 2007-11-01 09:35:45 -0700 (Thu, 01 Nov 2007) | 1 line Mingw doesn't support GetUserDefaultUILanguage so set it to US English. ........ r40647 | anthonyw | 2007-11-01 10:07:47 -0700 (Thu, 01 Nov 2007) | 1 line condition wait and sleep are now cancellation points ........ r40649 | johnmaddock | 2007-11-01 10:16:41 -0700 (Thu, 01 Nov 2007) | 1 line Fix for http://svn.boost.org/trac/boost/ticket/1381. ........ r40650 | anthonyw | 2007-11-01 10:18:54 -0700 (Thu, 01 Nov 2007) | 1 line shared_mutex lock functions are not cancellation points ........ r40651 | danieljames | 2007-11-01 10:58:13 -0700 (Thu, 01 Nov 2007) | 2 lines Merge version history from 1.34.1. ........ r40652 | johnmaddock | 2007-11-01 11:02:37 -0700 (Thu, 01 Nov 2007) | 1 line Ticket #583. ........ r40653 | anthonyw | 2007-11-01 11:04:55 -0700 (Thu, 01 Nov 2007) | 1 line added timed_join to thread ........ r40654 | johnmaddock | 2007-11-01 11:05:33 -0700 (Thu, 01 Nov 2007) | 1 line Patches from Trac #583. ........ r40655 | danieljames | 2007-11-01 11:22:33 -0700 (Thu, 01 Nov 2007) | 1 line Fix the previous merge commit, it didn't include all the changes. ........ r40656 | johnmaddock | 2007-11-01 11:26:07 -0700 (Thu, 01 Nov 2007) | 1 line Strengthened admonishment and rebuilt docs. ........ r40657 | bemandawes | 2007-11-01 11:39:32 -0700 (Thu, 01 Nov 2007) | 1 line Add Boost.System ........ r40669 | danieljames | 2007-11-01 14:57:03 -0700 (Thu, 01 Nov 2007) | 2 lines Delete people from main repository, now that the beta website has been updated. ........ r40670 | chris_kohlhoff | 2007-11-01 15:42:26 -0700 (Thu, 01 Nov 2007) | 3 lines Fix memory leak when an io_service is allowed to destruct with unfinished async_wait operations. ........ r40671 | dave | 2007-11-01 16:39:02 -0700 (Thu, 01 Nov 2007) | 3 lines Initialized merge tracking via "svnmerge" with revisions "1-40670" from https://svn.boost.org/svn/boost/branches/RC_1_34_0/boost ........ r40672 | dave | 2007-11-01 16:44:39 -0700 (Thu, 01 Nov 2007) | 3 lines Initialized merge tracking via "svnmerge" with revisions "1-33417" from https://svn.boost.org/svn/boost/branches/RC_1_34_0/boost ........ r40673 | dgregor | 2007-11-01 20:07:24 -0700 (Thu, 01 Nov 2007) | 1 line Fix for Borland/CodeGear, from JongSoo Park ........ r40674 | matias | 2007-11-01 20:51:40 -0700 (Thu, 01 Nov 2007) | 1 line Add not supported compilers for Bimap ........ r40675 | eric_niebler | 2007-11-01 21:35:01 -0700 (Thu, 01 Nov 2007) | 1 line merge Changeset 37947 ........ r40676 | speedsnail | 2007-11-02 00:42:49 -0700 (Fri, 02 Nov 2007) | 1 line changed translate-indirect to skip rules, that are already in indirect format. This allows e.g. to make use of the -<tag> to remove already set tag feature. ........ r40677 | speedsnail | 2007-11-02 01:40:11 -0700 (Fri, 02 Nov 2007) | 2 lines New thread Jamfile. Requirement <threading>multi now correctly handled, even when requested with <threading>single. New project specific feature <threadapi> with values win32 and pthread available. ........ r40678 | johnmaddock | 2007-11-02 01:59:24 -0700 (Fri, 02 Nov 2007) | 1 line Some minor tweaks to support Sun's compiler on Linux. ........ r40679 | anthonyw | 2007-11-02 02:17:02 -0700 (Fri, 02 Nov 2007) | 1 line Added changes from David Deakins to enable compilation on Windows CE ........ r40680 | anthonyw | 2007-11-02 04:47:56 -0700 (Fri, 02 Nov 2007) | 1 line rewrite xtime_get in terms of get_system_time to ensure clock consistency, and fix Borland test failures ........ r40682 | bemandawes | 2007-11-02 05:43:47 -0700 (Fri, 02 Nov 2007) | 1 line WinCE workaround for lack of FormatMessageA ........ r40683 | johnmaddock | 2007-11-02 06:01:39 -0700 (Fri, 02 Nov 2007) | 1 line Added a couple of boost:: qualifiers that were present in 1.34.1 but got lost from the Trunk. ........ r40684 | johnmaddock | 2007-11-02 06:02:41 -0700 (Fri, 02 Nov 2007) | 1 line Fixes for Mac OS X on PowerPC Darwin. ........ r40685 | anthonyw | 2007-11-02 07:58:48 -0700 (Fri, 02 Nov 2007) | 1 line renamed cancellation to interruption ........ r40687 | rogeeff | 2007-11-02 09:08:47 -0700 (Fri, 02 Nov 2007) | 1 line allow tests to be run by regression testing facilities ........ r40688 | johnmaddock | 2007-11-02 10:40:10 -0700 (Fri, 02 Nov 2007) | 1 line Added one more needed #include (stdlib.h for mkstemp). ........ r40692 | anthonyw | 2007-11-02 11:19:49 -0700 (Fri, 02 Nov 2007) | 1 line Fixed typo with interruption change ........ r40693 | johnmaddock | 2007-11-02 11:26:47 -0700 (Fri, 02 Nov 2007) | 1 line Added needed #include and using declaration. ........ r40697 | pavol_droba | 2007-11-02 13:55:26 -0700 (Fri, 02 Nov 2007) | 2 lines merging changes from 1.34 ........ r40698 | pavol_droba | 2007-11-02 14:00:08 -0700 (Fri, 02 Nov 2007) | 3 lines merging changes from 1.34 ........ r40702 | fmhess | 2007-11-02 15:37:52 -0700 (Fri, 02 Nov 2007) | 4 lines Fixed spurious paragraph in html output for overloaded methods. ........ r40703 | fmhess | 2007-11-02 15:40:25 -0700 (Fri, 02 Nov 2007) | 4 lines Added descriptions of class member typedefs to class documentation. This replaces Daniel James' previous one-line patch from changeset 39711. ........ r40704 | fcacciola | 2007-11-02 15:55:49 -0700 (Fri, 02 Nov 2007) | 1 line Merged changests from RC_1_34_0 - base rev 33417 ........ r40705 | fcacciola | 2007-11-02 15:56:23 -0700 (Fri, 02 Nov 2007) | 1 line Merged changests from RC_1_34_0 - base rev 33417 ........ r40706 | fcacciola | 2007-11-02 16:06:42 -0700 (Fri, 02 Nov 2007) | 1 line Fixed error reported by Edward Diener ........ r40707 | fcacciola | 2007-11-02 16:41:37 -0700 (Fri, 02 Nov 2007) | 1 line Added test to ensure proper binding of optional references (in reference to Ticket 1301) ........ r40708 | pdimov | 2007-11-02 16:46:04 -0700 (Fri, 02 Nov 2007) | 1 line Port unspecified_bool fix for Sun 5.8 from RC_1_34 ........ r40709 | hkaiser | 2007-11-02 17:30:33 -0700 (Fri, 02 Nov 2007) | 1 line Bumped Spirit version to 1.8.6. ........ r40710 | bemandawes | 2007-11-02 17:49:07 -0700 (Fri, 02 Nov 2007) | 1 line Detect Windows FormatMessage errors, standardize message() return on message-not-found errors ........ r40712 | djowel | 2007-11-02 20:05:26 -0700 (Fri, 02 Nov 2007) | 1 line replacing reinterpret_cast with static_cast<PySliceObject*>(static_cast<void*>(i)) ........ r40714 | dave | 2007-11-02 20:25:13 -0700 (Fri, 02 Nov 2007) | 3 lines Merging some of the more obvious changes from RC_1_34_0 ........ r40715 | noel_belcourt | 2007-11-02 21:08:23 -0700 (Fri, 02 Nov 2007) | 3 lines Have intel on darwin use intel-linux.jam toolset. ........ r40716 | danieljames | 2007-11-03 03:10:11 -0700 (Sat, 03 Nov 2007) | 2 lines Merge in changes to forwarding html files in doc/html. ........ r40717 | danieljames | 2007-11-03 03:18:52 -0700 (Sat, 03 Nov 2007) | 2 lines Add titles to redirect pages so that they will validate. ........ r40718 | danieljames | 2007-11-03 03:32:35 -0700 (Sat, 03 Nov 2007) | 9 lines Attribute copyright to Douglas Gregor. The copyright in these files was attributed to William Kempf, but the revision history shows that he has never touched them and the original file that they were based on (threads.html) was created by Douglas Gregor. The copyright was actually added by Hartmut Kaiser, who was adding the copyright to all the Boost.Thread files and included this one. ........ r40719 | johnmaddock | 2007-11-03 05:36:55 -0700 (Sat, 03 Nov 2007) | 1 line Hopefully, take care of the remaining Tru64 failures: adjust >= test to > in some of the tests, and fix one expected error level for the incomplete beta function. ........ r40720 | johnmaddock | 2007-11-03 05:43:41 -0700 (Sat, 03 Nov 2007) | 1 line Try again to fix Darwin failure: the wrong error limit is currently being found. ........ r40725 | johnmaddock | 2007-11-03 10:05:11 -0700 (Sat, 03 Nov 2007) | 1 line Need stdarg.h to use vsnprintf as well as stdio.h ........ r40726 | johnmaddock | 2007-11-03 11:30:07 -0700 (Sat, 03 Nov 2007) | 1 line Beginning to add Math Library markup. ........ r40727 | johnmaddock | 2007-11-03 11:32:54 -0700 (Sat, 03 Nov 2007) | 3 lines Added workaround for Sunpro not compiling the traits classes. Added workaround for platforms where numeric_limits<>::denorm_min() does not return a denorm! Updated Solaris error rates. ........ r40728 | pdimov | 2007-11-03 13:55:22 -0700 (Sat, 03 Nov 2007) | 1 line BOOST_VERIFY added. ........ r40730 | anthonyw | 2007-11-03 15:00:12 -0700 (Sat, 03 Nov 2007) | 1 line added missing include ........ r40731 | pdimov | 2007-11-03 15:47:17 -0700 (Sat, 03 Nov 2007) | 1 line Added a sentence with a brief explanation of the intended uses of BOOST_VERIFY. ........ r40733 | djowel | 2007-11-03 16:42:06 -0700 (Sat, 03 Nov 2007) | 1 line fixed [cpp] to [c++] ........ r40734 | djowel | 2007-11-03 17:12:29 -0700 (Sat, 03 Nov 2007) | 1 line tutorial update ........ r40735 | agurtovoy | 2007-11-03 18:34:39 -0700 (Sat, 03 Nov 2007) | 1 line explicit-failures-markup.xml: partially reverting change #39788 (see http://article.gmane.org/gmane.comp.lib.boost.testing/5254) ........ r40736 | johnmaddock | 2007-11-04 04:01:16 -0800 (Sun, 04 Nov 2007) | 1 line Fix path to test case. ........ r40737 | danmarsden | 2007-11-04 07:26:51 -0800 (Sun, 04 Nov 2007) | 1 line Basic sequence and iterator fascade docs ........ r40738 | bemandawes | 2007-11-04 07:32:03 -0800 (Sun, 04 Nov 2007) | 1 line glibc++ may append unknown error value, so only test first part of string ........ r40739 | bemandawes | 2007-11-04 07:48:31 -0800 (Sun, 04 Nov 2007) | 1 line Try to bring the required toolsets more in sync with what testers are actually running. Sort required toolsets. ........ r40742 | speedsnail | 2007-11-04 09:17:01 -0800 (Sun, 04 Nov 2007) | 3 lines Get rid of "unsused variable" warnings by making use of BOOST_VERIFY. This changeset is for pthread only. ........ r40744 | bemandawes | 2007-11-04 09:18:53 -0800 (Sun, 04 Nov 2007) | 1 line Workaround MingW doesn't supply GetUserDefaultUILanguage ........ r40749 | rwgk | 2007-11-04 10:08:28 -0800 (Sun, 04 Nov 2007) | 1 line reinterpret_cast -> const_cast; commented out dead code removed ........ r40751 | danieljames | 2007-11-04 11:09:56 -0800 (Sun, 04 Nov 2007) | 2 lines Remove borland_cpp.html as it has been added to the new site. ........ r40753 | danieljames | 2007-11-04 11:29:41 -0800 (Sun, 04 Nov 2007) | 2 lines Remove the submission process documentation as it's up to date in the new site. ........ r40758 | danieljames | 2007-11-04 13:07:02 -0800 (Sun, 04 Nov 2007) | 3 lines Delete int_const_guidlines from trunk, as it's been added to the beta site. Fixes: #1356. ........ r40759 | chris_kohlhoff | 2007-11-04 13:25:49 -0800 (Sun, 04 Nov 2007) | 2 lines Some changes to enable support for WinCE. ........ r40762 | eric_niebler | 2007-11-04 14:53:27 -0800 (Sun, 04 Nov 2007) | 1 line remove dead proto v1 code ........ r40763 | eric_niebler | 2007-11-04 15:53:13 -0800 (Sun, 04 Nov 2007) | 1 line various fixes and missing includes, from Jens Seidel ........ r40764 | eric_niebler | 2007-11-04 15:58:44 -0800 (Sun, 04 Nov 2007) | 1 line change header include order ........ r40765 | djowel | 2007-11-04 17:13:11 -0800 (Sun, 04 Nov 2007) | 1 line Fixed Ticket #1328 (http://svn.boost.org/trac/boost/ticket/1328) ........ r40766 | djowel | 2007-11-04 18:10:42 -0800 (Sun, 04 Nov 2007) | 1 line Workarounds for Fusion on IBM xlc ........ r40767 | bemandawes | 2007-11-04 18:34:04 -0800 (Sun, 04 Nov 2007) | 1 line Add copyright and license ........ r40768 | garcia | 2007-11-04 19:13:15 -0800 (Sun, 04 Nov 2007) | 2 lines multi_array doesn't work under Borland 5.9. ........ r40769 | dave | 2007-11-04 19:54:19 -0800 (Sun, 04 Nov 2007) | 9 lines Updated Concept Check library documentation. Changed BOOST_CONCEPT_WHERE to BOOST_CONCEPT_REQUIRES to be more consistent with the current C++0x proposal, which now uses a "requires" keyword in lieu of "where." Factored GCC workarounds into the BOOST_CONCEPT_USAGE macro. ........ r40770 | dave | 2007-11-04 20:43:31 -0800 (Sun, 04 Nov 2007) | 7 lines Moved boost/concept/where.hpp to boost/concept/requires.hpp Updated reference.htm to include BOOST_CONCEPT_REQUIRES Fixed a copyright notice. ........ r40771 | johnmaddock | 2007-11-05 01:33:31 -0800 (Mon, 05 Nov 2007) | 1 line Still trying to get Mac OS error rates correct... ........ r40774 | anthonyw | 2007-11-05 02:15:24 -0800 (Mon, 05 Nov 2007) | 1 line threadapi is a composite feature again ........ r40779 | chris_kohlhoff | 2007-11-05 03:52:52 -0800 (Mon, 05 Nov 2007) | 2 lines Don't set errno when building for Windows targets. Should fix WinCE build. ........ r40780 | johnmaddock | 2007-11-05 04:07:47 -0800 (Mon, 05 Nov 2007) | 1 line Disabled long double support for Intel on Linux prior to version 10. ........ r40781 | johnmaddock | 2007-11-05 04:08:39 -0800 (Mon, 05 Nov 2007) | 1 line Changed test so that input values are exact binary values to fix failure at float precision. ........ r40782 | bemandawes | 2007-11-05 04:36:41 -0800 (Mon, 05 Nov 2007) | 1 line Add message display to illuminate why aCC fails Unknown error test ........ r40783 | chris_kohlhoff | 2007-11-05 04:38:39 -0800 (Mon, 05 Nov 2007) | 2 lines Add checks for expected failures on Windows CE. ........ r40785 | nesotto | 2007-11-05 05:54:23 -0800 (Mon, 05 Nov 2007) | 1 line added lost changes from 1.34 branch ........ r40787 | anthonyw | 2007-11-05 06:16:21 -0800 (Mon, 05 Nov 2007) | 1 line Use pthread_equal for comparing pthread_t IDs; use BOOST_VERIFY instead of BOOST_ASSERT in many places in order to avoid unused variable warnings ........ r40789 | djowel | 2007-11-05 07:13:58 -0800 (Mon, 05 Nov 2007) | 1 line fusion markups ........ r40790 | speedsnail | 2007-11-05 08:12:49 -0800 (Mon, 05 Nov 2007) | 2 lines Usage requirements added. ........ r40791 | speedsnail | 2007-11-05 08:22:17 -0800 (Mon, 05 Nov 2007) | 2 lines Cosmetic change to please gcc. ........ r40792 | anthonyw | 2007-11-05 08:47:25 -0800 (Mon, 05 Nov 2007) | 1 line Use BOOST_VERIFY instead of BOOST_ASSERT in many places in order to avoid unused variable warnings ........ r40793 | eric_niebler | 2007-11-05 09:12:50 -0800 (Mon, 05 Nov 2007) | 1 line markup foreach failures on sun-5.9 ........ r40794 | t_schwinger | 2007-11-05 09:15:04 -0800 (Mon, 05 Nov 2007) | 4 lines - nonstandard calling conventions disabled by default - automatic fallback configuration ........ r40795 | t_schwinger | 2007-11-05 09:16:30 -0800 (Mon, 05 Nov 2007) | 2 lines removes unportable 'chdir' ........ r40796 | t_schwinger | 2007-11-05 09:17:57 -0800 (Mon, 05 Nov 2007) | 3 lines just a touch ........ r40797 | t_schwinger | 2007-11-05 09:19:23 -0800 (Mon, 05 Nov 2007) | 3 lines adds test case for pointer to data member type ........ r40798 | t_schwinger | 2007-11-05 09:20:44 -0800 (Mon, 05 Nov 2007) | 4 lines - nonstandard calling conventions need to be enabled now - using #ifdef ... #error to detect whether test makes sense for a particular compiler ........ r40799 | t_schwinger | 2007-11-05 09:23:57 -0800 (Mon, 05 Nov 2007) | 3 lines adds navigation icons ........ r40800 | t_schwinger | 2007-11-05 09:24:58 -0800 (Mon, 05 Nov 2007) | 3 lines integrates forgotten changes ........ r40801 | t_schwinger | 2007-11-05 09:25:26 -0800 (Mon, 05 Nov 2007) | 3 lines updates html ........ r40802 | hljin | 2007-11-05 10:33:19 -0800 (Mon, 05 Nov 2007) | 1 line GIL: added documentation links and maintainer info into libs/libraries.htm and libs/maintainers.txt ........ r40803 | igaztanaga | 2007-11-05 10:46:38 -0800 (Mon, 05 Nov 2007) | 1 line Marked sun5.9 and Borland 5.9 for Interprocess and Intrusive as unusable ........ r40804 | hljin | 2007-11-05 11:04:08 -0800 (Mon, 05 Nov 2007) | 1 line GIL: minor cumulative fixes ........ r40805 | t_schwinger | 2007-11-05 12:00:43 -0800 (Mon, 05 Nov 2007) | 3 lines adds redirect to documentation ........ r40806 | t_schwinger | 2007-11-05 12:01:33 -0800 (Mon, 05 Nov 2007) | 4 lines - adds FunctionTypes - adds myself to all occurences of the Fusion authors ........ r40807 | eric_niebler | 2007-11-05 12:28:51 -0800 (Mon, 05 Nov 2007) | 1 line doc tweaks ........ r40808 | dgregor | 2007-11-05 13:16:26 -0800 (Mon, 05 Nov 2007) | 1 line Add MPI library ........ r40809 | dgregor | 2007-11-05 13:20:23 -0800 (Mon, 05 Nov 2007) | 1 line Add copyright, 1.34.1 history ........ r40810 | nasonov | 2007-11-05 13:20:35 -0800 (Mon, 05 Nov 2007) | 1 line lexical_cast_loopback_test ........ r40811 | dgregor | 2007-11-05 13:22:29 -0800 (Mon, 05 Nov 2007) | 1 line Merge lots of copyrights ........ r40812 | dgregor | 2007-11-05 13:25:10 -0800 (Mon, 05 Nov 2007) | 1 line Removed ancient BGL-Python code ........ r40813 | dgregor | 2007-11-05 13:43:24 -0800 (Mon, 05 Nov 2007) | 1 line Merge in Boost.Graph changes from RC_1_34_0 branch ........ [SVN r40849]
This commit is contained in:
@ -3,295 +3,14 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Bidirectional Traversal Concept</title>
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="bidirectional-traversal-concept">
|
||||
<h1 class="title">Bidirectional Traversal Concept</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) -->
|
||||
@ -346,6 +65,12 @@ implies <tt class="docutils literal"><span class="pre">r</span> <span class="pre
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="BidirectionalTraversal.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,14 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Forward Traversal Concept</title>
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="forward-traversal-concept">
|
||||
<h1 class="title">Forward Traversal Concept</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) -->
|
||||
@ -337,6 +56,12 @@ the distance between iterators</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="ForwardTraversal.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,14 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Incrementable Iterator Concept</title>
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="incrementable-iterator-concept">
|
||||
<h1 class="title">Incrementable Iterator Concept</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) -->
|
||||
@ -336,6 +55,12 @@ stated semantics.</p>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="IncrementableIterator.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,14 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Lvalue Iterator Concept</title>
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="lvalue-iterator-concept">
|
||||
<h1 class="title">Lvalue Iterator Concept</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) -->
|
||||
@ -326,6 +45,12 @@ equivalent to <tt class="docutils literal"><span class="pre">*b</span></tt>.</td
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="LvalueIterator.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,14 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Random Access Traversal Concept</title>
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="random-access-traversal-concept">
|
||||
<h1 class="title">Random Access Traversal Concept</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) -->
|
||||
@ -404,6 +123,12 @@ ordering relation</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="RandomAccessTraversal.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,14 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Readable Iterator Concept</title>
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="readable-iterator-concept">
|
||||
<h1 class="title">Readable Iterator Concept</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) -->
|
||||
@ -334,6 +53,12 @@ non-cv-qualified type</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="ReadableIterator.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,14 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Single Pass Iterator Concept</title>
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="single-pass-iterator-concept">
|
||||
<h1 class="title">Single Pass Iterator Concept</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) -->
|
||||
@ -338,6 +57,12 @@ relation over its domain</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="SinglePassIterator.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,14 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Swappable Iterator Concept</title>
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="swappable-iterator-concept">
|
||||
<h1 class="title">Swappable Iterator Concept</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) -->
|
||||
@ -324,6 +43,12 @@ exchanged</td>
|
||||
<dt>[<em>Note:</em> An iterator that is a model of the <em>Readable</em> and <em>Writable Iterator</em> concepts</dt>
|
||||
<dd>is also a model of <em>Swappable Iterator</em>. <em>--end note</em>]</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="SwappableIterator.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,14 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Writable Iterator Concept</title>
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="writable-iterator-concept">
|
||||
<h1 class="title">Writable Iterator Concept</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) -->
|
||||
@ -322,6 +41,12 @@ value types of <tt class="docutils literal"><span class="pre">X</span></tt></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="WritableIterator.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,13 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Counting Iterator</title>
|
||||
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, University of Hanover Institute for Transport Railway Operation and Construction" />
|
||||
<meta name="date" content="2004-11-01" />
|
||||
<meta name="date" content="2006-09-11" />
|
||||
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003." />
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="counting-iterator">
|
||||
@ -303,13 +21,13 @@ ul.auto-toc {
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>David Abrahams, Jeremy Siek, Thomas Witt</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first reference" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference" href="mailto:witt@ive.uni-hannover.de">witt@ive.uni-hannover.de</a></td></tr>
|
||||
<td><a class="first reference external" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference external" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference external" href="mailto:witt@ive.uni-hannover.de">witt@ive.uni-hannover.de</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, University of Hanover <a class="last reference" href="http://www.ive.uni-hannover.de">Institute for Transport
|
||||
<td><a class="first reference external" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference external" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, University of Hanover <a class="last reference external" href="http://www.ive.uni-hannover.de">Institute for Transport
|
||||
Railway Operation and Construction</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2004-11-01</td></tr>
|
||||
<td>2006-09-11</td></tr>
|
||||
<tr><th class="docinfo-name">Copyright:</th>
|
||||
<td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003.</td></tr>
|
||||
</tbody>
|
||||
@ -339,18 +57,18 @@ are forwarded to the adapted object.</p>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="contents topic">
|
||||
<p class="topic-title first"><a id="table-of-contents" name="table-of-contents">Table of Contents</a></p>
|
||||
<div class="contents topic" id="table-of-contents">
|
||||
<p class="topic-title first">Table of Contents</p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="#counting-iterator-synopsis" id="id2" name="id2"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt> synopsis</a></li>
|
||||
<li><a class="reference" href="#counting-iterator-requirements" id="id3" name="id3"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt> requirements</a></li>
|
||||
<li><a class="reference" href="#counting-iterator-models" id="id4" name="id4"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt> models</a></li>
|
||||
<li><a class="reference" href="#counting-iterator-operations" id="id5" name="id5"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt> operations</a></li>
|
||||
<li><a class="reference" href="#example" id="id6" name="id6">Example</a></li>
|
||||
<li><a class="reference internal" href="#counting-iterator-synopsis" id="id2"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt> synopsis</a></li>
|
||||
<li><a class="reference internal" href="#counting-iterator-requirements" id="id3"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt> requirements</a></li>
|
||||
<li><a class="reference internal" href="#counting-iterator-models" id="id4"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt> models</a></li>
|
||||
<li><a class="reference internal" href="#counting-iterator-operations" id="id5"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt> operations</a></li>
|
||||
<li><a class="reference internal" href="#example" id="id6">Example</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id2" id="counting-iterator-synopsis" name="counting-iterator-synopsis"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt> synopsis</a></h1>
|
||||
<div class="section" id="counting-iterator-synopsis">
|
||||
<h1><a class="toc-backref" href="#id2"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt> synopsis</a></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) -->
|
||||
@ -389,10 +107,10 @@ algorithm:</p>
|
||||
if (CategoryOrTraversal is not use_default)
|
||||
return CategoryOrTraversal
|
||||
else if (numeric_limits<Incrementable>::is_specialized)
|
||||
return <a class="reference" href="iterator_facade.html#iterator-category"><em>iterator-category</em></a>(
|
||||
return <a class="reference external" href="iterator_facade.html#iterator-category"><em>iterator-category</em></a>(
|
||||
random_access_traversal_tag, Incrementable, const Incrementable&)
|
||||
else
|
||||
return <a class="reference" href="iterator_facade.html#iterator-category"><em>iterator-category</em></a>(
|
||||
return <a class="reference external" href="iterator_facade.html#iterator-category"><em>iterator-category</em></a>(
|
||||
iterator_traversal<Incrementable>::type,
|
||||
Incrementable, const Incrementable&)
|
||||
</pre>
|
||||
@ -403,8 +121,8 @@ the cases where <tt class="docutils literal"><span class="pre">std::numeric_limi
|
||||
is true.]</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id3" id="counting-iterator-requirements" name="counting-iterator-requirements"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt> requirements</a></h1>
|
||||
<div class="section" id="counting-iterator-requirements">
|
||||
<h1><a class="toc-backref" href="#id3"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt> requirements</a></h1>
|
||||
<p>The <tt class="docutils literal"><span class="pre">Incrementable</span></tt> argument shall be Copy Constructible and Assignable.</p>
|
||||
<p>If <tt class="docutils literal"><span class="pre">iterator_category</span></tt> is convertible to <tt class="docutils literal"><span class="pre">forward_iterator_tag</span></tt>
|
||||
or <tt class="docutils literal"><span class="pre">forward_traversal_tag</span></tt>, the following must be well-formed:</p>
|
||||
@ -429,8 +147,8 @@ n = i - j;
|
||||
i < j;
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id4" id="counting-iterator-models" name="counting-iterator-models"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt> models</a></h1>
|
||||
<div class="section" id="counting-iterator-models">
|
||||
<h1><a class="toc-backref" href="#id4"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt> models</a></h1>
|
||||
<p>Specializations of <tt class="docutils literal"><span class="pre">counting_iterator</span></tt> model Readable Lvalue
|
||||
Iterator. In addition, they model the concepts corresponding to the
|
||||
iterator tags to which their <tt class="docutils literal"><span class="pre">iterator_category</span></tt> is convertible.
|
||||
@ -445,8 +163,8 @@ concepts modeled by <tt class="docutils literal"><span class="pre">Incrementable
|
||||
<tt class="docutils literal"><span class="pre">counting_iterator<Y,C2,D2></span></tt> if and only if <tt class="docutils literal"><span class="pre">X</span></tt> is
|
||||
interoperable with <tt class="docutils literal"><span class="pre">Y</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id5" id="counting-iterator-operations" name="counting-iterator-operations"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt> operations</a></h1>
|
||||
<div class="section" id="counting-iterator-operations">
|
||||
<h1><a class="toc-backref" href="#id5"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt> operations</a></h1>
|
||||
<p>In addition to the operations required by the concepts modeled by
|
||||
<tt class="docutils literal"><span class="pre">counting_iterator</span></tt>, <tt class="docutils literal"><span class="pre">counting_iterator</span></tt> provides the following
|
||||
operations.</p>
|
||||
@ -539,8 +257,8 @@ with <tt class="docutils literal"><span class="pre">current</span></tt> construc
|
||||
<!-- 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="#id6" id="example" name="example">Example</a></h1>
|
||||
<div class="section" id="example">
|
||||
<h1><a class="toc-backref" href="#id6">Example</a></h1>
|
||||
<p>This example fills an array with numbers and a second array with
|
||||
pointers into the first array, using <tt class="docutils literal"><span class="pre">counting_iterator</span></tt> for both
|
||||
tasks. Finally <tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> is used to print out the numbers
|
||||
@ -570,8 +288,14 @@ std::cout << std::endl;
|
||||
indirectly printing out the numbers from 0 to 7
|
||||
0 1 2 3 4 5 6
|
||||
</pre>
|
||||
<p>The source code for this example can be found <a class="reference" href="../example/counting_iterator_example.cpp">here</a>.</p>
|
||||
<p>The source code for this example can be found <a class="reference external" href="../example/counting_iterator_example.cpp">here</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="counting_iterator.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3,295 +3,13 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Filter Iterator</title>
|
||||
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, University of Hanover Institute for Transport Railway Operation and Construction" />
|
||||
<meta name="date" content="2004-11-01" />
|
||||
<meta name="date" content="2006-09-11" />
|
||||
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003." />
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="filter-iterator">
|
||||
@ -303,13 +21,13 @@ ul.auto-toc {
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>David Abrahams, Jeremy Siek, Thomas Witt</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first reference" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference" href="mailto:witt@ive.uni-hannover.de">witt@ive.uni-hannover.de</a></td></tr>
|
||||
<td><a class="first reference external" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference external" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference external" href="mailto:witt@ive.uni-hannover.de">witt@ive.uni-hannover.de</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, University of Hanover <a class="last reference" href="http://www.ive.uni-hannover.de">Institute for Transport
|
||||
<td><a class="first reference external" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference external" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, University of Hanover <a class="last reference external" href="http://www.ive.uni-hannover.de">Institute for Transport
|
||||
Railway Operation and Construction</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2004-11-01</td></tr>
|
||||
<td>2006-09-11</td></tr>
|
||||
<tr><th class="docinfo-name">Copyright:</th>
|
||||
<td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003.</td></tr>
|
||||
</tbody>
|
||||
@ -337,18 +55,18 @@ sequence to be traversed.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="contents topic">
|
||||
<p class="topic-title first"><a id="table-of-contents" name="table-of-contents">Table of Contents</a></p>
|
||||
<div class="contents topic" id="table-of-contents">
|
||||
<p class="topic-title first">Table of Contents</p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="#filter-iterator-synopsis" id="id2" name="id2"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt> synopsis</a></li>
|
||||
<li><a class="reference" href="#filter-iterator-requirements" id="id3" name="id3"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt> requirements</a></li>
|
||||
<li><a class="reference" href="#filter-iterator-models" id="id4" name="id4"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt> models</a></li>
|
||||
<li><a class="reference" href="#filter-iterator-operations" id="id5" name="id5"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt> operations</a></li>
|
||||
<li><a class="reference" href="#example" id="id6" name="id6">Example</a></li>
|
||||
<li><a class="reference internal" href="#filter-iterator-synopsis" id="id2"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt> synopsis</a></li>
|
||||
<li><a class="reference internal" href="#filter-iterator-requirements" id="id3"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt> requirements</a></li>
|
||||
<li><a class="reference internal" href="#filter-iterator-models" id="id4"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt> models</a></li>
|
||||
<li><a class="reference internal" href="#filter-iterator-operations" id="id5"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt> operations</a></li>
|
||||
<li><a class="reference internal" href="#example" id="id6">Example</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id2" id="filter-iterator-synopsis" name="filter-iterator-synopsis"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt> synopsis</a></h1>
|
||||
<div class="section" id="filter-iterator-synopsis">
|
||||
<h1><a class="toc-backref" href="#id2"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt> synopsis</a></h1>
|
||||
<!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt -->
|
||||
<!-- 2004. Use, modification and distribution is subject to the Boost -->
|
||||
<!-- Software License, Version 1.0. (See accompanying file -->
|
||||
@ -392,8 +110,8 @@ Iterator then <tt class="docutils literal"><span class="pre">iterator_category</
|
||||
Otherwise <tt class="docutils literal"><span class="pre">iterator_category</span></tt> is
|
||||
convertible to <tt class="docutils literal"><span class="pre">std::input_iterator_tag</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id3" id="filter-iterator-requirements" name="filter-iterator-requirements"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt> requirements</a></h1>
|
||||
<div class="section" id="filter-iterator-requirements">
|
||||
<h1><a class="toc-backref" href="#id3"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt> requirements</a></h1>
|
||||
<p>The <tt class="docutils literal"><span class="pre">Iterator</span></tt> argument shall meet the requirements of Readable
|
||||
Iterator and Single Pass Iterator or it shall meet the requirements of
|
||||
Input Iterator.</p>
|
||||
@ -403,8 +121,8 @@ the expression <tt class="docutils literal"><span class="pre">p(x)</span></tt> m
|
||||
<tt class="docutils literal"><span class="pre">iterator_traits<Iterator>::value_type</span></tt>, and where the type of
|
||||
<tt class="docutils literal"><span class="pre">p(x)</span></tt> must be convertible to <tt class="docutils literal"><span class="pre">bool</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id4" id="filter-iterator-models" name="filter-iterator-models"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt> models</a></h1>
|
||||
<div class="section" id="filter-iterator-models">
|
||||
<h1><a class="toc-backref" href="#id4"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt> models</a></h1>
|
||||
<p>The concepts that <tt class="docutils literal"><span class="pre">filter_iterator</span></tt> models are dependent on which
|
||||
concepts the <tt class="docutils literal"><span class="pre">Iterator</span></tt> argument models, as specified in the
|
||||
following tables.</p>
|
||||
@ -480,8 +198,8 @@ following tables.</p>
|
||||
<p><tt class="docutils literal"><span class="pre">filter_iterator<P1,</span> <span class="pre">X></span></tt> is interoperable with <tt class="docutils literal"><span class="pre">filter_iterator<P2,</span> <span class="pre">Y></span></tt>
|
||||
if and only if <tt class="docutils literal"><span class="pre">X</span></tt> is interoperable with <tt class="docutils literal"><span class="pre">Y</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id5" id="filter-iterator-operations" name="filter-iterator-operations"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt> operations</a></h1>
|
||||
<div class="section" id="filter-iterator-operations">
|
||||
<h1><a class="toc-backref" href="#id5"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt> operations</a></h1>
|
||||
<p>In addition to those operations required by the concepts that
|
||||
<tt class="docutils literal"><span class="pre">filter_iterator</span></tt> models, <tt class="docutils literal"><span class="pre">filter_iterator</span></tt> provides the following
|
||||
operations.</p>
|
||||
@ -622,8 +340,8 @@ make_filter_iterator(Iterator x, Iterator end = Iterator());
|
||||
<!-- 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="#id6" id="example" name="example">Example</a></h1>
|
||||
<div class="section" id="example">
|
||||
<h1><a class="toc-backref" href="#id6">Example</a></h1>
|
||||
<p>This example uses <tt class="docutils literal"><span class="pre">filter_iterator</span></tt> and then
|
||||
<tt class="docutils literal"><span class="pre">make_filter_iterator</span></tt> to output only the positive integers from an
|
||||
array of integers. Then <tt class="docutils literal"><span class="pre">make_filter_iterator</span></tt> is is used to output
|
||||
@ -682,8 +400,14 @@ int main()
|
||||
4 5 8
|
||||
0 -1 4 5 8
|
||||
</pre>
|
||||
<p>The source code for this example can be found <a class="reference" href="../example/filter_iterator_example.cpp">here</a>.</p>
|
||||
<p>The source code for this example can be found <a class="reference external" href="../example/filter_iterator_example.cpp">here</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="filter_iterator.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,13 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Function Output Iterator</title>
|
||||
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, University of Hanover Institute for Transport Railway Operation and Construction" />
|
||||
<meta name="date" content="2004-11-01" />
|
||||
<meta name="date" content="2006-09-11" />
|
||||
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003." />
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="function-output-iterator">
|
||||
@ -303,13 +21,13 @@ ul.auto-toc {
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>David Abrahams, Jeremy Siek, Thomas Witt</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first reference" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference" href="mailto:witt@ive.uni-hannover.de">witt@ive.uni-hannover.de</a></td></tr>
|
||||
<td><a class="first reference external" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference external" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference external" href="mailto:witt@ive.uni-hannover.de">witt@ive.uni-hannover.de</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, University of Hanover <a class="last reference" href="http://www.ive.uni-hannover.de">Institute for Transport
|
||||
<td><a class="first reference external" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference external" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, University of Hanover <a class="last reference external" href="http://www.ive.uni-hannover.de">Institute for Transport
|
||||
Railway Operation and Construction</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2004-11-01</td></tr>
|
||||
<td>2006-09-11</td></tr>
|
||||
<tr><th class="docinfo-name">Copyright:</th>
|
||||
<td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003.</td></tr>
|
||||
</tbody>
|
||||
@ -334,21 +52,21 @@ proxy object.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="contents topic">
|
||||
<p class="topic-title first"><a id="table-of-contents" name="table-of-contents">Table of Contents</a></p>
|
||||
<div class="contents topic" id="table-of-contents">
|
||||
<p class="topic-title first">Table of Contents</p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="#header" id="id1" name="id1">Header</a></li>
|
||||
<li><a class="reference" href="#function-output-iterator-requirements" id="id2" name="id2"><tt class="docutils literal"><span class="pre">function_output_iterator</span></tt> requirements</a></li>
|
||||
<li><a class="reference" href="#function-output-iterator-models" id="id3" name="id3"><tt class="docutils literal"><span class="pre">function_output_iterator</span></tt> models</a></li>
|
||||
<li><a class="reference" href="#function-output-iterator-operations" id="id4" name="id4"><tt class="docutils literal"><span class="pre">function_output_iterator</span></tt> operations</a></li>
|
||||
<li><a class="reference" href="#example" id="id5" name="id5">Example</a></li>
|
||||
<li><a class="reference internal" href="#header" id="id1">Header</a></li>
|
||||
<li><a class="reference internal" href="#function-output-iterator-requirements" id="id2"><tt class="docutils literal"><span class="pre">function_output_iterator</span></tt> requirements</a></li>
|
||||
<li><a class="reference internal" href="#function-output-iterator-models" id="id3"><tt class="docutils literal"><span class="pre">function_output_iterator</span></tt> models</a></li>
|
||||
<li><a class="reference internal" href="#function-output-iterator-operations" id="id4"><tt class="docutils literal"><span class="pre">function_output_iterator</span></tt> operations</a></li>
|
||||
<li><a class="reference internal" href="#example" id="id5">Example</a></li>
|
||||
</ul>
|
||||
</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 class="section">
|
||||
<h1><a class="toc-backref" href="#id1" id="header" name="header">Header</a></h1>
|
||||
<div class="section" id="header">
|
||||
<h1><a class="toc-backref" href="#id1">Header</a></h1>
|
||||
<pre class="literal-block">
|
||||
#include <boost/function_output_iterator.hpp>
|
||||
</pre>
|
||||
@ -374,17 +92,17 @@ private:
|
||||
};
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id2" id="function-output-iterator-requirements" name="function-output-iterator-requirements"><tt class="docutils literal"><span class="pre">function_output_iterator</span></tt> requirements</a></h1>
|
||||
<div class="section" id="function-output-iterator-requirements">
|
||||
<h1><a class="toc-backref" href="#id2"><tt class="docutils literal"><span class="pre">function_output_iterator</span></tt> requirements</a></h1>
|
||||
<p><tt class="docutils literal"><span class="pre">UnaryFunction</span></tt> must be Assignable and Copy Constructible.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id3" id="function-output-iterator-models" name="function-output-iterator-models"><tt class="docutils literal"><span class="pre">function_output_iterator</span></tt> models</a></h1>
|
||||
<div class="section" id="function-output-iterator-models">
|
||||
<h1><a class="toc-backref" href="#id3"><tt class="docutils literal"><span class="pre">function_output_iterator</span></tt> models</a></h1>
|
||||
<p><tt class="docutils literal"><span class="pre">function_output_iterator</span></tt> is a model of the Writable and
|
||||
Incrementable Iterator concepts.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id4" id="function-output-iterator-operations" name="function-output-iterator-operations"><tt class="docutils literal"><span class="pre">function_output_iterator</span></tt> operations</a></h1>
|
||||
<div class="section" id="function-output-iterator-operations">
|
||||
<h1><a class="toc-backref" href="#id4"><tt class="docutils literal"><span class="pre">function_output_iterator</span></tt> operations</a></h1>
|
||||
<p><tt class="docutils literal"><span class="pre">explicit</span> <span class="pre">function_output_iterator(const</span> <span class="pre">UnaryFunction&</span> <span class="pre">f</span> <span class="pre">=</span> <span class="pre">UnaryFunction());</span></tt></p>
|
||||
<table class="docutils field-list" frame="void" rules="none">
|
||||
<col class="field-name" />
|
||||
@ -427,8 +145,8 @@ is equivalent to <tt class="docutils literal"><span class="pre">m_f(t)</span></t
|
||||
<!-- 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="#id5" id="example" name="example">Example</a></h1>
|
||||
<div class="section" id="example">
|
||||
<h1><a class="toc-backref" href="#id5">Example</a></h1>
|
||||
<pre class="literal-block">
|
||||
struct string_appender
|
||||
{
|
||||
@ -462,6 +180,12 @@ int main(int, char*[])
|
||||
}
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="function_output_iterator.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
408
doc/index.html
408
doc/index.html
@ -3,295 +3,17 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>The Boost.Iterator Library Boost</title>
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="the-boost-iterator-library-logo">
|
||||
<h1 class="title">The Boost.Iterator Library <a class="reference" href="../../../index.htm"><img alt="Boost" src="../../../boost.png" /></a></h1>
|
||||
<h1 class="title">The Boost.Iterator Library <a class="reference external" href="../../../index.htm"><img alt="Boost" src="../../../boost.png" /></a></h1>
|
||||
|
||||
<!-- Distributed under the Boost -->
|
||||
<!-- Software License, Version 1.0. (See accompanying -->
|
||||
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
<!-- Distributed under the Boost -->
|
||||
<!-- Software License, Version 1.0. (See accompanying -->
|
||||
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
@ -302,10 +24,10 @@ ul.auto-toc {
|
||||
<tbody valign="top">
|
||||
<tr class="field"><th class="field-name">Authors:</th><td class="field-body">David Abrahams, Jeremy Siek, Thomas Witt</td>
|
||||
</tr>
|
||||
<tr class="field"><th class="field-name">Contact:</th><td class="field-body"><a class="reference" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="reference" href="mailto:witt@styleadvisor.com">witt@styleadvisor.com</a></td>
|
||||
<tr class="field"><th class="field-name">Contact:</th><td class="field-body"><a class="reference external" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference external" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="reference external" href="mailto:witt@styleadvisor.com">witt@styleadvisor.com</a></td>
|
||||
</tr>
|
||||
<tr class="field"><th class="field-name">organizations:</th><td class="field-body"><a class="reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, <a class="reference" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td>
|
||||
<tr class="field"><th class="field-name">organizations:</th><td class="field-body"><a class="reference external" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference external" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, <a class="reference external" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td>
|
||||
</tr>
|
||||
<tr class="field"><th class="field-name">date:</th><td class="field-body">$Date$</td>
|
||||
</tr>
|
||||
@ -318,7 +40,7 @@ Lab</a>, <a class="reference" href="http://www.styleadvisor.com">Zephyr Associat
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field"><th class="field-name">Abstract:</th><td class="field-body">The Boost Iterator Library contains two parts. The first
|
||||
is a system of <a class="reference" href="../../../more/generic_programming.html#concept">concepts</a> which extend the C++ standard
|
||||
is a system of <a class="reference external" href="../../../more/generic_programming.html#concept">concepts</a> which extend the C++ standard
|
||||
iterator requirements. The second is a framework of
|
||||
components for building iterators based on these
|
||||
extended concepts and includes several useful iterator
|
||||
@ -335,24 +57,24 @@ older Boost Iterator Adaptor Library.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="contents topic">
|
||||
<p class="topic-title first"><a id="table-of-contents" name="table-of-contents"><strong>Table of Contents</strong></a></p>
|
||||
<div class="contents topic" id="table-of-contents">
|
||||
<p class="topic-title first"><strong>Table of Contents</strong></p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="#new-style-iterators" id="id22" name="id22">New-Style Iterators</a></li>
|
||||
<li><a class="reference" href="#iterator-facade-and-adaptor" id="id23" name="id23">Iterator Facade and Adaptor</a></li>
|
||||
<li><a class="reference" href="#specialized-adaptors" id="id24" name="id24">Specialized Adaptors</a></li>
|
||||
<li><a class="reference" href="#iterator-utilities" id="id25" name="id25">Iterator Utilities</a><ul>
|
||||
<li><a class="reference" href="#traits" id="id26" name="id26">Traits</a></li>
|
||||
<li><a class="reference" href="#testing-and-concept-checking" id="id27" name="id27">Testing and Concept Checking</a></li>
|
||||
<li><a class="reference internal" href="#new-style-iterators" id="id22">New-Style Iterators</a></li>
|
||||
<li><a class="reference internal" href="#iterator-facade-and-adaptor" id="id23">Iterator Facade and Adaptor</a></li>
|
||||
<li><a class="reference internal" href="#specialized-adaptors" id="id24">Specialized Adaptors</a></li>
|
||||
<li><a class="reference internal" href="#iterator-utilities" id="id25">Iterator Utilities</a><ul>
|
||||
<li><a class="reference internal" href="#traits" id="id26">Traits</a></li>
|
||||
<li><a class="reference internal" href="#testing-and-concept-checking" id="id27">Testing and Concept Checking</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#upgrading-from-the-old-boost-iterator-adaptor-library" id="id28" name="id28">Upgrading from the old Boost Iterator Adaptor Library</a></li>
|
||||
<li><a class="reference" href="#history" id="id29" name="id29">History</a></li>
|
||||
<li><a class="reference internal" href="#upgrading-from-the-old-boost-iterator-adaptor-library" id="id28">Upgrading from the old Boost Iterator Adaptor Library</a></li>
|
||||
<li><a class="reference internal" href="#history" id="id29">History</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr class="docutils" />
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id22" id="new-style-iterators" name="new-style-iterators">New-Style Iterators</a></h1>
|
||||
<div class="section" id="new-style-iterators">
|
||||
<h1><a class="toc-backref" href="#id22">New-Style Iterators</a></h1>
|
||||
<p>The iterator categories defined in C++98 are extremely limiting
|
||||
because they bind together two orthogonal concepts: traversal and
|
||||
element access. For example, because a random access iterator is
|
||||
@ -361,17 +83,17 @@ it is impossible to capture the capabilities of
|
||||
<tt class="docutils literal"><span class="pre">vector<bool>::iterator</span></tt> using the C++98 categories. This is the
|
||||
infamous "<tt class="docutils literal"><span class="pre">vector<bool></span></tt> is not a container, and its iterators
|
||||
aren't random access iterators", debacle about which Herb Sutter
|
||||
wrote two papers for the standards comittee (<a class="reference" href="http://www.gotw.ca/publications/N1185.pdf">n1185</a> and <a class="reference" href="http://www.gotw.ca/publications/N1211.pdf">n1211</a>),
|
||||
and a <a class="reference" href="http://www.gotw.ca/gotw/050.htm">Guru of the Week</a>. New-style iterators go well beyond
|
||||
wrote two papers for the standards comittee (<a class="reference external" href="http://www.gotw.ca/publications/N1185.pdf">n1185</a> and <a class="reference external" href="http://www.gotw.ca/publications/N1211.pdf">n1211</a>),
|
||||
and a <a class="reference external" href="http://www.gotw.ca/gotw/050.htm">Guru of the Week</a>. New-style iterators go well beyond
|
||||
patching up <tt class="docutils literal"><span class="pre">vector<bool></span></tt>, though: there are lots of other
|
||||
iterators already in use which can't be adequately represented by
|
||||
the existing concepts. For details about the new iterator
|
||||
concepts, see our</p>
|
||||
<blockquote>
|
||||
<a class="reference" href="new-iter-concepts.html">Standard Proposal For New-Style Iterators</a> (<a class="reference" href="new-iter-concepts.pdf">PDF</a>)</blockquote>
|
||||
<a class="reference external" href="new-iter-concepts.html">Standard Proposal For New-Style Iterators</a> (<a class="reference external" href="new-iter-concepts.pdf">PDF</a>)</blockquote>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id23" id="iterator-facade-and-adaptor" name="iterator-facade-and-adaptor">Iterator Facade and Adaptor</a></h1>
|
||||
<div class="section" id="iterator-facade-and-adaptor">
|
||||
<h1><a class="toc-backref" href="#id23">Iterator Facade and Adaptor</a></h1>
|
||||
<p>Writing standard-conforming iterators is tricky, but the need comes
|
||||
up often. In order to ease the implementation of new iterators,
|
||||
the Boost.Iterator library provides the <tt class="docutils literal"><span class="pre">iterator_facade</span></tt> class template,
|
||||
@ -387,54 +109,54 @@ behavior as possible.</p>
|
||||
<p>The documentation for these two classes can be found at the following
|
||||
web pages:</p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="iterator_facade.html"><tt class="docutils literal"><span class="pre">iterator_facade</span></tt></a> (<a class="reference" href="iterator_facade.pdf">PDF</a>)</li>
|
||||
<li><a class="reference" href="iterator_adaptor.html"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt></a> (<a class="reference" href="iterator_adaptor.pdf">PDF</a>)</li>
|
||||
<li><a class="reference external" href="iterator_facade.html"><tt class="docutils literal"><span class="pre">iterator_facade</span></tt></a> (<a class="reference external" href="iterator_facade.pdf">PDF</a>)</li>
|
||||
<li><a class="reference external" href="iterator_adaptor.html"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt></a> (<a class="reference external" href="iterator_adaptor.pdf">PDF</a>)</li>
|
||||
</ul>
|
||||
<p>Both <tt class="docutils literal"><span class="pre">iterator_facade</span></tt> and <tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> as well as many of the <a class="reference" href="#specialized-adaptors">specialized
|
||||
<p>Both <tt class="docutils literal"><span class="pre">iterator_facade</span></tt> and <tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> as well as many of the <a class="reference internal" href="#specialized-adaptors">specialized
|
||||
adaptors</a> mentioned below have been proposed for standardization,
|
||||
and accepted into the first C++ technical report; see our</p>
|
||||
<blockquote>
|
||||
<a class="reference" href="facade-and-adaptor.html">Standard Proposal For Iterator Facade and Adaptor</a> (<a class="reference" href="facade-and-adaptor.pdf">PDF</a>)</blockquote>
|
||||
<a class="reference external" href="facade-and-adaptor.html">Standard Proposal For Iterator Facade and Adaptor</a> (<a class="reference external" href="facade-and-adaptor.pdf">PDF</a>)</blockquote>
|
||||
<p>for more details.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id24" id="specialized-adaptors" name="specialized-adaptors">Specialized Adaptors</a></h1>
|
||||
<div class="section" id="specialized-adaptors">
|
||||
<h1><a class="toc-backref" href="#id24">Specialized Adaptors</a></h1>
|
||||
<p>The iterator library supplies a useful suite of standard-conforming
|
||||
iterator templates based on the Boost <a class="reference" href="#iterator-facade-and-adaptor">iterator facade and adaptor</a>.</p>
|
||||
iterator templates based on the Boost <a class="reference internal" href="#iterator-facade-and-adaptor">iterator facade and adaptor</a>.</p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="counting_iterator.html"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt></a> (<a class="reference" href="counting_iterator.pdf">PDF</a>): an iterator over a sequence of consecutive values.
|
||||
<li><a class="reference external" href="counting_iterator.html"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt></a> (<a class="reference external" href="counting_iterator.pdf">PDF</a>): an iterator over a sequence of consecutive values.
|
||||
Implements a "lazy sequence"</li>
|
||||
<li><a class="reference" href="filter_iterator.html"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt></a> (<a class="reference" href="filter_iterator.pdf">PDF</a>): an iterator over the subset of elements of some
|
||||
<li><a class="reference external" href="filter_iterator.html"><tt class="docutils literal"><span class="pre">filter_iterator</span></tt></a> (<a class="reference external" href="filter_iterator.pdf">PDF</a>): an iterator over the subset of elements of some
|
||||
sequence which satisfy a given predicate</li>
|
||||
<li><a class="reference" href="function_output_iterator.html"><tt class="docutils literal"><span class="pre">function_output_iterator</span></tt></a> (<a class="reference" href="function_output_iterator.pdf">PDF</a>): an output iterator wrapping a unary function
|
||||
<li><a class="reference external" href="function_output_iterator.html"><tt class="docutils literal"><span class="pre">function_output_iterator</span></tt></a> (<a class="reference external" href="function_output_iterator.pdf">PDF</a>): an output iterator wrapping a unary function
|
||||
object; each time an element is written into the dereferenced
|
||||
iterator, it is passed as a parameter to the function object.</li>
|
||||
<li><a class="reference" href="indirect_iterator.html"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt></a> (<a class="reference" href="indirect_iterator.pdf">PDF</a>): an iterator over the objects <em>pointed-to</em> by the
|
||||
<li><a class="reference external" href="indirect_iterator.html"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt></a> (<a class="reference external" href="indirect_iterator.pdf">PDF</a>): an iterator over the objects <em>pointed-to</em> by the
|
||||
elements of some sequence.</li>
|
||||
<li><a class="reference" href="permutation_iterator.html"><tt class="docutils literal"><span class="pre">permutation_iterator</span></tt></a> (<a class="reference" href="permutation_iterator.pdf">PDF</a>): an iterator over the elements of some random-access
|
||||
<li><a class="reference external" href="permutation_iterator.html"><tt class="docutils literal"><span class="pre">permutation_iterator</span></tt></a> (<a class="reference external" href="permutation_iterator.pdf">PDF</a>): an iterator over the elements of some random-access
|
||||
sequence, rearranged according to some sequence of integer indices.</li>
|
||||
<li><a class="reference" href="reverse_iterator.html"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt></a> (<a class="reference" href="reverse_iterator.pdf">PDF</a>): an iterator which traverses the elements of some
|
||||
<li><a class="reference external" href="reverse_iterator.html"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt></a> (<a class="reference external" href="reverse_iterator.pdf">PDF</a>): an iterator which traverses the elements of some
|
||||
bidirectional sequence in reverse. Corrects many of the
|
||||
shortcomings of C++98's <tt class="docutils literal"><span class="pre">std::reverse_iterator</span></tt>.</li>
|
||||
<li><a class="reference" href="../../utility/shared_container_iterator.html"><tt class="docutils literal"><span class="pre">shared_container_iterator</span></tt></a>: an iterator over elements of a container whose
|
||||
lifetime is maintained by a <a class="reference" href="../../smart_ptr/shared_ptr.htm"><tt class="docutils literal"><span class="pre">shared_ptr</span></tt></a> stored in the iterator.</li>
|
||||
<li><a class="reference" href="transform_iterator.html"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt></a> (<a class="reference" href="transform_iterator.pdf">PDF</a>): an iterator over elements which are the result of
|
||||
<li><a class="reference external" href="../../utility/shared_container_iterator.html"><tt class="docutils literal"><span class="pre">shared_container_iterator</span></tt></a>: an iterator over elements of a container whose
|
||||
lifetime is maintained by a <a class="reference external" href="../../smart_ptr/shared_ptr.htm"><tt class="docutils literal"><span class="pre">shared_ptr</span></tt></a> stored in the iterator.</li>
|
||||
<li><a class="reference external" href="transform_iterator.html"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt></a> (<a class="reference external" href="transform_iterator.pdf">PDF</a>): an iterator over elements which are the result of
|
||||
applying some functional transformation to the elements of an
|
||||
underlying sequence. This component also replaces the old
|
||||
<tt class="docutils literal"><span class="pre">projection_iterator_adaptor</span></tt>.</li>
|
||||
<li><a class="reference" href="zip_iterator.html"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt></a> (<a class="reference" href="zip_iterator.pdf">PDF</a>): an iterator over tuples of the elements at corresponding
|
||||
<li><a class="reference external" href="zip_iterator.html"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt></a> (<a class="reference external" href="zip_iterator.pdf">PDF</a>): an iterator over tuples of the elements at corresponding
|
||||
positions of heterogeneous underlying iterators.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id25" id="iterator-utilities" name="iterator-utilities">Iterator Utilities</a></h1>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id26" id="traits" name="traits">Traits</a></h2>
|
||||
<div class="section" id="iterator-utilities">
|
||||
<h1><a class="toc-backref" href="#id25">Iterator Utilities</a></h1>
|
||||
<div class="section" id="traits">
|
||||
<h2><a class="toc-backref" href="#id26">Traits</a></h2>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="pointee.html"><tt class="docutils literal"><span class="pre">pointee.hpp</span></tt></a> (<a class="reference" href="pointee.pdf">PDF</a>): Provides the capability to deduce the referent types
|
||||
<li><a class="reference external" href="pointee.html"><tt class="docutils literal"><span class="pre">pointee.hpp</span></tt></a> (<a class="reference external" href="pointee.pdf">PDF</a>): Provides the capability to deduce the referent types
|
||||
of pointers, smart pointers and iterators in generic code. Used
|
||||
in <tt class="docutils literal"><span class="pre">indirect_iterator</span></tt>.</li>
|
||||
<li><a class="reference" href="iterator_traits.html"><tt class="docutils literal"><span class="pre">iterator_traits.hpp</span></tt></a> (<a class="reference" href="iterator_traits.pdf">PDF</a>): Provides <a class="reference" href="../../mpl/doc/index.html">MPL</a>-compatible metafunctions which
|
||||
<li><a class="reference external" href="iterator_traits.html"><tt class="docutils literal"><span class="pre">iterator_traits.hpp</span></tt></a> (<a class="reference external" href="iterator_traits.pdf">PDF</a>): Provides <a class="reference external" href="../../mpl/doc/index.html">MPL</a>-compatible metafunctions which
|
||||
retrieve an iterator's traits. Also corrects for the deficiencies
|
||||
of broken implementations of <tt class="docutils literal"><span class="pre">std::iterator_traits</span></tt>.</li>
|
||||
</ul>
|
||||
@ -442,26 +164,26 @@ of broken implementations of <tt class="docutils literal"><span class="pre">std:
|
||||
testing iterator interoperability -->
|
||||
<!-- comment! __ interoperable.pdf -->
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id27" id="testing-and-concept-checking" name="testing-and-concept-checking">Testing and Concept Checking</a></h2>
|
||||
<div class="section" id="testing-and-concept-checking">
|
||||
<h2><a class="toc-backref" href="#id27">Testing and Concept Checking</a></h2>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="iterator_concepts.html"><tt class="docutils literal"><span class="pre">iterator_concepts.hpp</span></tt></a> (<a class="reference" href="iterator_concepts.pdf">PDF</a>): Concept checking classes for the new iterator concepts.</li>
|
||||
<li><a class="reference" href="iterator_archetypes.html"><tt class="docutils literal"><span class="pre">iterator_archetypes.hpp</span></tt></a> (<a class="reference" href="iterator_archetypes.pdf">PDF</a>): Concept archetype classes for the new iterators concepts.</li>
|
||||
<li><a class="reference external" href="iterator_concepts.html"><tt class="docutils literal"><span class="pre">iterator_concepts.hpp</span></tt></a> (<a class="reference external" href="iterator_concepts.pdf">PDF</a>): Concept checking classes for the new iterator concepts.</li>
|
||||
<li><a class="reference external" href="iterator_archetypes.html"><tt class="docutils literal"><span class="pre">iterator_archetypes.hpp</span></tt></a> (<a class="reference external" href="iterator_archetypes.pdf">PDF</a>): Concept archetype classes for the new iterators concepts.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id28" id="upgrading-from-the-old-boost-iterator-adaptor-library" name="upgrading-from-the-old-boost-iterator-adaptor-library">Upgrading from the old Boost Iterator Adaptor Library</a></h1>
|
||||
<div class="section" id="upgrading-from-the-old-boost-iterator-adaptor-library">
|
||||
<h1><a class="toc-backref" href="#id28">Upgrading from the old Boost Iterator Adaptor Library</a></h1>
|
||||
<p id="upgrading">If you have been using the old Boost Iterator Adaptor library to
|
||||
implement iterators, you probably wrote a <tt class="docutils literal"><span class="pre">Policies</span></tt> class which
|
||||
captures the core operations of your iterator. In the new library
|
||||
design, you'll move those same core operations into the body of the
|
||||
iterator class itself. If you were writing a family of iterators,
|
||||
you probably wrote a <a class="reference" href="../../../more/generic_programming.html#type_generator">type generator</a> to build the
|
||||
you probably wrote a <a class="reference external" href="../../../more/generic_programming.html#type_generator">type generator</a> to build the
|
||||
<tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> specialization you needed; in the new library
|
||||
design you don't need a type generator (though may want to keep it
|
||||
around as a compatibility aid for older code) because, due to the
|
||||
use of the Curiously Recurring Template Pattern (CRTP) <a class="citation-reference" href="#cop95" id="id21" name="id21">[Cop95]</a>,
|
||||
use of the Curiously Recurring Template Pattern (CRTP) <a class="citation-reference" href="#cop95" id="id21">[Cop95]</a>,
|
||||
you can now define the iterator class yourself and acquire
|
||||
functionality through inheritance from <tt class="docutils literal"><span class="pre">iterator_facade</span></tt> or
|
||||
<tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt>. As a result, you also get much finer control
|
||||
@ -475,8 +197,8 @@ template argument, if explicitly specified) is a true reference
|
||||
type, <tt class="docutils literal"><span class="pre">transform_iterator</span></tt> will behave like
|
||||
<tt class="docutils literal"><span class="pre">projection_iterator</span></tt> used to.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id29" id="history" name="history">History</a></h1>
|
||||
<div class="section" id="history">
|
||||
<h1><a class="toc-backref" href="#id29">History</a></h1>
|
||||
<p>In 2000 Dave Abrahams was writing an iterator for a container of
|
||||
pointers, which would access the pointed-to elements when
|
||||
dereferenced. Naturally, being a library writer, he decided to
|
||||
@ -504,7 +226,7 @@ library you see today.</p>
|
||||
<table class="docutils citation" frame="void" id="cop95" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id21" name="cop95">[Cop95]</a></td><td>[Coplien, 1995] Coplien, J., Curiously Recurring Template
|
||||
<tr><td class="label"><a class="fn-backref" href="#id21">[Cop95]</a></td><td>[Coplien, 1995] Coplien, J., Curiously Recurring Template
|
||||
Patterns, C++ Report, February 1995, pp. 24-27.</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -516,6 +238,12 @@ LocalWords: RandomAccessTraversalIterator dereferenceable Incrementable tmp
|
||||
LocalWords: incrementable xxx min prev inplace png oldeqnew AccessTag struct
|
||||
LocalWords: TraversalTag typename lvalues DWA Hmm JGS -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="index.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,13 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Indirect Iterator</title>
|
||||
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, University of Hanover Institute for Transport Railway Operation and Construction" />
|
||||
<meta name="date" content="2004-11-01" />
|
||||
<meta name="date" content="2006-09-11" />
|
||||
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003." />
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="indirect-iterator">
|
||||
@ -303,13 +21,13 @@ ul.auto-toc {
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>David Abrahams, Jeremy Siek, Thomas Witt</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first reference" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference" href="mailto:witt@ive.uni-hannover.de">witt@ive.uni-hannover.de</a></td></tr>
|
||||
<td><a class="first reference external" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference external" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference external" href="mailto:witt@ive.uni-hannover.de">witt@ive.uni-hannover.de</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, University of Hanover <a class="last reference" href="http://www.ive.uni-hannover.de">Institute for Transport
|
||||
<td><a class="first reference external" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference external" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, University of Hanover <a class="last reference external" href="http://www.ive.uni-hannover.de">Institute for Transport
|
||||
Railway Operation and Construction</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2004-11-01</td></tr>
|
||||
<td>2006-09-11</td></tr>
|
||||
<tr><th class="docinfo-name">Copyright:</th>
|
||||
<td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003.</td></tr>
|
||||
</tbody>
|
||||
@ -335,18 +53,18 @@ not an iterator.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="contents topic">
|
||||
<p class="topic-title first"><a id="table-of-contents" name="table-of-contents">Table of Contents</a></p>
|
||||
<div class="contents topic" id="table-of-contents">
|
||||
<p class="topic-title first">Table of Contents</p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="#indirect-iterator-synopsis" id="id2" name="id2"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> synopsis</a></li>
|
||||
<li><a class="reference" href="#indirect-iterator-requirements" id="id3" name="id3"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> requirements</a></li>
|
||||
<li><a class="reference" href="#indirect-iterator-models" id="id4" name="id4"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> models</a></li>
|
||||
<li><a class="reference" href="#indirect-iterator-operations" id="id5" name="id5"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> operations</a></li>
|
||||
<li><a class="reference" href="#example" id="id6" name="id6">Example</a></li>
|
||||
<li><a class="reference internal" href="#indirect-iterator-synopsis" id="id2"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> synopsis</a></li>
|
||||
<li><a class="reference internal" href="#indirect-iterator-requirements" id="id3"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> requirements</a></li>
|
||||
<li><a class="reference internal" href="#indirect-iterator-models" id="id4"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> models</a></li>
|
||||
<li><a class="reference internal" href="#indirect-iterator-operations" id="id5"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> operations</a></li>
|
||||
<li><a class="reference internal" href="#example" id="id6">Example</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id2" id="indirect-iterator-synopsis" name="indirect-iterator-synopsis"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> synopsis</a></h1>
|
||||
<div class="section" id="indirect-iterator-synopsis">
|
||||
<h1><a class="toc-backref" href="#id2"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> synopsis</a></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) -->
|
||||
@ -426,8 +144,8 @@ else
|
||||
) iterator_category;
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id3" id="indirect-iterator-requirements" name="indirect-iterator-requirements"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> requirements</a></h1>
|
||||
<div class="section" id="indirect-iterator-requirements">
|
||||
<h1><a class="toc-backref" href="#id3"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> requirements</a></h1>
|
||||
<p>The expression <tt class="docutils literal"><span class="pre">*v</span></tt>, where <tt class="docutils literal"><span class="pre">v</span></tt> is an object of
|
||||
<tt class="docutils literal"><span class="pre">iterator_traits<Iterator>::value_type</span></tt>, shall be valid
|
||||
expression and convertible to <tt class="docutils literal"><span class="pre">reference</span></tt>. <tt class="docutils literal"><span class="pre">Iterator</span></tt> shall
|
||||
@ -440,8 +158,8 @@ the requirements indicated by <tt class="docutils literal"><span class="pre">ite
|
||||
parameter is not <tt class="docutils literal"><span class="pre">use_default</span></tt>, as implied by the algorithm for
|
||||
deducing the default for the <tt class="docutils literal"><span class="pre">value_type</span></tt> member.]</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id4" id="indirect-iterator-models" name="indirect-iterator-models"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> models</a></h1>
|
||||
<div class="section" id="indirect-iterator-models">
|
||||
<h1><a class="toc-backref" href="#id4"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> models</a></h1>
|
||||
<p>In addition to the concepts indicated by <tt class="docutils literal"><span class="pre">iterator_category</span></tt>
|
||||
and by <tt class="docutils literal"><span class="pre">iterator_traversal<indirect_iterator>::type</span></tt>, a
|
||||
specialization of <tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> models the following
|
||||
@ -461,8 +179,8 @@ expression (where <tt class="docutils literal"><span class="pre">t</span></tt> i
|
||||
<tt class="docutils literal"><span class="pre">indirect_iterator<Y,V2,C2,R2,D2></span></tt> if and only if <tt class="docutils literal"><span class="pre">X</span></tt> is
|
||||
interoperable with <tt class="docutils literal"><span class="pre">Y</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id5" id="indirect-iterator-operations" name="indirect-iterator-operations"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> operations</a></h1>
|
||||
<div class="section" id="indirect-iterator-operations">
|
||||
<h1><a class="toc-backref" href="#id5"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> operations</a></h1>
|
||||
<p>In addition to the operations required by the concepts described
|
||||
above, specializations of <tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> provide the
|
||||
following operations.</p>
|
||||
@ -555,8 +273,8 @@ indirect_iterator(
|
||||
<!-- 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="#id6" id="example" name="example">Example</a></h1>
|
||||
<div class="section" id="example">
|
||||
<h1><a class="toc-backref" href="#id6">Example</a></h1>
|
||||
<p>This example prints an array of characters, using
|
||||
<tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> to access the array of characters through an
|
||||
array of pointers. Next <tt class="docutils literal"><span class="pre">indirect_iterator</span></tt> is used with the
|
||||
@ -614,8 +332,14 @@ a,b,c,d,e,f,g,
|
||||
b,c,d,e,f,g,h,
|
||||
a,b,c,d,e,f,g,
|
||||
</pre>
|
||||
<p>The source code for this example can be found <a class="reference" href="../example/indirect_iterator_example.cpp">here</a>.</p>
|
||||
<p>The source code for this example can be found <a class="reference external" href="../example/indirect_iterator_example.cpp">here</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="indirect_iterator.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -18,7 +18,7 @@ implement interoperable iterators.
|
||||
In the following text a simplified example of the current iterator_facade specification is used to
|
||||
illustrate the problem.
|
||||
|
||||
In the current specification binary operators are implemented in the following way:
|
||||
In the current specification binary operators are implemented in the following way::
|
||||
|
||||
template <class Derived>
|
||||
struct Facade
|
||||
@ -46,7 +46,8 @@ enable_if<is_interoperable<Derived1, Derived2>, bool> operator==(
|
||||
}
|
||||
|
||||
The problem with this is that operator== always forwards to Derived1::equal_to. The net effect is that the
|
||||
following "obvious" implementation of to interoperable types does not quite work.
|
||||
following "obvious" implementation of to interoperable types does
|
||||
not quite work. ::
|
||||
|
||||
struct Mutable : Facade<Mutable>
|
||||
{
|
||||
@ -91,7 +92,7 @@ struct Constant : Tag<Constant>
|
||||
Beside the fact that the code is significantly more complex to understand and to teach there is
|
||||
a major design problem lurking here. Note that in both types equal_to is a function template with
|
||||
an unconstrained argument T. This is necessary so that further types can be made interoperable with
|
||||
Mutable or Constant. Would Mutable be defined as
|
||||
Mutable or Constant. Would Mutable be defined as ::
|
||||
|
||||
struct Mutable : Facade<Mutable>
|
||||
{
|
||||
@ -111,7 +112,7 @@ The two way dependency can be avoided by enabling type conversion in the binary
|
||||
implementation. Note that this is the usual way interoperability betwween types is achieved
|
||||
for binary operators and one reason why binary operators are usually implemented as non-members.
|
||||
|
||||
A simple implementation of this strategy would look like this
|
||||
A simple implementation of this strategy would look like this ::
|
||||
|
||||
template<
|
||||
class T1
|
||||
@ -145,7 +146,8 @@ enable_if<is_interoperable<Derived1, Derived2>, bool> operator==(
|
||||
return static_cast<Base const&>(lhs).equal_to(static_cast<Derived2 const&(rhs));
|
||||
}
|
||||
|
||||
This way our original simple and "obvious" implementation would work again.
|
||||
This way our original simple and "obvious" implementation would
|
||||
work again. ::
|
||||
|
||||
c == m; // ok, dispatched to Constant::equal_to
|
||||
m == c; // ok, dispatched to Constant::equal_to, m converted to Constant
|
||||
@ -158,7 +160,7 @@ that iteration is a very basic operation this possible performance degradation i
|
||||
acceptable.
|
||||
|
||||
Luckily whe can have our cake and eat it by a slightly more clever implementation of the binary
|
||||
operators.
|
||||
operators. ::
|
||||
|
||||
template<
|
||||
class Derived1
|
||||
@ -184,12 +186,13 @@ enable_if<is_convertible<Derived1, Derived2>, bool> operator==(
|
||||
return static_cast<Derived2 const&>(rhs).equal_to(static_cast<Derived1 const&(lhs));
|
||||
}
|
||||
|
||||
Given our simple and obvious definition of Mutable and Constant nothing has changed yet.
|
||||
Given our simple and obvious definition of Mutable and Constant nothing has changed yet. ::
|
||||
|
||||
c == m; // ok, dispatched to Constant::equal_to, m converted to Constant
|
||||
m == c; // ok, dispatched to Constant::equal_to, m converted to Constant
|
||||
|
||||
But now the user can avoid the type conversion by supplying the appropriate overload in Constant
|
||||
But now the user can avoid the type conversion by supplying the
|
||||
appropriate overload in Constant ::
|
||||
|
||||
struct Constant : Facade<Constant>
|
||||
{
|
||||
@ -208,7 +211,7 @@ m == c; // ok, dispatched to Constant::equal_to(Mutable const&), no conversion
|
||||
|
||||
This definition of operator== introduces a possible ambiguity when both types are convertible
|
||||
to each other. I don't think this is a problem as this behaviour is the same with concrete types.
|
||||
I.e.
|
||||
I.e. ::
|
||||
|
||||
struct A {};
|
||||
|
||||
|
451
doc/issues.html
451
doc/issues.html
@ -1,451 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
|
||||
<title>Problem with is_writable and is_swappable in N1550</title>
|
||||
<meta name="author" content="David Abrahams and Jeremy Siek" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Bloomington" />
|
||||
<meta name="date" content="2003-11-19" />
|
||||
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek 2003. Use, modification and distribution is subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)" />
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="problem-with-is-writable-and-is-swappable-in-n1550">
|
||||
<h1 class="title">Problem with <tt class="docutils literal"><span class="pre">is_writable</span></tt> and <tt class="docutils literal"><span class="pre">is_swappable</span></tt> in <a class="reference" href="http://www.boost-consulting.com/writing/n1550.html">N1550</a></h1>
|
||||
<table class="docinfo" frame="void" rules="none">
|
||||
<col class="docinfo-name" />
|
||||
<col class="docinfo-content" />
|
||||
<tbody valign="top">
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>David Abrahams and Jeremy Siek</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first reference" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="last reference" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University Bloomington</td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2003-11-19</td></tr>
|
||||
<tr><th class="docinfo-name">Copyright:</th>
|
||||
<td>Copyright David Abrahams, Jeremy Siek 2003. Use, modification and
|
||||
distribution is subject to the Boost Software License,
|
||||
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
|
||||
at <a class="reference" href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="contents topic">
|
||||
<p class="topic-title first"><a id="table-of-contents" name="table-of-contents">Table of Contents</a></p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="#introduction" id="id1" name="id1">Introduction</a></li>
|
||||
<li><a class="reference" href="#proposed-resolution" id="id2" name="id2">Proposed Resolution</a></li>
|
||||
<li><a class="reference" href="#rationale" id="id3" name="id3">Rationale</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id1" id="introduction" name="introduction">Introduction</a></h1>
|
||||
<p>The <tt class="docutils literal"><span class="pre">is_writable</span></tt> and <tt class="docutils literal"><span class="pre">is_swappable</span></tt> traits classes in <a class="reference" href="http://www.boost-consulting.com/writing/n1550.html">N1550</a>
|
||||
provide a mechanism for determining at compile time if an iterator
|
||||
type is a model of the new Writable Iterator and Swappable Iterator
|
||||
concepts, analogous to <tt class="docutils literal"><span class="pre">iterator_traits<X>::iterator_category</span></tt>
|
||||
for the old iterator concepts. For backward compatibility,
|
||||
<tt class="docutils literal"><span class="pre">is_writable</span></tt> and <tt class="docutils literal"><span class="pre">is_swappable</span></tt> not only work with new
|
||||
iterators, but they also are intended to work for old
|
||||
iterators (iterators that meet the requirements for one of the
|
||||
iterator concepts in the current standard). In the case of old
|
||||
iterators, the writability and swapability is deduced based on the
|
||||
<tt class="docutils literal"><span class="pre">iterator_category</span></tt> and also the <tt class="docutils literal"><span class="pre">reference</span></tt> type. The
|
||||
specification for this deduction gives false positives for forward
|
||||
iterators that have non-assignable value types.</p>
|
||||
<p>To review, the part of the <tt class="docutils literal"><span class="pre">is_writable</span></tt> trait definition which
|
||||
applies to old iterators is:</p>
|
||||
<pre class="literal-block">
|
||||
if (cat is convertible to output_iterator_tag)
|
||||
return true;
|
||||
else if (cat is convertible to forward_iterator_tag
|
||||
and iterator_traits<Iterator>::reference is a
|
||||
mutable reference)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
</pre>
|
||||
<p>Suppose the <tt class="docutils literal"><span class="pre">value_type</span></tt> of the iterator <tt class="docutils literal"><span class="pre">It</span></tt> has a private
|
||||
assignment operator:</p>
|
||||
<pre class="literal-block">
|
||||
class B {
|
||||
public:
|
||||
...
|
||||
private:
|
||||
B& operator=(const B&);
|
||||
};
|
||||
</pre>
|
||||
<p>and suppose the <tt class="docutils literal"><span class="pre">reference</span></tt> type of the iterator is <tt class="docutils literal"><span class="pre">B&</span></tt>. In
|
||||
that case, <tt class="docutils literal"><span class="pre">is_writable<It>::value</span></tt> will be true when in fact
|
||||
attempting to write into <tt class="docutils literal"><span class="pre">B</span></tt> will cause an error.</p>
|
||||
<p>The same problem applies to <tt class="docutils literal"><span class="pre">is_swappable</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id2" id="proposed-resolution" name="proposed-resolution">Proposed Resolution</a></h1>
|
||||
<ol class="arabic">
|
||||
<li><p class="first">Remove the <tt class="docutils literal"><span class="pre">is_writable</span></tt> and <tt class="docutils literal"><span class="pre">is_swappable</span></tt> traits, and remove the
|
||||
requirements in the Writable Iterator and Swappable Iterator concepts
|
||||
that require their models to support these traits.</p>
|
||||
</li>
|
||||
<li><p class="first">Change the <tt class="docutils literal"><span class="pre">is_readable</span></tt> specification to be:
|
||||
<tt class="docutils literal"><span class="pre">is_readable<X>::type</span></tt> is <tt class="docutils literal"><span class="pre">true_type</span></tt> if the
|
||||
result type of <tt class="docutils literal"><span class="pre">X::operator*</span></tt> is convertible to
|
||||
<tt class="docutils literal"><span class="pre">iterator_traits<X>::value_type</span></tt> and is <tt class="docutils literal"><span class="pre">false_type</span></tt>
|
||||
otherwise. Also, <tt class="docutils literal"><span class="pre">is_readable</span></tt> is required to satisfy
|
||||
the requirements for the UnaryTypeTrait concept
|
||||
(defined in the type traits proposal).</p>
|
||||
<p>Remove the requirement for support of the <tt class="docutils literal"><span class="pre">is_readable</span></tt> trait from
|
||||
the Readable Iterator concept.</p>
|
||||
</li>
|
||||
<li><p class="first">Remove the <tt class="docutils literal"><span class="pre">iterator_tag</span></tt> class.</p>
|
||||
</li>
|
||||
<li><p class="first">Change the specification of <tt class="docutils literal"><span class="pre">traversal_category</span></tt> to:</p>
|
||||
<pre class="literal-block">
|
||||
traversal-category(Iterator) =
|
||||
let cat = iterator_traits<Iterator>::iterator_category
|
||||
if (cat is convertible to incrementable_iterator_tag)
|
||||
return cat; // Iterator is a new iterator
|
||||
else if (cat is convertible to random_access_iterator_tag)
|
||||
return random_access_traversal_tag;
|
||||
else if (cat is convertible to bidirectional_iterator_tag)
|
||||
return bidirectional_traversal_tag;
|
||||
else if (cat is convertible to forward_iterator_tag)
|
||||
return forward_traversal_tag;
|
||||
else if (cat is convertible to input_iterator_tag)
|
||||
return single_pass_iterator_tag;
|
||||
else if (cat is convertible to output_iterator_tag)
|
||||
return incrementable_iterator_tag;
|
||||
else
|
||||
return null_category_tag;
|
||||
</pre>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id3" id="rationale" name="rationale">Rationale</a></h1>
|
||||
<ol class="arabic simple">
|
||||
<li>There are two reasons for removing <tt class="docutils literal"><span class="pre">is_writable</span></tt>
|
||||
and <tt class="docutils literal"><span class="pre">is_swappable</span></tt>. The first is that we do not know of
|
||||
a way to fix the specification so that it gives the correct
|
||||
answer for all iterators. Second, there was only a weak
|
||||
motivation for having <tt class="docutils literal"><span class="pre">is_writable</span></tt> and <tt class="docutils literal"><span class="pre">is_swappable</span></tt>
|
||||
there in the first place. The main motivation was simply
|
||||
uniformity: we have tags for the old iterator categories
|
||||
so we should have tags for the new iterator categories.
|
||||
While having tags and the capability to dispatch based
|
||||
on the traversal categories is often used, we see
|
||||
less of a need for dispatching based on writability
|
||||
and swappability, since typically algorithms
|
||||
that need these capabilities have no alternative if
|
||||
they are not provided.</li>
|
||||
<li>We discovered that the <tt class="docutils literal"><span class="pre">is_readable</span></tt> trait can be implemented
|
||||
using only the iterator type itself and its <tt class="docutils literal"><span class="pre">value_type</span></tt>.
|
||||
Therefore we remove the requirement for <tt class="docutils literal"><span class="pre">is_readable</span></tt> from the
|
||||
Readable Iterator concept, and change the definition of
|
||||
<tt class="docutils literal"><span class="pre">is_readable</span></tt> so that it works for any iterator type.</li>
|
||||
<li>The purpose of the <tt class="docutils literal"><span class="pre">iterator_tag</span></tt> class was to
|
||||
bundle the traversal and access category tags
|
||||
into the <tt class="docutils literal"><span class="pre">iterator_category</span></tt> typedef.
|
||||
With <tt class="docutils literal"><span class="pre">is_writable</span></tt> and <tt class="docutils literal"><span class="pre">is_swappable</span></tt> gone, and
|
||||
<tt class="docutils literal"><span class="pre">is_readable</span></tt> no longer in need of special hints,
|
||||
there is no reason for iterators to provide
|
||||
information about the access capabilities of an iterator.
|
||||
Thus there is no need for the <tt class="docutils literal"><span class="pre">iterator_tag</span></tt>. The
|
||||
traversal tag can be directly used for the
|
||||
<tt class="docutils literal"><span class="pre">iterator_category</span></tt>. If a new iterator is intended to be backward
|
||||
compatible with old iterator concepts, a tag type
|
||||
that is convertible to both one of the new traversal tags
|
||||
and also to an old iterator tag can be created and use
|
||||
for the <tt class="docutils literal"><span class="pre">iterator_category</span></tt>.</li>
|
||||
<li>The changes to the specification of <tt class="docutils literal"><span class="pre">traversal_category</span></tt> are a
|
||||
direct result of the removal of <tt class="docutils literal"><span class="pre">iterator_tag</span></tt>.</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -3,295 +3,13 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Iterator Adaptor</title>
|
||||
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, University of Hanover Institute for Transport Railway Operation and Construction" />
|
||||
<meta name="date" content="2004-11-01" />
|
||||
<meta name="date" content="2006-09-11" />
|
||||
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003." />
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="iterator-adaptor">
|
||||
@ -303,13 +21,13 @@ ul.auto-toc {
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>David Abrahams, Jeremy Siek, Thomas Witt</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first reference" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference" href="mailto:witt@ive.uni-hannover.de">witt@ive.uni-hannover.de</a></td></tr>
|
||||
<td><a class="first reference external" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference external" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference external" href="mailto:witt@ive.uni-hannover.de">witt@ive.uni-hannover.de</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, University of Hanover <a class="last reference" href="http://www.ive.uni-hannover.de">Institute for Transport
|
||||
<td><a class="first reference external" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference external" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, University of Hanover <a class="last reference external" href="http://www.ive.uni-hannover.de">Institute for Transport
|
||||
Railway Operation and Construction</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2004-11-01</td></tr>
|
||||
<td>2006-09-11</td></tr>
|
||||
<tr><th class="docinfo-name">Copyright:</th>
|
||||
<td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003.</td></tr>
|
||||
</tbody>
|
||||
@ -341,30 +59,30 @@ Whether the derived class models any of the standard iterator concepts
|
||||
depends on the operations supported by the <tt class="docutils literal"><span class="pre">Base</span></tt> type and which
|
||||
core interface functions of <tt class="docutils literal"><span class="pre">iterator_facade</span></tt> are redefined in the
|
||||
<tt class="docutils literal"><span class="pre">Derived</span></tt> class.</p>
|
||||
<div class="contents topic">
|
||||
<p class="topic-title first"><a id="table-of-contents" name="table-of-contents">Table of Contents</a></p>
|
||||
<div class="contents topic" id="table-of-contents">
|
||||
<p class="topic-title first">Table of Contents</p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="#overview" id="id6" name="id6">Overview</a></li>
|
||||
<li><a class="reference" href="#reference" id="id7" name="id7">Reference</a><ul>
|
||||
<li><a class="reference" href="#iterator-adaptor-requirements" id="id8" name="id8"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> requirements</a></li>
|
||||
<li><a class="reference" href="#iterator-adaptor-base-class-parameters" id="id9" name="id9"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> base class parameters</a></li>
|
||||
<li><a class="reference" href="#iterator-adaptor-public-operations" id="id10" name="id10"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> public operations</a></li>
|
||||
<li><a class="reference" href="#iterator-adaptor-protected-member-functions" id="id11" name="id11"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> protected member functions</a></li>
|
||||
<li><a class="reference" href="#iterator-adaptor-private-member-functions" id="id12" name="id12"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> private member functions</a></li>
|
||||
<li><a class="reference internal" href="#overview" id="id6">Overview</a></li>
|
||||
<li><a class="reference internal" href="#reference" id="id7">Reference</a><ul>
|
||||
<li><a class="reference internal" href="#iterator-adaptor-requirements" id="id8"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> requirements</a></li>
|
||||
<li><a class="reference internal" href="#iterator-adaptor-base-class-parameters" id="id9"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> base class parameters</a></li>
|
||||
<li><a class="reference internal" href="#iterator-adaptor-public-operations" id="id10"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> public operations</a></li>
|
||||
<li><a class="reference internal" href="#iterator-adaptor-protected-member-functions" id="id11"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> protected member functions</a></li>
|
||||
<li><a class="reference internal" href="#iterator-adaptor-private-member-functions" id="id12"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> private member functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#tutorial-example" id="id13" name="id13">Tutorial Example</a></li>
|
||||
<li><a class="reference internal" href="#tutorial-example" id="id13">Tutorial Example</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id6" id="overview" name="overview">Overview</a></h1>
|
||||
<div class="section" id="overview">
|
||||
<h1><a class="toc-backref" href="#id6">Overview</a></h1>
|
||||
<!-- Distributed under the Boost -->
|
||||
<!-- Software License, Version 1.0. (See accompanying -->
|
||||
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
<!-- Version 1.2 of this ReStructuredText document corresponds to
|
||||
n1530_, the paper accepted by the LWG for TR1. -->
|
||||
<!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. -->
|
||||
<p>The <tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> class template adapts some <tt class="docutils literal"><span class="pre">Base</span></tt> <a class="footnote-reference" href="#base" id="id1" name="id1">[1]</a>
|
||||
<p>The <tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> class template adapts some <tt class="docutils literal"><span class="pre">Base</span></tt><a class="footnote-reference" href="#base" id="id1"><sup>1</sup></a>
|
||||
type to create a new iterator. Instantiations of <tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt>
|
||||
are derived from a corresponding instantiation of <tt class="docutils literal"><span class="pre">iterator_facade</span></tt>
|
||||
and implement the core behaviors in terms of the <tt class="docutils literal"><span class="pre">Base</span></tt> type. In
|
||||
@ -373,7 +91,7 @@ instance of the <tt class="docutils literal"><span class="pre">Base</span></tt>
|
||||
<table class="docutils footnote" frame="void" id="base" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a name="base">[1]</a></td><td><em>(<a class="fn-backref" href="#id1">1</a>, <a class="fn-backref" href="#id3">2</a>)</em> The term "Base" here does not refer to a base class and is
|
||||
<tr><td class="label">[1]</td><td><em>(<a class="fn-backref" href="#id1">1</a>, <a class="fn-backref" href="#id3">2</a>)</em> The term "Base" here does not refer to a base class and is
|
||||
not meant to imply the use of derivation. We have followed the lead
|
||||
of the standard library, which provides a base() function to access
|
||||
the underlying iterator object of a <tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> adaptor.</td></tr>
|
||||
@ -400,8 +118,8 @@ template parameter may not always be identical to the iterator's
|
||||
<tt class="docutils literal"><span class="pre">reference</span></tt> type, and will keep users from making mistakes based on
|
||||
that assumption.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id7" id="reference" name="reference">Reference</a></h1>
|
||||
<div class="section" id="reference">
|
||||
<h1><a class="toc-backref" href="#id7">Reference</a></h1>
|
||||
<!-- Distributed under the Boost -->
|
||||
<!-- Software License, Version 1.0. (See accompanying -->
|
||||
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
@ -418,7 +136,7 @@ template <
|
||||
, class Difference = use_default
|
||||
>
|
||||
class iterator_adaptor
|
||||
: public iterator_facade<Derived, <em>V'</em>, <em>C'</em>, <em>R'</em>, <em>D'</em>> // see <a class="reference" href="#base-parameters">details</a>
|
||||
: public iterator_facade<Derived, <em>V'</em>, <em>C'</em>, <em>R'</em>, <em>D'</em>> // see <a class="reference internal" href="#base-parameters">details</a>
|
||||
{
|
||||
friend class iterator_core_access;
|
||||
public:
|
||||
@ -452,13 +170,13 @@ class iterator_adaptor
|
||||
Base m_iterator; // exposition only
|
||||
};
|
||||
</pre>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id8" id="iterator-adaptor-requirements" name="iterator-adaptor-requirements"><span id="requirements"></span><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> requirements</a></h2>
|
||||
<div class="section" id="iterator-adaptor-requirements">
|
||||
<span id="requirements"></span><h2><a class="toc-backref" href="#id8"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> requirements</a></h2>
|
||||
<p><tt class="docutils literal"><span class="pre">static_cast<Derived*>(iterator_adaptor*)</span></tt> shall be well-formed.
|
||||
The <tt class="docutils literal"><span class="pre">Base</span></tt> argument shall be Assignable and Copy Constructible.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id9" id="iterator-adaptor-base-class-parameters" name="iterator-adaptor-base-class-parameters"><span id="base-parameters"></span><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> base class parameters</a></h2>
|
||||
<div class="section" id="iterator-adaptor-base-class-parameters">
|
||||
<span id="base-parameters"></span><h2><a class="toc-backref" href="#id9"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> base class parameters</a></h2>
|
||||
<p>The <em>V'</em>, <em>C'</em>, <em>R'</em>, and <em>D'</em> parameters of the <tt class="docutils literal"><span class="pre">iterator_facade</span></tt>
|
||||
used as a base class in the summary of <tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt>
|
||||
above are defined as follows:</p>
|
||||
@ -498,8 +216,8 @@ expression involving ``Derived`` in those concepts' requirements. -->
|
||||
<!-- The above is confusing and needs a rewrite. -JGS -->
|
||||
<!-- That's why it's removed. We're embracing inheritance, remember? -->
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id10" id="iterator-adaptor-public-operations" name="iterator-adaptor-public-operations"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> public operations</a></h2>
|
||||
<div class="section" id="iterator-adaptor-public-operations">
|
||||
<h2><a class="toc-backref" href="#id10"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> public operations</a></h2>
|
||||
<p><tt class="docutils literal"><span class="pre">iterator_adaptor();</span></tt></p>
|
||||
<table class="docutils field-list" frame="void" rules="none">
|
||||
<col class="field-name" />
|
||||
@ -532,8 +250,8 @@ expression involving ``Derived`` in those concepts' requirements. -->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id11" id="iterator-adaptor-protected-member-functions" name="iterator-adaptor-protected-member-functions"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> protected member functions</a></h2>
|
||||
<div class="section" id="iterator-adaptor-protected-member-functions">
|
||||
<h2><a class="toc-backref" href="#id11"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> protected member functions</a></h2>
|
||||
<p><tt class="docutils literal"><span class="pre">Base</span> <span class="pre">const&</span> <span class="pre">base_reference()</span> <span class="pre">const;</span></tt></p>
|
||||
<table class="docutils field-list" frame="void" rules="none">
|
||||
<col class="field-name" />
|
||||
@ -553,8 +271,8 @@ expression involving ``Derived`` in those concepts' requirements. -->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id12" id="iterator-adaptor-private-member-functions" name="iterator-adaptor-private-member-functions"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> private member functions</a></h2>
|
||||
<div class="section" id="iterator-adaptor-private-member-functions">
|
||||
<h2><a class="toc-backref" href="#id12"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> private member functions</a></h2>
|
||||
<p><tt class="docutils literal"><span class="pre">typename</span> <span class="pre">iterator_adaptor::reference</span> <span class="pre">dereference()</span> <span class="pre">const;</span></tt></p>
|
||||
<table class="docutils field-list" frame="void" rules="none">
|
||||
<col class="field-name" />
|
||||
@ -622,13 +340,13 @@ typename iterator_adaptor::difference_type distance_to(
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id13" id="tutorial-example" name="tutorial-example">Tutorial Example</a></h1>
|
||||
<div class="section" id="tutorial-example">
|
||||
<h1><a class="toc-backref" href="#id13">Tutorial Example</a></h1>
|
||||
<!-- Copyright David Abrahams 2004. Use, modification and distribution is -->
|
||||
<!-- subject to the Boost Software License, Version 1.0. (See accompanying -->
|
||||
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
<p>In this section we'll further refine the <tt class="docutils literal"><span class="pre">node_iter</span></tt> class
|
||||
template we developed in the <a class="reference" href="iterator_facade.html#tutorial-example"><tt class="docutils literal"><span class="pre">iterator_facade</span></tt> tutorial</a>. If you haven't already
|
||||
template we developed in the <a class="reference external" href="iterator_facade.html#tutorial-example"><tt class="docutils literal"><span class="pre">iterator_facade</span></tt> tutorial</a>. If you haven't already
|
||||
read that material, you should go back now and check it out because
|
||||
we're going to pick up right where it left off.</p>
|
||||
<div class="sidebar">
|
||||
@ -651,12 +369,12 @@ of the same associated types (<tt class="docutils literal"><span class="pre">val
|
||||
core functionality is the same: <tt class="docutils literal"><span class="pre">operator*</span></tt> and <tt class="docutils literal"><span class="pre">operator==</span></tt> on
|
||||
the <tt class="docutils literal"><span class="pre">node_iterator</span></tt> return the result of invoking the same
|
||||
operations on the underlying pointer, via the <tt class="docutils literal"><span class="pre">node_iterator</span></tt>'s
|
||||
<a class="reference" href="iterator_facade.html#implementing-the-core-operations"><tt class="docutils literal"><span class="pre">dereference</span></tt> and <tt class="docutils literal"><span class="pre">equal</span></tt> member functions</a>). The only real behavioral difference
|
||||
<a class="reference external" href="iterator_facade.html#implementing-the-core-operations"><tt class="docutils literal"><span class="pre">dereference</span></tt> and <tt class="docutils literal"><span class="pre">equal</span></tt> member functions</a>). The only real behavioral difference
|
||||
between <tt class="docutils literal"><span class="pre">node_base*</span></tt> and <tt class="docutils literal"><span class="pre">node_iterator</span></tt> can be observed when
|
||||
they are incremented: <tt class="docutils literal"><span class="pre">node_iterator</span></tt> follows the
|
||||
<tt class="docutils literal"><span class="pre">m_next</span></tt> pointer, while <tt class="docutils literal"><span class="pre">node_base*</span></tt> just applies an address offset.</p>
|
||||
<p>It turns out that the pattern of building an iterator on another
|
||||
iterator-like type (the <tt class="docutils literal"><span class="pre">Base</span></tt> <a class="footnote-reference" href="#base" id="id3" name="id3">[1]</a> type) while modifying
|
||||
iterator-like type (the <tt class="docutils literal"><span class="pre">Base</span></tt><a class="footnote-reference" href="#base" id="id3"><sup>1</sup></a> type) while modifying
|
||||
just a few aspects of the underlying type's behavior is an
|
||||
extremely common one, and it's the pattern addressed by
|
||||
<tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt>. Using <tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt> is very much like
|
||||
@ -707,7 +425,7 @@ the complicated base class type of <tt class="docutils literal"><span class="pre
|
||||
this technique is known not to work with Borland C++ 5.6.4 and
|
||||
Metrowerks CodeWarrior versions prior to 9.0]</p>
|
||||
<p>You can see an example program that exercises this version of the
|
||||
node iterators <a class="reference" href="../example/node_iterator3.cpp">here</a>.</p>
|
||||
node iterators <a class="reference external" href="../example/node_iterator3.cpp">here</a>.</p>
|
||||
<p>In the case of <tt class="docutils literal"><span class="pre">node_iter</span></tt>, it's not very compelling to pass
|
||||
<tt class="docutils literal"><span class="pre">boost::use_default</span></tt> as <tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt>'s <tt class="docutils literal"><span class="pre">Value</span></tt>
|
||||
argument; we could have just passed <tt class="docutils literal"><span class="pre">node_iter</span></tt>'s <tt class="docutils literal"><span class="pre">Value</span></tt>
|
||||
@ -725,13 +443,19 @@ std::iterator_traits<Iterator>::<em>some-associated-type</em>
|
||||
</pre>
|
||||
<p>at least four times.</p>
|
||||
<p>We urge you to review the documentation and implementations of
|
||||
<a class="reference" href="reverse_iterator.html"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt></a> and the other Boost <a class="reference" href="index.html#specialized-adaptors">specialized iterator
|
||||
<a class="reference external" href="reverse_iterator.html"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt></a> and the other Boost <a class="reference external" href="index.html#specialized-adaptors">specialized iterator
|
||||
adaptors</a> to get an idea of the sorts of things you can do with
|
||||
<tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt>. In particular, have a look at
|
||||
<a class="reference" href="transform_iterator.html"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt></a>, which is perhaps the most straightforward
|
||||
adaptor, and also <a class="reference" href="counting_iterator.html"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt></a>, which demonstrates that
|
||||
<a class="reference external" href="transform_iterator.html"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt></a>, which is perhaps the most straightforward
|
||||
adaptor, and also <a class="reference external" href="counting_iterator.html"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt></a>, which demonstrates that
|
||||
<tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt>'s <tt class="docutils literal"><span class="pre">Base</span></tt> type needn't be an iterator.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="iterator_adaptor.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,13 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Iterator Archetype</title>
|
||||
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, Zephyr Associates, Inc." />
|
||||
<meta name="date" content="2004-11-01" />
|
||||
<meta name="date" content="2006-09-11" />
|
||||
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2004." />
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="iterator-archetype">
|
||||
@ -303,12 +21,12 @@ ul.auto-toc {
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>David Abrahams, Jeremy Siek, Thomas Witt</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first reference" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference" href="mailto:witt@styleadvisor.com">witt@styleadvisor.com</a></td></tr>
|
||||
<td><a class="first reference external" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference external" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference external" href="mailto:witt@styleadvisor.com">witt@styleadvisor.com</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, <a class="last reference" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr>
|
||||
<td><a class="first reference external" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference external" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, <a class="last reference external" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2004-11-01</td></tr>
|
||||
<td>2006-09-11</td></tr>
|
||||
<tr><th class="docinfo-name">Copyright:</th>
|
||||
<td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2004.</td></tr>
|
||||
</tbody>
|
||||
@ -324,27 +42,27 @@ Lab</a>, <a class="last reference" href="http://www.styleadvisor.com">Zephyr Ass
|
||||
one of the iterator access concepts and one of the iterator traversal concepts.
|
||||
This is used for doing a compile-time check to see if a the type requirements
|
||||
of a template are really enough to cover the implementation of the template.
|
||||
For further information see the documentation for the <a class="reference" href="../../concept_check/index.html"><tt class="docutils literal"><span class="pre">boost::concept_check</span></tt></a> library.</td>
|
||||
For further information see the documentation for the <a class="reference external" href="../../concept_check/index.html"><tt class="docutils literal"><span class="pre">boost::concept_check</span></tt></a> library.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="contents topic">
|
||||
<p class="topic-title first"><a id="table-of-contents" name="table-of-contents">Table of Contents</a></p>
|
||||
<div class="contents topic" id="table-of-contents">
|
||||
<p class="topic-title first">Table of Contents</p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="#reference" id="id1" name="id1">Reference</a><ul>
|
||||
<li><a class="reference" href="#iterator-archetype-synopsis" id="id2" name="id2"><tt class="docutils literal"><span class="pre">iterator_archetype</span></tt> Synopsis</a></li>
|
||||
<li><a class="reference" href="#access-category-tags" id="id3" name="id3"><tt class="docutils literal"><span class="pre">Access</span> <span class="pre">Category</span> <span class="pre">Tags</span></tt></a></li>
|
||||
<li><a class="reference" href="#iterator-archetype-requirements" id="id4" name="id4"><tt class="docutils literal"><span class="pre">iterator_archetype</span></tt> Requirements</a></li>
|
||||
<li><a class="reference" href="#iterator-archetype-models" id="id5" name="id5"><tt class="docutils literal"><span class="pre">iterator_archetype</span></tt> Models</a></li>
|
||||
<li><a class="reference" href="#traits" id="id6" name="id6"><tt class="docutils literal"><span class="pre">Traits</span></tt></a></li>
|
||||
<li><a class="reference internal" href="#reference" id="id1">Reference</a><ul>
|
||||
<li><a class="reference internal" href="#iterator-archetype-synopsis" id="id2"><tt class="docutils literal"><span class="pre">iterator_archetype</span></tt> Synopsis</a></li>
|
||||
<li><a class="reference internal" href="#access-category-tags" id="id3"><tt class="docutils literal"><span class="pre">Access</span> <span class="pre">Category</span> <span class="pre">Tags</span></tt></a></li>
|
||||
<li><a class="reference internal" href="#iterator-archetype-requirements" id="id4"><tt class="docutils literal"><span class="pre">iterator_archetype</span></tt> Requirements</a></li>
|
||||
<li><a class="reference internal" href="#iterator-archetype-models" id="id5"><tt class="docutils literal"><span class="pre">iterator_archetype</span></tt> Models</a></li>
|
||||
<li><a class="reference internal" href="#traits" id="id6"><tt class="docutils literal"><span class="pre">Traits</span></tt></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id1" id="reference" name="reference">Reference</a></h1>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id2" id="iterator-archetype-synopsis" name="iterator-archetype-synopsis"><tt class="docutils literal"><span class="pre">iterator_archetype</span></tt> Synopsis</a></h2>
|
||||
<div class="section" id="reference">
|
||||
<h1><a class="toc-backref" href="#id1">Reference</a></h1>
|
||||
<div class="section" id="iterator-archetype-synopsis">
|
||||
<h2><a class="toc-backref" href="#id2"><tt class="docutils literal"><span class="pre">iterator_archetype</span></tt> Synopsis</a></h2>
|
||||
<pre class="literal-block">
|
||||
namespace iterator_archetypes
|
||||
{
|
||||
@ -373,8 +91,8 @@ class iterator_archetype
|
||||
};
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id3" id="access-category-tags" name="access-category-tags"><tt class="docutils literal"><span class="pre">Access</span> <span class="pre">Category</span> <span class="pre">Tags</span></tt></a></h2>
|
||||
<div class="section" id="access-category-tags">
|
||||
<h2><a class="toc-backref" href="#id3"><tt class="docutils literal"><span class="pre">Access</span> <span class="pre">Category</span> <span class="pre">Tags</span></tt></a></h2>
|
||||
<p>The access category types provided correspond to the following
|
||||
standard iterator access concept combinations:</p>
|
||||
<pre class="literal-block">
|
||||
@ -399,23 +117,23 @@ writeable_lvalue_iterator_t :=
|
||||
Readable Iterator & Writeable Iterator & Swappable Iterator & Lvalue Iterator
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id4" id="iterator-archetype-requirements" name="iterator-archetype-requirements"><tt class="docutils literal"><span class="pre">iterator_archetype</span></tt> Requirements</a></h2>
|
||||
<div class="section" id="iterator-archetype-requirements">
|
||||
<h2><a class="toc-backref" href="#id4"><tt class="docutils literal"><span class="pre">iterator_archetype</span></tt> Requirements</a></h2>
|
||||
<p>The <tt class="docutils literal"><span class="pre">AccessCategory</span></tt> argument must be one of the predefined access
|
||||
category tags. The <tt class="docutils literal"><span class="pre">TraversalCategory</span></tt> must be one of the standard
|
||||
traversal tags. The <tt class="docutils literal"><span class="pre">Value</span></tt> type must satisfy the requirements of
|
||||
the iterator concept specified by <tt class="docutils literal"><span class="pre">AccessCategory</span></tt> and
|
||||
<tt class="docutils literal"><span class="pre">TraversalCategory</span></tt> as implied by the nested traits types.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id5" id="iterator-archetype-models" name="iterator-archetype-models"><tt class="docutils literal"><span class="pre">iterator_archetype</span></tt> Models</a></h2>
|
||||
<div class="section" id="iterator-archetype-models">
|
||||
<h2><a class="toc-backref" href="#id5"><tt class="docutils literal"><span class="pre">iterator_archetype</span></tt> Models</a></h2>
|
||||
<p><tt class="docutils literal"><span class="pre">iterator_archetype</span></tt> models the iterator concepts specified by the
|
||||
<tt class="docutils literal"><span class="pre">AccessCategory</span></tt> and <tt class="docutils literal"><span class="pre">TraversalCategory</span></tt>
|
||||
arguments. <tt class="docutils literal"><span class="pre">iterator_archetype</span></tt> does not model any other access
|
||||
concepts or any more derived traversal concepts.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id6" id="traits" name="traits"><tt class="docutils literal"><span class="pre">Traits</span></tt></a></h2>
|
||||
<div class="section" id="traits">
|
||||
<h2><a class="toc-backref" href="#id6"><tt class="docutils literal"><span class="pre">Traits</span></tt></a></h2>
|
||||
<p>The nested trait types are defined as follows:</p>
|
||||
<pre class="literal-block">
|
||||
if (AccessCategory == readable_iterator_t)
|
||||
@ -495,6 +213,12 @@ iterator_category :=
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="iterator_archetypes.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,13 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Iterator Concepts</title>
|
||||
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, Zephyr Associates, Inc." />
|
||||
<meta name="date" content="2004-11-01" />
|
||||
<meta name="date" content="2006-09-11" />
|
||||
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2004." />
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="iterator-concepts">
|
||||
@ -303,12 +21,12 @@ ul.auto-toc {
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>David Abrahams, Jeremy Siek, Thomas Witt</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first reference" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference" href="mailto:witt@styleadvisor.com">witt@styleadvisor.com</a></td></tr>
|
||||
<td><a class="first reference external" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference external" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference external" href="mailto:witt@styleadvisor.com">witt@styleadvisor.com</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, <a class="last reference" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr>
|
||||
<td><a class="first reference external" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference external" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, <a class="last reference external" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2004-11-01</td></tr>
|
||||
<td>2006-09-11</td></tr>
|
||||
<tr><th class="docinfo-name">Copyright:</th>
|
||||
<td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2004.</td></tr>
|
||||
</tbody>
|
||||
@ -328,30 +46,30 @@ the template.</td>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>For an introduction to using concept checking classes, see
|
||||
the documentation for the <a class="reference" href="../../concept_check/index.html"><tt class="docutils literal"><span class="pre">boost::concept_check</span></tt></a> library.</p>
|
||||
<div class="section">
|
||||
<h1><a id="reference" name="reference">Reference</a></h1>
|
||||
<div class="section">
|
||||
<h2><a id="iterator-access-concepts" name="iterator-access-concepts">Iterator Access Concepts</a></h2>
|
||||
the documentation for the <a class="reference external" href="../../concept_check/index.html"><tt class="docutils literal"><span class="pre">boost::concept_check</span></tt></a> library.</p>
|
||||
<div class="section" id="reference">
|
||||
<h1>Reference</h1>
|
||||
<div class="section" id="iterator-access-concepts">
|
||||
<h2>Iterator Access Concepts</h2>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="ReadableIterator.html"><em>Readable Iterator</em></a></li>
|
||||
<li><a class="reference" href="WritableIterator.html"><em>Writable Iterator</em></a></li>
|
||||
<li><a class="reference" href="SwappableIterator.html"><em>Swappable Iterator</em></a></li>
|
||||
<li><a class="reference" href="LvalueIterator.html"><em>Lvalue Iterator</em></a></li>
|
||||
<li><a class="reference external" href="ReadableIterator.html"><em>Readable Iterator</em></a></li>
|
||||
<li><a class="reference external" href="WritableIterator.html"><em>Writable Iterator</em></a></li>
|
||||
<li><a class="reference external" href="SwappableIterator.html"><em>Swappable Iterator</em></a></li>
|
||||
<li><a class="reference external" href="LvalueIterator.html"><em>Lvalue Iterator</em></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a id="iterator-traversal-concepts" name="iterator-traversal-concepts">Iterator Traversal Concepts</a></h2>
|
||||
<div class="section" id="iterator-traversal-concepts">
|
||||
<h2>Iterator Traversal Concepts</h2>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="IncrementableIterator.html"><em>Incrementable Iterator</em></a></li>
|
||||
<li><a class="reference" href="SinglePassIterator.html"><em>Single Pass Iterator</em></a></li>
|
||||
<li><a class="reference" href="ForwardTraversal.html"><em>Forward Traversal</em></a></li>
|
||||
<li><a class="reference" href="BidirectionalTraversal.html"><em>Bidirectional Traversal</em></a></li>
|
||||
<li><a class="reference" href="RandomAccessTraversal.html"><em>Random Access Traversal</em></a></li>
|
||||
<li><a class="reference external" href="IncrementableIterator.html"><em>Incrementable Iterator</em></a></li>
|
||||
<li><a class="reference external" href="SinglePassIterator.html"><em>Single Pass Iterator</em></a></li>
|
||||
<li><a class="reference external" href="ForwardTraversal.html"><em>Forward Traversal</em></a></li>
|
||||
<li><a class="reference external" href="BidirectionalTraversal.html"><em>Bidirectional Traversal</em></a></li>
|
||||
<li><a class="reference external" href="RandomAccessTraversal.html"><em>Random Access Traversal</em></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a id="iterator-concepts-hpp-synopsis" name="iterator-concepts-hpp-synopsis"><tt class="docutils literal"><span class="pre">iterator_concepts.hpp</span></tt> Synopsis</a></h2>
|
||||
<div class="section" id="iterator-concepts-hpp-synopsis">
|
||||
<h2><tt class="docutils literal"><span class="pre">iterator_concepts.hpp</span></tt> Synopsis</h2>
|
||||
<pre class="literal-block">
|
||||
namespace boost_concepts {
|
||||
|
||||
@ -398,6 +116,12 @@ namespace boost_concepts {
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="iterator_concepts.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,13 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Iterator Facade</title>
|
||||
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, University of Hanover Institute for Transport Railway Operation and Construction" />
|
||||
<meta name="date" content="2004-11-01" />
|
||||
<meta name="date" content="2006-09-11" />
|
||||
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003." />
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="iterator-facade">
|
||||
@ -303,13 +21,13 @@ ul.auto-toc {
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>David Abrahams, Jeremy Siek, Thomas Witt</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first reference" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference" href="mailto:witt@ive.uni-hannover.de">witt@ive.uni-hannover.de</a></td></tr>
|
||||
<td><a class="first reference external" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference external" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference external" href="mailto:witt@ive.uni-hannover.de">witt@ive.uni-hannover.de</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, University of Hanover <a class="last reference" href="http://www.ive.uni-hannover.de">Institute for Transport
|
||||
<td><a class="first reference external" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference external" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, University of Hanover <a class="last reference external" href="http://www.ive.uni-hannover.de">Institute for Transport
|
||||
Railway Operation and Construction</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2004-11-01</td></tr>
|
||||
<td>2006-09-11</td></tr>
|
||||
<tr><th class="docinfo-name">Copyright:</th>
|
||||
<td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003.</td></tr>
|
||||
</tbody>
|
||||
@ -330,46 +48,46 @@ and associated types, to be supplied by a derived iterator class.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="contents topic">
|
||||
<p class="topic-title first"><a id="table-of-contents" name="table-of-contents">Table of Contents</a></p>
|
||||
<div class="contents topic" id="table-of-contents">
|
||||
<p class="topic-title first">Table of Contents</p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="#overview" id="id23" name="id23">Overview</a><ul>
|
||||
<li><a class="reference" href="#usage" id="id24" name="id24">Usage</a></li>
|
||||
<li><a class="reference" href="#iterator-core-access" id="id25" name="id25">Iterator Core Access</a></li>
|
||||
<li><a class="reference" href="#operator" id="id26" name="id26"><tt class="docutils literal"><span class="pre">operator[]</span></tt></a></li>
|
||||
<li><a class="reference" href="#id2" id="id27" name="id27"><tt class="docutils literal"><span class="pre">operator-></span></tt></a></li>
|
||||
<li><a class="reference internal" href="#overview" id="id23">Overview</a><ul>
|
||||
<li><a class="reference internal" href="#usage" id="id24">Usage</a></li>
|
||||
<li><a class="reference internal" href="#iterator-core-access" id="id25">Iterator Core Access</a></li>
|
||||
<li><a class="reference internal" href="#operator" id="id26"><tt class="docutils literal"><span class="pre">operator[]</span></tt></a></li>
|
||||
<li><a class="reference internal" href="#id2" id="id27"><tt class="docutils literal"><span class="pre">operator-></span></tt></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#reference" id="id28" name="id28">Reference</a><ul>
|
||||
<li><a class="reference" href="#iterator-facade-requirements" id="id29" name="id29"><tt class="docutils literal"><span class="pre">iterator_facade</span></tt> Requirements</a></li>
|
||||
<li><a class="reference" href="#iterator-facade-operations" id="id30" name="id30"><tt class="docutils literal"><span class="pre">iterator_facade</span></tt> operations</a></li>
|
||||
<li><a class="reference internal" href="#reference" id="id28">Reference</a><ul>
|
||||
<li><a class="reference internal" href="#iterator-facade-requirements" id="id29"><tt class="docutils literal"><span class="pre">iterator_facade</span></tt> Requirements</a></li>
|
||||
<li><a class="reference internal" href="#iterator-facade-operations" id="id30"><tt class="docutils literal"><span class="pre">iterator_facade</span></tt> operations</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#tutorial-example" id="id31" name="id31">Tutorial Example</a><ul>
|
||||
<li><a class="reference" href="#the-problem" id="id32" name="id32">The Problem</a></li>
|
||||
<li><a class="reference" href="#a-basic-iterator-using-iterator-facade" id="id33" name="id33">A Basic Iterator Using <tt class="docutils literal"><span class="pre">iterator_facade</span></tt></a><ul>
|
||||
<li><a class="reference" href="#template-arguments-for-iterator-facade" id="id34" name="id34">Template Arguments for <tt class="docutils literal"><span class="pre">iterator_facade</span></tt></a><ul>
|
||||
<li><a class="reference" href="#derived" id="id35" name="id35"><tt class="docutils literal"><span class="pre">Derived</span></tt></a></li>
|
||||
<li><a class="reference" href="#value" id="id36" name="id36"><tt class="docutils literal"><span class="pre">Value</span></tt></a></li>
|
||||
<li><a class="reference" href="#categoryortraversal" id="id37" name="id37"><tt class="docutils literal"><span class="pre">CategoryOrTraversal</span></tt></a></li>
|
||||
<li><a class="reference" href="#id12" id="id38" name="id38"><tt class="docutils literal"><span class="pre">Reference</span></tt></a></li>
|
||||
<li><a class="reference" href="#difference" id="id39" name="id39"><tt class="docutils literal"><span class="pre">Difference</span></tt></a></li>
|
||||
<li><a class="reference internal" href="#tutorial-example" id="id31">Tutorial Example</a><ul>
|
||||
<li><a class="reference internal" href="#the-problem" id="id32">The Problem</a></li>
|
||||
<li><a class="reference internal" href="#a-basic-iterator-using-iterator-facade" id="id33">A Basic Iterator Using <tt class="docutils literal"><span class="pre">iterator_facade</span></tt></a><ul>
|
||||
<li><a class="reference internal" href="#template-arguments-for-iterator-facade" id="id34">Template Arguments for <tt class="docutils literal"><span class="pre">iterator_facade</span></tt></a><ul>
|
||||
<li><a class="reference internal" href="#derived" id="id35"><tt class="docutils literal"><span class="pre">Derived</span></tt></a></li>
|
||||
<li><a class="reference internal" href="#value" id="id36"><tt class="docutils literal"><span class="pre">Value</span></tt></a></li>
|
||||
<li><a class="reference internal" href="#categoryortraversal" id="id37"><tt class="docutils literal"><span class="pre">CategoryOrTraversal</span></tt></a></li>
|
||||
<li><a class="reference internal" href="#id12" id="id38"><tt class="docutils literal"><span class="pre">Reference</span></tt></a></li>
|
||||
<li><a class="reference internal" href="#difference" id="id39"><tt class="docutils literal"><span class="pre">Difference</span></tt></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#constructors-and-data-members" id="id40" name="id40">Constructors and Data Members</a></li>
|
||||
<li><a class="reference" href="#implementing-the-core-operations" id="id41" name="id41">Implementing the Core Operations</a></li>
|
||||
<li><a class="reference internal" href="#constructors-and-data-members" id="id40">Constructors and Data Members</a></li>
|
||||
<li><a class="reference internal" href="#implementing-the-core-operations" id="id41">Implementing the Core Operations</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#a-constant-node-iterator" id="id42" name="id42">A constant <tt class="docutils literal"><span class="pre">node_iterator</span></tt></a></li>
|
||||
<li><a class="reference" href="#interoperability" id="id43" name="id43">Interoperability</a></li>
|
||||
<li><a class="reference" href="#telling-the-truth" id="id44" name="id44">Telling the Truth</a></li>
|
||||
<li><a class="reference" href="#wrap-up" id="id45" name="id45">Wrap Up</a></li>
|
||||
<li><a class="reference internal" href="#a-constant-node-iterator" id="id42">A constant <tt class="docutils literal"><span class="pre">node_iterator</span></tt></a></li>
|
||||
<li><a class="reference internal" href="#interoperability" id="id43">Interoperability</a></li>
|
||||
<li><a class="reference internal" href="#telling-the-truth" id="id44">Telling the Truth</a></li>
|
||||
<li><a class="reference internal" href="#wrap-up" id="id45">Wrap Up</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id23" id="overview" name="overview">Overview</a></h1>
|
||||
<div class="section" id="overview">
|
||||
<h1><a class="toc-backref" href="#id23">Overview</a></h1>
|
||||
<!-- Distributed under the Boost -->
|
||||
<!-- Software License, Version 1.0. (See accompanying -->
|
||||
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
@ -392,7 +110,7 @@ include the associated types exposed through iterator traits:
|
||||
<tt class="docutils literal"><span class="pre">value_type</span></tt>, <tt class="docutils literal"><span class="pre">reference</span></tt>, <tt class="docutils literal"><span class="pre">difference_type</span></tt>, and
|
||||
<tt class="docutils literal"><span class="pre">iterator_category</span></tt>.</p>
|
||||
<p>Iterator facade uses the Curiously Recurring Template
|
||||
Pattern (CRTP) <a class="citation-reference" href="#cop95" id="id1" name="id1">[Cop95]</a> so that the user can specify the behavior
|
||||
Pattern (CRTP) <a class="citation-reference" href="#cop95" id="id1">[Cop95]</a> so that the user can specify the behavior
|
||||
of <tt class="docutils literal"><span class="pre">iterator_facade</span></tt> in a derived class. Former designs used
|
||||
policy objects to specify the behavior, but that approach was
|
||||
discarded for several reasons:</p>
|
||||
@ -415,8 +133,8 @@ iterators, and a separate <tt class="docutils literal"><span class="pre">iterato
|
||||
impossible.</li>
|
||||
</ol>
|
||||
</blockquote>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id24" id="usage" name="usage">Usage</a></h2>
|
||||
<div class="section" id="usage">
|
||||
<h2><a class="toc-backref" href="#id24">Usage</a></h2>
|
||||
<p>The user of <tt class="docutils literal"><span class="pre">iterator_facade</span></tt> derives his iterator class from a
|
||||
specialization of <tt class="docutils literal"><span class="pre">iterator_facade</span></tt> and passes the derived
|
||||
iterator class as <tt class="docutils literal"><span class="pre">iterator_facade</span></tt>'s first template parameter.
|
||||
@ -479,8 +197,8 @@ constructor. Finally, if the iterator is to model Forward Traversal
|
||||
Iterator or a more-refined iterator concept, a default constructor is
|
||||
required.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id25" id="iterator-core-access" name="iterator-core-access">Iterator Core Access</a></h2>
|
||||
<div class="section" id="iterator-core-access">
|
||||
<h2><a class="toc-backref" href="#id25">Iterator Core Access</a></h2>
|
||||
<p><tt class="docutils literal"><span class="pre">iterator_facade</span></tt> and the operator implementations need to be able
|
||||
to access the core member functions in the derived class. Making the
|
||||
core member functions public would expose an implementation detail to
|
||||
@ -513,19 +231,19 @@ standardize the gateway protocol. Note that even if
|
||||
open a safety loophole, as every core member function preserves the
|
||||
invariants of the iterator.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id26" id="operator" name="operator"><tt class="docutils literal"><span class="pre">operator[]</span></tt></a></h2>
|
||||
<div class="section" id="operator">
|
||||
<h2><a class="toc-backref" href="#id26"><tt class="docutils literal"><span class="pre">operator[]</span></tt></a></h2>
|
||||
<p>The indexing operator for a generalized iterator presents special
|
||||
challenges. A random access iterator's <tt class="docutils literal"><span class="pre">operator[]</span></tt> is only
|
||||
required to return something convertible to its <tt class="docutils literal"><span class="pre">value_type</span></tt>.
|
||||
Requiring that it return an lvalue would rule out currently-legal
|
||||
random-access iterators which hold the referenced value in a data
|
||||
member (e.g. <a class="reference" href="counting_iterator.html"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt></a>), because <tt class="docutils literal"><span class="pre">*(p+n)</span></tt> is a reference
|
||||
member (e.g. <a class="reference external" href="counting_iterator.html"><tt class="docutils literal"><span class="pre">counting_iterator</span></tt></a>), because <tt class="docutils literal"><span class="pre">*(p+n)</span></tt> is a reference
|
||||
into the temporary iterator <tt class="docutils literal"><span class="pre">p+n</span></tt>, which is destroyed when
|
||||
<tt class="docutils literal"><span class="pre">operator[]</span></tt> returns.</p>
|
||||
<p>Writable iterators built with <tt class="docutils literal"><span class="pre">iterator_facade</span></tt> implement the
|
||||
semantics required by the preferred resolution to <a class="reference" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-active.html#299">issue 299</a> and
|
||||
adopted by proposal <a class="reference" href="http://anubis.dkuug.dk/JTC1/SC22/WG21/docs/papers/2003/n1550.html">n1550</a>: the result of <tt class="docutils literal"><span class="pre">p[n]</span></tt> is an object
|
||||
semantics required by the preferred resolution to <a class="reference external" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-active.html#299">issue 299</a> and
|
||||
adopted by proposal <a class="reference external" href="http://anubis.dkuug.dk/JTC1/SC22/WG21/docs/papers/2003/n1550.html">n1550</a>: the result of <tt class="docutils literal"><span class="pre">p[n]</span></tt> is an object
|
||||
convertible to the iterator's <tt class="docutils literal"><span class="pre">value_type</span></tt>, and <tt class="docutils literal"><span class="pre">p[n]</span> <span class="pre">=</span> <span class="pre">x</span></tt> is
|
||||
equivalent to <tt class="docutils literal"><span class="pre">*(p</span> <span class="pre">+</span> <span class="pre">n)</span> <span class="pre">=</span> <span class="pre">x</span></tt> (Note: This result object may be
|
||||
implemented as a proxy containing a copy of <tt class="docutils literal"><span class="pre">p+n</span></tt>). This approach
|
||||
@ -536,8 +254,8 @@ the implementation of her iterator is free to implement an
|
||||
class; it will hide the one supplied by <tt class="docutils literal"><span class="pre">iterator_facade</span></tt> from
|
||||
clients of her iterator.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id27" id="id2" name="id2"><span id="operator-arrow"></span><tt class="docutils literal"><span class="pre">operator-></span></tt></a></h2>
|
||||
<div class="section" id="id2">
|
||||
<span id="operator-arrow"></span><h2><a class="toc-backref" href="#id27"><tt class="docutils literal"><span class="pre">operator-></span></tt></a></h2>
|
||||
<p>The <tt class="docutils literal"><span class="pre">reference</span></tt> type of a readable iterator (and today's input
|
||||
iterator) need not in fact be a reference, so long as it is
|
||||
convertible to the iterator's <tt class="docutils literal"><span class="pre">value_type</span></tt>. When the <tt class="docutils literal"><span class="pre">value_type</span></tt>
|
||||
@ -552,14 +270,14 @@ satisfied by the <tt class="docutils literal"><span class="pre">iterator_facade<
|
||||
<table class="docutils citation" frame="void" id="cop95" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a name="cop95">[Cop95]</a></td><td><em>(<a class="fn-backref" href="#id1">1</a>, <a class="fn-backref" href="#id10">2</a>)</em> [Coplien, 1995] Coplien, J., Curiously Recurring Template
|
||||
<tr><td class="label">[Cop95]</td><td><em>(<a class="fn-backref" href="#id1">1</a>, <a class="fn-backref" href="#id10">2</a>)</em> [Coplien, 1995] Coplien, J., Curiously Recurring Template
|
||||
Patterns, C++ Report, February 1995, pp. 24-27.</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id28" id="reference" name="reference">Reference</a></h1>
|
||||
<div class="section" id="reference">
|
||||
<h1><a class="toc-backref" href="#id28">Reference</a></h1>
|
||||
<!-- Distributed under the Boost -->
|
||||
<!-- Software License, Version 1.0. (See accompanying -->
|
||||
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
@ -580,11 +298,11 @@ class iterator_facade {
|
||||
typedef Reference reference;
|
||||
typedef Value* pointer;
|
||||
typedef Difference difference_type;
|
||||
typedef /* see <a class="reference" href="#iterator-category">below</a> */ iterator_category;
|
||||
typedef /* see <a class="reference internal" href="#iterator-category">below</a> */ iterator_category;
|
||||
|
||||
reference operator*() const;
|
||||
/* see <a class="reference" href="#operator-arrow">below</a> */ operator->() const;
|
||||
/* see <a class="reference" href="#brackets">below</a> */ operator[](difference_type n) const;
|
||||
/* see <a class="reference internal" href="#operator-arrow">below</a> */ operator->() const;
|
||||
/* see <a class="reference internal" href="#brackets">below</a> */ operator[](difference_type n) const;
|
||||
Derived& operator++();
|
||||
Derived operator++(int);
|
||||
Derived& operator--();
|
||||
@ -636,7 +354,7 @@ operator >=(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
// Iterator difference
|
||||
template <class Dr1, class V1, class TC1, class R1, class D1,
|
||||
class Dr2, class V2, class TC2, class R2, class D2>
|
||||
/* see <a class="reference" href="#minus">below</a> */
|
||||
/* see <a class="reference internal" href="#minus">below</a> */
|
||||
operator-(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
iterator_facade<Dr2,V2,TC2,R2,D2> const& rhs);
|
||||
|
||||
@ -688,7 +406,7 @@ Derived operator+ (typename Derived::difference_type n,
|
||||
X1 = C
|
||||
}
|
||||
|
||||
2. <a class="reference" href="new-iter-concepts.html#category-to-traversal"><em>category-to-traversal</em></a>(X) is convertible to the most
|
||||
2. <a class="reference external" href="new-iter-concepts.html#category-to-traversal"><em>category-to-traversal</em></a>(X) is convertible to the most
|
||||
derived traversal tag type to which X is also
|
||||
convertible, and not to any more-derived traversal tag
|
||||
type.
|
||||
@ -722,8 +440,8 @@ struct enable_if_interoperable
|
||||
>
|
||||
{};
|
||||
</pre>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id29" id="iterator-facade-requirements" name="iterator-facade-requirements"><tt class="docutils literal"><span class="pre">iterator_facade</span></tt> Requirements</a></h2>
|
||||
<div class="section" id="iterator-facade-requirements">
|
||||
<h2><a class="toc-backref" href="#id29"><tt class="docutils literal"><span class="pre">iterator_facade</span></tt> Requirements</a></h2>
|
||||
<p>The following table describes the typical valid expressions on
|
||||
<tt class="docutils literal"><span class="pre">iterator_facade</span></tt>'s <tt class="docutils literal"><span class="pre">Derived</span></tt> parameter, depending on the
|
||||
iterator concept(s) it will model. The operations in the first
|
||||
@ -736,8 +454,8 @@ object of type <tt class="docutils literal"><span class="pre">X</span></tt>, <tt
|
||||
object of a single pass iterator type interoperable with <tt class="docutils literal"><span class="pre">X</span></tt>, and <tt class="docutils literal"><span class="pre">z</span></tt>
|
||||
is a constant object of a random access traversal iterator type
|
||||
interoperable with <tt class="docutils literal"><span class="pre">X</span></tt>.</p>
|
||||
<div class="topic">
|
||||
<p class="topic-title first"><a id="core-operations" name="core-operations"><tt class="docutils literal"><span class="pre">iterator_facade</span></tt> Core Operations</a></p>
|
||||
<div class="topic" id="core-operations">
|
||||
<p class="topic-title first"><tt class="docutils literal"><span class="pre">iterator_facade</span></tt> Core Operations</p>
|
||||
<table border="1" class="docutils">
|
||||
<colgroup>
|
||||
<col width="21%" />
|
||||
@ -796,8 +514,8 @@ Iterator</td>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id30" id="iterator-facade-operations" name="iterator-facade-operations"><tt class="docutils literal"><span class="pre">iterator_facade</span></tt> operations</a></h2>
|
||||
<div class="section" id="iterator-facade-operations">
|
||||
<h2><a class="toc-backref" href="#id30"><tt class="docutils literal"><span class="pre">iterator_facade</span></tt> operations</a></h2>
|
||||
<p>The operations in this section are described in terms of operations on
|
||||
the core interface of <tt class="docutils literal"><span class="pre">Derived</span></tt> which may be inaccessible
|
||||
(i.e. private). The implementation should access these operations
|
||||
@ -811,7 +529,7 @@ through member functions of class <tt class="docutils literal"><span class="pre"
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p><tt class="docutils literal"><span class="pre">operator->()</span> <span class="pre">const;</span></tt> (see <a class="reference" href="#operator-arrow">below</a>)</p>
|
||||
<p><tt class="docutils literal"><span class="pre">operator->()</span> <span class="pre">const;</span></tt> (see <a class="reference internal" href="#operator-arrow">below</a>)</p>
|
||||
<table class="docutils field-list" frame="void" rules="none">
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
@ -1140,18 +858,18 @@ operator -(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id31" id="tutorial-example" name="tutorial-example">Tutorial Example</a></h1>
|
||||
<div class="section" id="tutorial-example">
|
||||
<h1><a class="toc-backref" href="#id31">Tutorial Example</a></h1>
|
||||
<!-- Copyright David Abrahams 2004. Use, modification and distribution is -->
|
||||
<!-- subject to the Boost Software License, Version 1.0. (See accompanying -->
|
||||
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
<p>In this section we'll walk through the implementation of a few
|
||||
iterators using <tt class="docutils literal"><span class="pre">iterator_facade</span></tt>, based around the simple
|
||||
example of a linked list of polymorphic objects. This example was
|
||||
inspired by a <a class="reference" href="http://thread.gmane.org/gmane.comp.lib.boost.user/5100">posting</a> by Keith Macdonald on the <a class="reference" href="../../../more/mailing_lists.htm#users">Boost-Users</a>
|
||||
inspired by a <a class="reference external" href="http://thread.gmane.org/gmane.comp.lib.boost.user/5100">posting</a> by Keith Macdonald on the <a class="reference external" href="../../../more/mailing_lists.htm#users">Boost-Users</a>
|
||||
mailing list.</p>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id32" id="the-problem" name="the-problem">The Problem</a></h2>
|
||||
<div class="section" id="the-problem">
|
||||
<h2><a class="toc-backref" href="#id32">The Problem</a></h2>
|
||||
<p>Say we've written a polymorphic linked list node base class:</p>
|
||||
<pre class="literal-block">
|
||||
# include <iostream>
|
||||
@ -1212,8 +930,8 @@ inline std::ostream& operator<<(std::ostream& s, node_base const&a
|
||||
<p>Our first challenge is to build an appropriate iterator over these
|
||||
lists.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id33" id="a-basic-iterator-using-iterator-facade" name="a-basic-iterator-using-iterator-facade">A Basic Iterator Using <tt class="docutils literal"><span class="pre">iterator_facade</span></tt></a></h2>
|
||||
<div class="section" id="a-basic-iterator-using-iterator-facade">
|
||||
<h2><a class="toc-backref" href="#id33">A Basic Iterator Using <tt class="docutils literal"><span class="pre">iterator_facade</span></tt></a></h2>
|
||||
<p>We will construct a <tt class="docutils literal"><span class="pre">node_iterator</span></tt> class using inheritance from
|
||||
<tt class="docutils literal"><span class="pre">iterator_facade</span></tt> to implement most of the iterator's operations.</p>
|
||||
<pre class="literal-block">
|
||||
@ -1226,45 +944,45 @@ class node_iterator
|
||||
...
|
||||
};
|
||||
</pre>
|
||||
<div class="section">
|
||||
<h3><a class="toc-backref" href="#id34" id="template-arguments-for-iterator-facade" name="template-arguments-for-iterator-facade">Template Arguments for <tt class="docutils literal"><span class="pre">iterator_facade</span></tt></a></h3>
|
||||
<div class="section" id="template-arguments-for-iterator-facade">
|
||||
<h3><a class="toc-backref" href="#id34">Template Arguments for <tt class="docutils literal"><span class="pre">iterator_facade</span></tt></a></h3>
|
||||
<p><tt class="docutils literal"><span class="pre">iterator_facade</span></tt> has several template parameters, so we must decide
|
||||
what types to use for the arguments. The parameters are <tt class="docutils literal"><span class="pre">Derived</span></tt>,
|
||||
<tt class="docutils literal"><span class="pre">Value</span></tt>, <tt class="docutils literal"><span class="pre">CategoryOrTraversal</span></tt>, <tt class="docutils literal"><span class="pre">Reference</span></tt>, and <tt class="docutils literal"><span class="pre">Difference</span></tt>.</p>
|
||||
<div class="section">
|
||||
<h4><a class="toc-backref" href="#id35" id="derived" name="derived"><tt class="docutils literal"><span class="pre">Derived</span></tt></a></h4>
|
||||
<div class="section" id="derived">
|
||||
<h4><a class="toc-backref" href="#id35"><tt class="docutils literal"><span class="pre">Derived</span></tt></a></h4>
|
||||
<p>Because <tt class="docutils literal"><span class="pre">iterator_facade</span></tt> is meant to be used with the CRTP
|
||||
<a class="citation-reference" href="#cop95" id="id10" name="id10">[Cop95]</a> the first parameter is the iterator class name itself,
|
||||
<a class="citation-reference" href="#cop95" id="id10">[Cop95]</a> the first parameter is the iterator class name itself,
|
||||
<tt class="docutils literal"><span class="pre">node_iterator</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h4><a class="toc-backref" href="#id36" id="value" name="value"><tt class="docutils literal"><span class="pre">Value</span></tt></a></h4>
|
||||
<div class="section" id="value">
|
||||
<h4><a class="toc-backref" href="#id36"><tt class="docutils literal"><span class="pre">Value</span></tt></a></h4>
|
||||
<p>The <tt class="docutils literal"><span class="pre">Value</span></tt> parameter determines the <tt class="docutils literal"><span class="pre">node_iterator</span></tt>'s
|
||||
<tt class="docutils literal"><span class="pre">value_type</span></tt>. In this case, we are iterating over <tt class="docutils literal"><span class="pre">node_base</span></tt>
|
||||
objects, so <tt class="docutils literal"><span class="pre">Value</span></tt> will be <tt class="docutils literal"><span class="pre">node_base</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h4><a class="toc-backref" href="#id37" id="categoryortraversal" name="categoryortraversal"><tt class="docutils literal"><span class="pre">CategoryOrTraversal</span></tt></a></h4>
|
||||
<p>Now we have to determine which <a class="reference" href="new-iter-concepts.html#iterator-traversal-concepts-lib-iterator-traversal">iterator traversal concept</a> our
|
||||
<div class="section" id="categoryortraversal">
|
||||
<h4><a class="toc-backref" href="#id37"><tt class="docutils literal"><span class="pre">CategoryOrTraversal</span></tt></a></h4>
|
||||
<p>Now we have to determine which <a class="reference external" href="new-iter-concepts.html#iterator-traversal-concepts-lib-iterator-traversal">iterator traversal concept</a> our
|
||||
<tt class="docutils literal"><span class="pre">node_iterator</span></tt> is going to model. Singly-linked lists only have
|
||||
forward links, so our iterator can't can't be a <a class="reference" href="new-iter-concepts.html#bidirectional-traversal-iterators-lib-bidirectional-traversal-iterators">bidirectional
|
||||
forward links, so our iterator can't can't be a <a class="reference external" href="new-iter-concepts.html#bidirectional-traversal-iterators-lib-bidirectional-traversal-iterators">bidirectional
|
||||
traversal iterator</a>. Our iterator should be able to make multiple
|
||||
passes over the same linked list (unlike, say, an
|
||||
<tt class="docutils literal"><span class="pre">istream_iterator</span></tt> which consumes the stream it traverses), so it
|
||||
must be a <a class="reference" href="new-iter-concepts.html#forward-traversal-iterators-lib-forward-traversal-iterators">forward traversal iterator</a>. Therefore, we'll pass
|
||||
<tt class="docutils literal"><span class="pre">boost::forward_traversal_tag</span></tt> in this position <a class="footnote-reference" href="#category" id="id11" name="id11">[1]</a>.</p>
|
||||
must be a <a class="reference external" href="new-iter-concepts.html#forward-traversal-iterators-lib-forward-traversal-iterators">forward traversal iterator</a>. Therefore, we'll pass
|
||||
<tt class="docutils literal"><span class="pre">boost::forward_traversal_tag</span></tt> in this position<a class="footnote-reference" href="#category" id="id11"><sup>1</sup></a>.</p>
|
||||
<table class="docutils footnote" frame="void" id="category" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id11" name="category">[1]</a></td><td><tt class="docutils literal"><span class="pre">iterator_facade</span></tt> also supports old-style category
|
||||
<tr><td class="label"><a class="fn-backref" href="#id11">[1]</a></td><td><tt class="docutils literal"><span class="pre">iterator_facade</span></tt> also supports old-style category
|
||||
tags, so we could have passed <tt class="docutils literal"><span class="pre">std::forward_iterator_tag</span></tt> here;
|
||||
either way, the resulting iterator's <tt class="docutils literal"><span class="pre">iterator_category</span></tt> will
|
||||
end up being <tt class="docutils literal"><span class="pre">std::forward_iterator_tag</span></tt>.</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h4><a class="toc-backref" href="#id38" id="id12" name="id12"><tt class="docutils literal"><span class="pre">Reference</span></tt></a></h4>
|
||||
<div class="section" id="id12">
|
||||
<h4><a class="toc-backref" href="#id38"><tt class="docutils literal"><span class="pre">Reference</span></tt></a></h4>
|
||||
<p>The <tt class="docutils literal"><span class="pre">Reference</span></tt> argument becomes the type returned by
|
||||
<tt class="docutils literal"><span class="pre">node_iterator</span></tt>'s dereference operation, and will also be the
|
||||
same as <tt class="docutils literal"><span class="pre">std::iterator_traits<node_iterator>::reference</span></tt>. The
|
||||
@ -1272,8 +990,8 @@ library's default for this parameter is <tt class="docutils literal"><span class
|
||||
<tt class="docutils literal"><span class="pre">node_base&</span></tt> is a good choice for the iterator's <tt class="docutils literal"><span class="pre">reference</span></tt>
|
||||
type, we can omit this argument, or pass <tt class="docutils literal"><span class="pre">use_default</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h4><a class="toc-backref" href="#id39" id="difference" name="difference"><tt class="docutils literal"><span class="pre">Difference</span></tt></a></h4>
|
||||
<div class="section" id="difference">
|
||||
<h4><a class="toc-backref" href="#id39"><tt class="docutils literal"><span class="pre">Difference</span></tt></a></h4>
|
||||
<p>The <tt class="docutils literal"><span class="pre">Difference</span></tt> argument determines how the distance between
|
||||
two <tt class="docutils literal"><span class="pre">node_iterator</span></tt>s will be measured and will also be the
|
||||
same as <tt class="docutils literal"><span class="pre">std::iterator_traits<node_iterator>::difference_type</span></tt>.
|
||||
@ -1299,15 +1017,15 @@ class node_iterator
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h3><a class="toc-backref" href="#id40" id="constructors-and-data-members" name="constructors-and-data-members">Constructors and Data Members</a></h3>
|
||||
<div class="section" id="constructors-and-data-members">
|
||||
<h3><a class="toc-backref" href="#id40">Constructors and Data Members</a></h3>
|
||||
<p>Next we need to decide how to represent the iterator's position.
|
||||
This representation will take the form of data members, so we'll
|
||||
also need to write constructors to initialize them. The
|
||||
<tt class="docutils literal"><span class="pre">node_iterator</span></tt>'s position is quite naturally represented using
|
||||
a pointer to a <tt class="docutils literal"><span class="pre">node_base</span></tt>. We'll need a constructor to build an
|
||||
iterator from a <tt class="docutils literal"><span class="pre">node_base*</span></tt>, and a default constructor to
|
||||
satisfy the <a class="reference" href="new-iter-concepts.html#forward-traversal-iterators-lib-forward-traversal-iterators">forward traversal iterator</a> requirements <a class="footnote-reference" href="#default" id="id13" name="id13">[2]</a>.
|
||||
satisfy the <a class="reference external" href="new-iter-concepts.html#forward-traversal-iterators-lib-forward-traversal-iterators">forward traversal iterator</a> requirements<a class="footnote-reference" href="#default" id="id13"><sup>2</sup></a>.
|
||||
Our <tt class="docutils literal"><span class="pre">node_iterator</span></tt> then becomes:</p>
|
||||
<pre class="literal-block">
|
||||
# include "node.hpp"
|
||||
@ -1337,20 +1055,20 @@ class node_iterator
|
||||
<table class="docutils footnote" frame="void" id="default" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id13" name="default">[2]</a></td><td>Technically, the C++ standard places almost no
|
||||
<tr><td class="label"><a class="fn-backref" href="#id13">[2]</a></td><td>Technically, the C++ standard places almost no
|
||||
requirements on a default-constructed iterator, so if we were
|
||||
really concerned with efficiency, we could've written the
|
||||
default constructor to leave <tt class="docutils literal"><span class="pre">m_node</span></tt> uninitialized.</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h3><a class="toc-backref" href="#id41" id="implementing-the-core-operations" name="implementing-the-core-operations">Implementing the Core Operations</a></h3>
|
||||
<p>The last step is to implement the <a class="reference" href="#core-operations">core operations</a> required by
|
||||
<div class="section" id="implementing-the-core-operations">
|
||||
<h3><a class="toc-backref" href="#id41">Implementing the Core Operations</a></h3>
|
||||
<p>The last step is to implement the <a class="reference internal" href="#core-operations">core operations</a> required by
|
||||
the concepts we want our iterator to model. Referring to the
|
||||
<a class="reference" href="#core-operations">table</a>, we can see that the first three rows are applicable
|
||||
<a class="reference internal" href="#core-operations">table</a>, we can see that the first three rows are applicable
|
||||
because <tt class="docutils literal"><span class="pre">node_iterator</span></tt> needs to satisfy the requirements for
|
||||
<a class="reference" href="new-iter-concepts.html#readable-iterators-lib-readable-iterators">readable iterator</a>, <a class="reference" href="new-iter-concepts.html#single-pass-iterators-lib-single-pass-iterators">single pass iterator</a>, and <a class="reference" href="new-iter-concepts.html#incrementable-iterators-lib-incrementable-iterators">incrementable
|
||||
<a class="reference external" href="new-iter-concepts.html#readable-iterators-lib-readable-iterators">readable iterator</a>, <a class="reference external" href="new-iter-concepts.html#single-pass-iterators-lib-single-pass-iterators">single pass iterator</a>, and <a class="reference external" href="new-iter-concepts.html#incrementable-iterators-lib-incrementable-iterators">incrementable
|
||||
iterator</a>.</p>
|
||||
<p>We therefore need to supply <tt class="docutils literal"><span class="pre">dereference</span></tt>,
|
||||
<tt class="docutils literal"><span class="pre">equal</span></tt>, and <tt class="docutils literal"><span class="pre">increment</span></tt> members. We don't want these members
|
||||
@ -1392,11 +1110,11 @@ class node_iterator
|
||||
};
|
||||
</pre>
|
||||
<p>Voilà; a complete and conforming readable, forward-traversal
|
||||
iterator! For a working example of its use, see <a class="reference" href="../example/node_iterator1.cpp">this program</a>.</p>
|
||||
iterator! For a working example of its use, see <a class="reference external" href="../example/node_iterator1.cpp">this program</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id42" id="a-constant-node-iterator" name="a-constant-node-iterator">A constant <tt class="docutils literal"><span class="pre">node_iterator</span></tt></a></h2>
|
||||
<div class="section" id="a-constant-node-iterator">
|
||||
<h2><a class="toc-backref" href="#id42">A constant <tt class="docutils literal"><span class="pre">node_iterator</span></tt></a></h2>
|
||||
<div class="sidebar">
|
||||
<p class="first sidebar-title">Constant and Mutable iterators</p>
|
||||
<p>The term <strong>mutable iterator</strong> means an iterator through which
|
||||
@ -1496,8 +1214,8 @@ typedef node_iter<node_base> node_iterator;
|
||||
typedef node_iter<node_base const> node_const_iterator;
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id43" id="interoperability" name="interoperability">Interoperability</a></h2>
|
||||
<div class="section" id="interoperability">
|
||||
<h2><a class="toc-backref" href="#id43">Interoperability</a></h2>
|
||||
<p>Our <tt class="docutils literal"><span class="pre">const_node_iterator</span></tt> works perfectly well on its own, but
|
||||
taken together with <tt class="docutils literal"><span class="pre">node_iterator</span></tt> it doesn't quite meet
|
||||
expectations. For example, we'd like to be able to pass a
|
||||
@ -1507,9 +1225,9 @@ just as you can with <tt class="docutils literal"><span class="pre">std::list<
|
||||
<tt class="docutils literal"><span class="pre">node_const_iterator</span></tt> into the same list, we should be able to
|
||||
compare them for equality.</p>
|
||||
<p>This expected ability to use two different iterator types together
|
||||
is known as <a class="reference" href="new-iter-concepts.html#interoperable-iterators-lib-interoperable-iterators"><strong>interoperability</strong></a>. Achieving interoperability in
|
||||
is known as <a class="reference external" href="new-iter-concepts.html#interoperable-iterators-lib-interoperable-iterators"><strong>interoperability</strong></a>. Achieving interoperability in
|
||||
our case is as simple as templatizing the <tt class="docutils literal"><span class="pre">equal</span></tt> function and
|
||||
adding a templatized converting constructor <a class="footnote-reference" href="#broken" id="id16" name="id16">[3]</a> <a class="footnote-reference" href="#random" id="id17" name="id17">[4]</a>:</p>
|
||||
adding a templatized converting constructor<a class="footnote-reference" href="#broken" id="id16"><sup>3</sup></a><a class="footnote-reference" href="#random" id="id17"><sup>4</sup></a>:</p>
|
||||
<pre class="literal-block">
|
||||
template <class Value>
|
||||
class node_iter
|
||||
@ -1554,23 +1272,23 @@ typedef impl::node_iterator<node_base const> node_const_iterator;
|
||||
<table class="docutils footnote" frame="void" id="broken" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id16" name="broken">[3]</a></td><td>If you're using an older compiler and it can't handle
|
||||
this example, see the <a class="reference" href="../example/node_iterator2.hpp">example code</a> for workarounds.</td></tr>
|
||||
<tr><td class="label"><a class="fn-backref" href="#id16">[3]</a></td><td>If you're using an older compiler and it can't handle
|
||||
this example, see the <a class="reference external" href="../example/node_iterator2.hpp">example code</a> for workarounds.</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="docutils footnote" frame="void" id="random" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id17" name="random">[4]</a></td><td>If <tt class="docutils literal"><span class="pre">node_iterator</span></tt> had been a <a class="reference" href="new-iter-concepts.html#random-access-traversal-iterators-lib-random-access-traversal-iterators">random access
|
||||
<tr><td class="label"><a class="fn-backref" href="#id17">[4]</a></td><td>If <tt class="docutils literal"><span class="pre">node_iterator</span></tt> had been a <a class="reference external" href="new-iter-concepts.html#random-access-traversal-iterators-lib-random-access-traversal-iterators">random access
|
||||
traversal iterator</a>, we'd have had to templatize its
|
||||
<tt class="docutils literal"><span class="pre">distance_to</span></tt> function as well.</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>You can see an example program which exercises our interoperable
|
||||
iterators <a class="reference" href="../example/node_iterator2.cpp">here</a>.</p>
|
||||
iterators <a class="reference external" href="../example/node_iterator2.cpp">here</a>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id44" id="telling-the-truth" name="telling-the-truth">Telling the Truth</a></h2>
|
||||
<div class="section" id="telling-the-truth">
|
||||
<h2><a class="toc-backref" href="#id44">Telling the Truth</a></h2>
|
||||
<p>Now <tt class="docutils literal"><span class="pre">node_iterator</span></tt> and <tt class="docutils literal"><span class="pre">node_const_iterator</span></tt> behave exactly as
|
||||
you'd expect... almost. We can compare them and we can convert in
|
||||
one direction: from <tt class="docutils literal"><span class="pre">node_iterator</span></tt> to <tt class="docutils literal"><span class="pre">node_const_iterator</span></tt>.
|
||||
@ -1579,15 +1297,15 @@ If we try to convert from <tt class="docutils literal"><span class="pre">node_co
|
||||
constructor tries to initialize <tt class="docutils literal"><span class="pre">node_iterator</span></tt>'s <tt class="docutils literal"><span class="pre">m_node</span></tt>, a
|
||||
<tt class="docutils literal"><span class="pre">node*</span></tt> with a <tt class="docutils literal"><span class="pre">node</span> <span class="pre">const*</span></tt>. So what's the problem?</p>
|
||||
<p>The problem is that
|
||||
<tt class="docutils literal"><span class="pre">boost::</span></tt><a class="reference" href="../../type_traits/index.html#relationships"><tt class="docutils literal"><span class="pre">is_convertible</span></tt></a><tt class="docutils literal"><span class="pre"><node_const_iterator,node_iterator>::value</span></tt>
|
||||
will be <tt class="docutils literal"><span class="pre">true</span></tt>, but it should be <tt class="docutils literal"><span class="pre">false</span></tt>. <a class="reference" href="../../type_traits/index.html#relationships"><tt class="docutils literal"><span class="pre">is_convertible</span></tt></a>
|
||||
<tt class="docutils literal"><span class="pre">boost::</span></tt><a class="reference external" href="../../type_traits/index.html#relationships"><tt class="docutils literal"><span class="pre">is_convertible</span></tt></a><tt class="docutils literal"><span class="pre"><node_const_iterator,node_iterator>::value</span></tt>
|
||||
will be <tt class="docutils literal"><span class="pre">true</span></tt>, but it should be <tt class="docutils literal"><span class="pre">false</span></tt>. <a class="reference external" href="../../type_traits/index.html#relationships"><tt class="docutils literal"><span class="pre">is_convertible</span></tt></a>
|
||||
lies because it can only see as far as the <em>declaration</em> of
|
||||
<tt class="docutils literal"><span class="pre">node_iter</span></tt>'s converting constructor, but can't look inside at
|
||||
the <em>definition</em> to make sure it will compile. A perfect solution
|
||||
would make <tt class="docutils literal"><span class="pre">node_iter</span></tt>'s converting constructor disappear when
|
||||
the <tt class="docutils literal"><span class="pre">m_node</span></tt> conversion would fail.</p>
|
||||
<p>In fact, that sort of magic is possible using
|
||||
<a class="reference" href="../../utility/enable_if.html"><tt class="docutils literal"><span class="pre">boost::enable_if</span></tt></a>. By rewriting the converting constructor as
|
||||
<a class="reference external" href="../../utility/enable_if.html"><tt class="docutils literal"><span class="pre">boost::enable_if</span></tt></a>. By rewriting the converting constructor as
|
||||
follows, we can remove it from the overload set when it's not
|
||||
appropriate:</p>
|
||||
<pre class="literal-block">
|
||||
@ -1611,14 +1329,20 @@ public:
|
||||
: m_node(other.m_node) {}
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id45" id="wrap-up" name="wrap-up">Wrap Up</a></h2>
|
||||
<div class="section" id="wrap-up">
|
||||
<h2><a class="toc-backref" href="#id45">Wrap Up</a></h2>
|
||||
<p>This concludes our <tt class="docutils literal"><span class="pre">iterator_facade</span></tt> tutorial, but before you
|
||||
stop reading we urge you to take a look at <a class="reference" href="iterator_adaptor.html"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt></a>.
|
||||
stop reading we urge you to take a look at <a class="reference external" href="iterator_adaptor.html"><tt class="docutils literal"><span class="pre">iterator_adaptor</span></tt></a>.
|
||||
There's another way to approach writing these iterators which might
|
||||
even be superior.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="iterator_facade.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,13 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Iterator Traits</title>
|
||||
<meta name="author" content="David Abrahams" />
|
||||
<meta name="organization" content="Boost Consulting" />
|
||||
<meta name="date" content="2004-11-01" />
|
||||
<meta name="date" content="2006-09-11" />
|
||||
<meta name="copyright" content="Copyright David Abrahams 2004." />
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="iterator-traits">
|
||||
@ -303,11 +21,11 @@ ul.auto-toc {
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>David Abrahams</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first last reference" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a></td></tr>
|
||||
<td><a class="first last reference external" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first last reference" href="http://www.boost-consulting.com">Boost Consulting</a></td></tr>
|
||||
<td><a class="first last reference external" href="http://www.boost-consulting.com">Boost Consulting</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2004-11-01</td></tr>
|
||||
<td>2006-09-11</td></tr>
|
||||
<tr><th class="docinfo-name">Copyright:</th>
|
||||
<td>Copyright David Abrahams 2004.</td></tr>
|
||||
</tbody>
|
||||
@ -321,21 +39,21 @@ ul.auto-toc {
|
||||
<tbody valign="top">
|
||||
<tr class="field"><th class="field-name">abstract:</th><td class="field-body">Header <tt class="docutils literal"><span class="pre"><boost/iterator/iterator_traits.hpp></span></tt> provides
|
||||
the ability to access an iterator's associated types using
|
||||
MPL-compatible <a class="reference" href="../../mpl/doc/index.html#metafunctions">metafunctions</a>.</td>
|
||||
MPL-compatible <a class="reference external" href="../../mpl/doc/index.html#metafunctions">metafunctions</a>.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="section">
|
||||
<h1><a id="overview" name="overview">Overview</a></h1>
|
||||
<div class="section" id="overview">
|
||||
<h1>Overview</h1>
|
||||
<p><tt class="docutils literal"><span class="pre">std::iterator_traits</span></tt> provides access to five associated types
|
||||
of any iterator: its <tt class="docutils literal"><span class="pre">value_type</span></tt>, <tt class="docutils literal"><span class="pre">reference</span></tt>, <tt class="docutils literal"><span class="pre">pointer</span></tt>,
|
||||
<tt class="docutils literal"><span class="pre">iterator_category</span></tt>, and <tt class="docutils literal"><span class="pre">difference_type</span></tt>. Unfortunately,
|
||||
such a "multi-valued" traits template can be difficult to use in a
|
||||
metaprogramming context. <tt class="docutils literal"><span class="pre"><boost/iterator/iterator_traits.hpp></span></tt>
|
||||
provides access to these types using a standard <a class="reference" href="../../mpl/doc/index.html#metafunctions">metafunctions</a>.</p>
|
||||
provides access to these types using a standard <a class="reference external" href="../../mpl/doc/index.html#metafunctions">metafunctions</a>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a id="summary" name="summary">Summary</a></h1>
|
||||
<div class="section" id="summary">
|
||||
<h1>Summary</h1>
|
||||
<p>Header <tt class="docutils literal"><span class="pre"><boost/iterator/iterator_traits.hpp></span></tt>:</p>
|
||||
<pre class="literal-block">
|
||||
template <class Iterator>
|
||||
@ -380,14 +98,14 @@ struct iterator_category
|
||||
};
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a id="broken-compiler-notes" name="broken-compiler-notes">Broken Compiler Notes</a></h1>
|
||||
<div class="section" id="broken-compiler-notes">
|
||||
<h1>Broken Compiler Notes</h1>
|
||||
<p>Because of workarounds in Boost, you may find that these
|
||||
<a class="reference" href="../../mpl/doc/index.html#metafunctions">metafunctions</a> actually work better than the facilities provided by
|
||||
<a class="reference external" href="../../mpl/doc/index.html#metafunctions">metafunctions</a> actually work better than the facilities provided by
|
||||
your compiler's standard library.</p>
|
||||
<p>On compilers that don't support partial specialization, such as
|
||||
Microsoft Visual C++ 6.0 or 7.0, you may need to manually invoke
|
||||
<a class="reference" href="../../type_traits/index.html#transformations">BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION</a> on the
|
||||
<a class="reference external" href="../../type_traits/index.html#transformations">BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION</a> on the
|
||||
<tt class="docutils literal"><span class="pre">value_type</span></tt> of pointers that are passed to these metafunctions.</p>
|
||||
<p>Because of bugs in the implementation of GCC-2.9x, the name of
|
||||
<tt class="docutils literal"><span class="pre">iterator_category</span></tt> is changed to <tt class="docutils literal"><span class="pre">iterator_category_</span></tt> on that
|
||||
@ -395,6 +113,12 @@ compiler. A macro, <tt class="docutils literal"><span class="pre">BOOST_ITERATO
|
||||
either <tt class="docutils literal"><span class="pre">iterator_category</span></tt> or <tt class="docutils literal"><span class="pre">iterator_category_</span></tt>, as
|
||||
appropriate to the platform, is provided for portability.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="iterator_traits.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,13 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>New Iterator Concepts</title>
|
||||
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, Zephyr Associates, Inc." />
|
||||
<meta name="date" content="2006-04-30" />
|
||||
<meta name="date" content="2006-09-11" />
|
||||
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003." />
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="new-iterator-concepts">
|
||||
@ -303,16 +21,16 @@ ul.auto-toc {
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>David Abrahams, Jeremy Siek, Thomas Witt</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first reference" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference" href="mailto:witt@styleadvisor.com">witt@styleadvisor.com</a></td></tr>
|
||||
<td><a class="first reference external" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference external" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference external" href="mailto:witt@styleadvisor.com">witt@styleadvisor.com</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, <a class="last reference" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr>
|
||||
<td><a class="first reference external" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference external" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, <a class="last reference external" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2006-04-30</td></tr>
|
||||
<tr class="field"><th class="docinfo-name">Number:</th><td class="field-body">This is a revised version of <a class="reference" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1550.html">n1550</a>=03-0133, which was
|
||||
<td>2006-09-11</td></tr>
|
||||
<tr class="field"><th class="docinfo-name">Number:</th><td class="field-body">This is a revised version of <a class="reference external" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1550.html">n1550</a>=03-0133, which was
|
||||
accepted for Technical Report 1 by the C++ standard
|
||||
committee's library working group. This proposal is a
|
||||
revision of paper <a class="reference" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2001/n1297.html">n1297</a>, <a class="reference" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1477.html">n1477</a>, and <a class="reference" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1531.html">n1531</a>.</td>
|
||||
revision of paper <a class="reference external" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2001/n1297.html">n1297</a>, <a class="reference external" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1477.html">n1477</a>, and <a class="reference external" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1531.html">n1531</a>.</td>
|
||||
</tr>
|
||||
<tr><th class="docinfo-name">Copyright:</th>
|
||||
<td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt
|
||||
@ -336,49 +54,49 @@ of iterators that are used in practice.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="contents topic">
|
||||
<p class="topic-title first"><a id="table-of-contents" name="table-of-contents">Table of Contents</a></p>
|
||||
<div class="contents topic" id="table-of-contents">
|
||||
<p class="topic-title first">Table of Contents</p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="#motivation" id="id1" name="id1">Motivation</a></li>
|
||||
<li><a class="reference" href="#impact-on-the-standard" id="id2" name="id2">Impact on the Standard</a><ul>
|
||||
<li><a class="reference" href="#possible-but-not-proposed-changes-to-the-working-paper" id="id3" name="id3">Possible (but not proposed) Changes to the Working Paper</a><ul>
|
||||
<li><a class="reference" href="#changes-to-algorithm-requirements" id="id4" name="id4">Changes to Algorithm Requirements</a></li>
|
||||
<li><a class="reference" href="#deprecations" id="id5" name="id5">Deprecations</a></li>
|
||||
<li><a class="reference" href="#vector-bool" id="id6" name="id6"><tt class="docutils literal"><span class="pre">vector<bool></span></tt></a></li>
|
||||
<li><a class="reference internal" href="#motivation" id="id1">Motivation</a></li>
|
||||
<li><a class="reference internal" href="#impact-on-the-standard" id="id2">Impact on the Standard</a><ul>
|
||||
<li><a class="reference internal" href="#possible-but-not-proposed-changes-to-the-working-paper" id="id3">Possible (but not proposed) Changes to the Working Paper</a><ul>
|
||||
<li><a class="reference internal" href="#changes-to-algorithm-requirements" id="id4">Changes to Algorithm Requirements</a></li>
|
||||
<li><a class="reference internal" href="#deprecations" id="id5">Deprecations</a></li>
|
||||
<li><a class="reference internal" href="#vector-bool" id="id6"><tt class="docutils literal"><span class="pre">vector<bool></span></tt></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#design" id="id7" name="id7">Design</a></li>
|
||||
<li><a class="reference" href="#proposed-text" id="id8" name="id8">Proposed Text</a><ul>
|
||||
<li><a class="reference" href="#addition-to-lib-iterator-requirements" id="id9" name="id9">Addition to [lib.iterator.requirements]</a><ul>
|
||||
<li><a class="reference" href="#iterator-value-access-concepts-lib-iterator-value-access" id="id10" name="id10">Iterator Value Access Concepts [lib.iterator.value.access]</a><ul>
|
||||
<li><a class="reference" href="#readable-iterators-lib-readable-iterators" id="id11" name="id11">Readable Iterators [lib.readable.iterators]</a></li>
|
||||
<li><a class="reference" href="#writable-iterators-lib-writable-iterators" id="id12" name="id12">Writable Iterators [lib.writable.iterators]</a></li>
|
||||
<li><a class="reference" href="#swappable-iterators-lib-swappable-iterators" id="id13" name="id13">Swappable Iterators [lib.swappable.iterators]</a></li>
|
||||
<li><a class="reference" href="#lvalue-iterators-lib-lvalue-iterators" id="id14" name="id14">Lvalue Iterators [lib.lvalue.iterators]</a></li>
|
||||
<li><a class="reference internal" href="#design" id="id7">Design</a></li>
|
||||
<li><a class="reference internal" href="#proposed-text" id="id8">Proposed Text</a><ul>
|
||||
<li><a class="reference internal" href="#addition-to-lib-iterator-requirements" id="id9">Addition to [lib.iterator.requirements]</a><ul>
|
||||
<li><a class="reference internal" href="#iterator-value-access-concepts-lib-iterator-value-access" id="id10">Iterator Value Access Concepts [lib.iterator.value.access]</a><ul>
|
||||
<li><a class="reference internal" href="#readable-iterators-lib-readable-iterators" id="id11">Readable Iterators [lib.readable.iterators]</a></li>
|
||||
<li><a class="reference internal" href="#writable-iterators-lib-writable-iterators" id="id12">Writable Iterators [lib.writable.iterators]</a></li>
|
||||
<li><a class="reference internal" href="#swappable-iterators-lib-swappable-iterators" id="id13">Swappable Iterators [lib.swappable.iterators]</a></li>
|
||||
<li><a class="reference internal" href="#lvalue-iterators-lib-lvalue-iterators" id="id14">Lvalue Iterators [lib.lvalue.iterators]</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#iterator-traversal-concepts-lib-iterator-traversal" id="id15" name="id15">Iterator Traversal Concepts [lib.iterator.traversal]</a><ul>
|
||||
<li><a class="reference" href="#incrementable-iterators-lib-incrementable-iterators" id="id16" name="id16">Incrementable Iterators [lib.incrementable.iterators]</a></li>
|
||||
<li><a class="reference" href="#single-pass-iterators-lib-single-pass-iterators" id="id17" name="id17">Single Pass Iterators [lib.single.pass.iterators]</a></li>
|
||||
<li><a class="reference" href="#forward-traversal-iterators-lib-forward-traversal-iterators" id="id18" name="id18">Forward Traversal Iterators [lib.forward.traversal.iterators]</a></li>
|
||||
<li><a class="reference" href="#bidirectional-traversal-iterators-lib-bidirectional-traversal-iterators" id="id19" name="id19">Bidirectional Traversal Iterators [lib.bidirectional.traversal.iterators]</a></li>
|
||||
<li><a class="reference" href="#random-access-traversal-iterators-lib-random-access-traversal-iterators" id="id20" name="id20">Random Access Traversal Iterators [lib.random.access.traversal.iterators]</a></li>
|
||||
<li><a class="reference" href="#interoperable-iterators-lib-interoperable-iterators" id="id21" name="id21">Interoperable Iterators [lib.interoperable.iterators]</a></li>
|
||||
<li><a class="reference internal" href="#iterator-traversal-concepts-lib-iterator-traversal" id="id15">Iterator Traversal Concepts [lib.iterator.traversal]</a><ul>
|
||||
<li><a class="reference internal" href="#incrementable-iterators-lib-incrementable-iterators" id="id16">Incrementable Iterators [lib.incrementable.iterators]</a></li>
|
||||
<li><a class="reference internal" href="#single-pass-iterators-lib-single-pass-iterators" id="id17">Single Pass Iterators [lib.single.pass.iterators]</a></li>
|
||||
<li><a class="reference internal" href="#forward-traversal-iterators-lib-forward-traversal-iterators" id="id18">Forward Traversal Iterators [lib.forward.traversal.iterators]</a></li>
|
||||
<li><a class="reference internal" href="#bidirectional-traversal-iterators-lib-bidirectional-traversal-iterators" id="id19">Bidirectional Traversal Iterators [lib.bidirectional.traversal.iterators]</a></li>
|
||||
<li><a class="reference internal" href="#random-access-traversal-iterators-lib-random-access-traversal-iterators" id="id20">Random Access Traversal Iterators [lib.random.access.traversal.iterators]</a></li>
|
||||
<li><a class="reference internal" href="#interoperable-iterators-lib-interoperable-iterators" id="id21">Interoperable Iterators [lib.interoperable.iterators]</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#addition-to-lib-iterator-synopsis" id="id22" name="id22">Addition to [lib.iterator.synopsis]</a></li>
|
||||
<li><a class="reference" href="#addition-to-lib-iterator-traits" id="id23" name="id23">Addition to [lib.iterator.traits]</a></li>
|
||||
<li><a class="reference internal" href="#addition-to-lib-iterator-synopsis" id="id22">Addition to [lib.iterator.synopsis]</a></li>
|
||||
<li><a class="reference internal" href="#addition-to-lib-iterator-traits" id="id23">Addition to [lib.iterator.traits]</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#footnotes" id="id24" name="id24">Footnotes</a></li>
|
||||
<li><a class="reference internal" href="#footnotes" id="id24">Footnotes</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id1" id="motivation" name="motivation">Motivation</a></h1>
|
||||
<div class="section" id="motivation">
|
||||
<h1><a class="toc-backref" href="#id1">Motivation</a></h1>
|
||||
<p>The standard iterator categories and requirements are flawed because
|
||||
they use a single hierarchy of concepts to address two orthogonal
|
||||
issues: <em>iterator traversal</em> and <em>value access</em>. As a result, many
|
||||
@ -409,12 +127,12 @@ requirements in the iterator categories.</p>
|
||||
<td><tt class="docutils literal"><span class="pre">*i</span></tt> is convertible to <tt class="docutils literal"><span class="pre">T</span></tt></td>
|
||||
</tr>
|
||||
<tr><td>Forward Iterator</td>
|
||||
<td><tt class="docutils literal"><span class="pre">*i</span></tt> is <tt class="docutils literal"><span class="pre">T&</span></tt> (or <tt class="docutils literal"><span class="pre">const</span> <span class="pre">T&</span></tt> once <a class="reference" href="http://anubis.dkuug.dk/JTC1/SC22/WG21/docs/lwg-active.html#200">issue 200</a>
|
||||
<td><tt class="docutils literal"><span class="pre">*i</span></tt> is <tt class="docutils literal"><span class="pre">T&</span></tt> (or <tt class="docutils literal"><span class="pre">const</span> <span class="pre">T&</span></tt> once <a class="reference external" href="http://anubis.dkuug.dk/JTC1/SC22/WG21/docs/lwg-active.html#200">issue 200</a>
|
||||
is resolved)</td>
|
||||
</tr>
|
||||
<tr><td>Random Access Iterator</td>
|
||||
<td><tt class="docutils literal"><span class="pre">i[n]</span></tt> is convertible to <tt class="docutils literal"><span class="pre">T</span></tt> (also <tt class="docutils literal"><span class="pre">i[n]</span> <span class="pre">=</span> <span class="pre">t</span></tt>
|
||||
is required for mutable iterators once <a class="reference" href="http://anubis.dkuug.dk/JTC1/SC22/WG21/docs/lwg-active.html#299">issue 299</a>
|
||||
is required for mutable iterators once <a class="reference external" href="http://anubis.dkuug.dk/JTC1/SC22/WG21/docs/lwg-active.html#299">issue 299</a>
|
||||
is resolved)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@ -423,7 +141,7 @@ is resolved)</td>
|
||||
single hierarchy, many useful iterators can not be appropriately
|
||||
categorized. For example, <tt class="docutils literal"><span class="pre">vector<bool>::iterator</span></tt> is almost a
|
||||
random access iterator, but the return type is not <tt class="docutils literal"><span class="pre">bool&</span></tt> (see
|
||||
<a class="reference" href="http://anubis.dkuug.dk/JTC1/SC22/WG21/docs/lwg-active.html#96">issue 96</a> and Herb Sutter's paper J16/99-0008 = WG21
|
||||
<a class="reference external" href="http://anubis.dkuug.dk/JTC1/SC22/WG21/docs/lwg-active.html#96">issue 96</a> and Herb Sutter's paper J16/99-0008 = WG21
|
||||
N1185). Therefore, the iterators of <tt class="docutils literal"><span class="pre">vector<bool></span></tt> only meet the
|
||||
requirements of input iterator and output iterator. This is so
|
||||
nonintuitive that the C++ standard contradicts itself on this point.
|
||||
@ -431,7 +149,7 @@ In paragraph 23.2.4/1 it says that a <tt class="docutils literal"><span class="p
|
||||
supports random access iterators.</p>
|
||||
<p>Another difficult-to-categorize iterator is the transform iterator, an
|
||||
adaptor which applies a unary function object to the dereferenced
|
||||
value of the some underlying iterator (see <a class="reference" href="http://www.boost.org/libs/utility/transform_iterator.htm">transform_iterator</a>).
|
||||
value of the some underlying iterator (see <a class="reference external" href="http://www.boost.org/libs/utility/transform_iterator.htm">transform_iterator</a>).
|
||||
For unary functions such as <tt class="docutils literal"><span class="pre">times</span></tt>, the return type of
|
||||
<tt class="docutils literal"><span class="pre">operator*</span></tt> clearly needs to be the <tt class="docutils literal"><span class="pre">result_type</span></tt> of the function
|
||||
object, which is typically not a reference. Because random access
|
||||
@ -439,13 +157,13 @@ iterators are required to return lvalues from <tt class="docutils literal"><span
|
||||
wrap <tt class="docutils literal"><span class="pre">int*</span></tt> with a transform iterator, you do not get a random
|
||||
access iterator as might be expected, but an input iterator.</p>
|
||||
<p>A third example is found in the vertex and edge iterators of the
|
||||
<a class="reference" href="http://www.boost.org/libs/graph/doc/table_of_contents.html">Boost Graph Library</a>. These iterators return vertex and edge
|
||||
<a class="reference external" href="http://www.boost.org/libs/graph/doc/table_of_contents.html">Boost Graph Library</a>. These iterators return vertex and edge
|
||||
descriptors, which are lightweight handles created on-the-fly. They
|
||||
must be returned by-value. As a result, their current standard
|
||||
iterator category is <tt class="docutils literal"><span class="pre">input_iterator_tag</span></tt>, which means that,
|
||||
strictly speaking, you could not use these iterators with algorithms
|
||||
like <tt class="docutils literal"><span class="pre">min_element()</span></tt>. As a temporary solution, the concept
|
||||
<a class="reference" href="http://www.boost.org/libs/utility/MultiPassInputIterator.html">Multi-Pass Input Iterator</a> was introduced to describe the vertex and
|
||||
<a class="reference external" href="http://www.boost.org/libs/utility/MultiPassInputIterator.html">Multi-Pass Input Iterator</a> was introduced to describe the vertex and
|
||||
edge descriptors, but as the design notes for the concept suggest, a
|
||||
better solution is needed.</p>
|
||||
<p>In short, there are many useful iterators that do not fit into the
|
||||
@ -458,8 +176,8 @@ cannot separate the need for random access or bidirectional
|
||||
traversal from the need for a true reference return type.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id2" id="impact-on-the-standard" name="impact-on-the-standard">Impact on the Standard</a></h1>
|
||||
<div class="section" id="impact-on-the-standard">
|
||||
<h1><a class="toc-backref" href="#id2">Impact on the Standard</a></h1>
|
||||
<p>This proposal for TR1 is a pure extension. Further, the new iterator
|
||||
concepts are backward-compatible with the old iterator requirements,
|
||||
and old iterators are forward-compatible with the new iterator
|
||||
@ -474,13 +192,13 @@ made it). -DWA -->
|
||||
standards conforming input iterator is allowed to have
|
||||
a tag that is not input_iterator_tag but that
|
||||
is convertible to input_iterator_tag? -JGS -->
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id3" id="possible-but-not-proposed-changes-to-the-working-paper" name="possible-but-not-proposed-changes-to-the-working-paper">Possible (but not proposed) Changes to the Working Paper</a></h2>
|
||||
<div class="section" id="possible-but-not-proposed-changes-to-the-working-paper">
|
||||
<h2><a class="toc-backref" href="#id3">Possible (but not proposed) Changes to the Working Paper</a></h2>
|
||||
<p>The extensions in this paper suggest several changes we might make
|
||||
to the working paper for the next standard. These changes are not
|
||||
a formal part of this proposal for TR1.</p>
|
||||
<div class="section">
|
||||
<h3><a class="toc-backref" href="#id4" id="changes-to-algorithm-requirements" name="changes-to-algorithm-requirements">Changes to Algorithm Requirements</a></h3>
|
||||
<div class="section" id="changes-to-algorithm-requirements">
|
||||
<h3><a class="toc-backref" href="#id4">Changes to Algorithm Requirements</a></h3>
|
||||
<p>The algorithms in the standard library could benefit from the new
|
||||
iterator concepts because the new concepts provide a more accurate way
|
||||
to express their type requirements. The result is algorithms that are
|
||||
@ -544,15 +262,15 @@ Bidirectional Iterator (2) -> Bidirectional Traversal Iterator and Writable I
|
||||
<dd><tt class="docutils literal"><span class="pre">transform</span></tt></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h3><a class="toc-backref" href="#id5" id="deprecations" name="deprecations">Deprecations</a></h3>
|
||||
<div class="section" id="deprecations">
|
||||
<h3><a class="toc-backref" href="#id5">Deprecations</a></h3>
|
||||
<p>For the next working paper (but not for TR1), the committee should
|
||||
consider deprecating the old iterator tags, and
|
||||
std::iterator_traits, since it will be superceded by individual
|
||||
traits metafunctions.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h3><a class="toc-backref" href="#id6" id="vector-bool" name="vector-bool"><tt class="docutils literal"><span class="pre">vector<bool></span></tt></a></h3>
|
||||
<div class="section" id="vector-bool">
|
||||
<h3><a class="toc-backref" href="#id6"><tt class="docutils literal"><span class="pre">vector<bool></span></tt></a></h3>
|
||||
<p>For the next working paper (but not for TR1), the committee should
|
||||
consider reclassifying <tt class="docutils literal"><span class="pre">vector<bool>::iterator</span></tt> as a Random
|
||||
Access Traversal Iterator and Readable Iterator and Writable
|
||||
@ -560,8 +278,8 @@ Iterator.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id7" id="design" name="design">Design</a></h1>
|
||||
<div class="section" id="design">
|
||||
<h1><a class="toc-backref" href="#id7">Design</a></h1>
|
||||
<p>The iterator requirements are to be separated into two groups. One set
|
||||
of concepts handles the syntax and semantics of value access:</p>
|
||||
<ul class="simple">
|
||||
@ -626,24 +344,24 @@ approach for specifying <tt class="docutils literal"><span class="pre">operator[
|
||||
direction would mean that an iterator satisfying the old Random Access
|
||||
Iterator requirements would not necessarily be a model of Readable or
|
||||
Writable Lvalue Iterator. Instead we have chosen a design that
|
||||
matches the preferred resolution of <a class="reference" href="http://anubis.dkuug.dk/JTC1/SC22/WG21/docs/lwg-active.html#299">issue 299</a>: <tt class="docutils literal"><span class="pre">operator[]</span></tt> is
|
||||
matches the preferred resolution of <a class="reference external" href="http://anubis.dkuug.dk/JTC1/SC22/WG21/docs/lwg-active.html#299">issue 299</a>: <tt class="docutils literal"><span class="pre">operator[]</span></tt> is
|
||||
only required to return something convertible to the <tt class="docutils literal"><span class="pre">value_type</span></tt>
|
||||
(for a Readable Iterator), and is required to support assignment
|
||||
<tt class="docutils literal"><span class="pre">i[n]</span> <span class="pre">=</span> <span class="pre">t</span></tt> (for a Writable Iterator).</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id8" id="proposed-text" name="proposed-text">Proposed Text</a></h1>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id9" id="addition-to-lib-iterator-requirements" name="addition-to-lib-iterator-requirements">Addition to [lib.iterator.requirements]</a></h2>
|
||||
<div class="section">
|
||||
<h3><a class="toc-backref" href="#id10" id="iterator-value-access-concepts-lib-iterator-value-access" name="iterator-value-access-concepts-lib-iterator-value-access">Iterator Value Access Concepts [lib.iterator.value.access]</a></h3>
|
||||
<div class="section" id="proposed-text">
|
||||
<h1><a class="toc-backref" href="#id8">Proposed Text</a></h1>
|
||||
<div class="section" id="addition-to-lib-iterator-requirements">
|
||||
<h2><a class="toc-backref" href="#id9">Addition to [lib.iterator.requirements]</a></h2>
|
||||
<div class="section" id="iterator-value-access-concepts-lib-iterator-value-access">
|
||||
<h3><a class="toc-backref" href="#id10">Iterator Value Access Concepts [lib.iterator.value.access]</a></h3>
|
||||
<p>In the tables below, <tt class="docutils literal"><span class="pre">X</span></tt> is an iterator type, <tt class="docutils literal"><span class="pre">a</span></tt> is a constant
|
||||
object of type <tt class="docutils literal"><span class="pre">X</span></tt>, <tt class="docutils literal"><span class="pre">R</span></tt> is
|
||||
<tt class="docutils literal"><span class="pre">std::iterator_traits<X>::reference</span></tt>, <tt class="docutils literal"><span class="pre">T</span></tt> is
|
||||
<tt class="docutils literal"><span class="pre">std::iterator_traits<X>::value_type</span></tt>, and <tt class="docutils literal"><span class="pre">v</span></tt> is a constant
|
||||
object of type <tt class="docutils literal"><span class="pre">T</span></tt>.</p>
|
||||
<div class="section">
|
||||
<h4><a class="toc-backref" href="#id11" id="readable-iterators-lib-readable-iterators" name="readable-iterators-lib-readable-iterators"><span id="readable-iterator"></span>Readable Iterators [lib.readable.iterators]</a></h4>
|
||||
<div class="section" id="readable-iterators-lib-readable-iterators">
|
||||
<span id="readable-iterator"></span><h4><a class="toc-backref" href="#id11">Readable Iterators [lib.readable.iterators]</a></h4>
|
||||
<p>A class or built-in type <tt class="docutils literal"><span class="pre">X</span></tt> models the <em>Readable Iterator</em> concept
|
||||
for value type <tt class="docutils literal"><span class="pre">T</span></tt> if, in addition to <tt class="docutils literal"><span class="pre">X</span></tt> being Assignable and
|
||||
Copy Constructible, the following expressions are valid and respect
|
||||
@ -685,8 +403,8 @@ non-cv-qualified type</td>
|
||||
</table>
|
||||
<!-- We won't say anything about iterator_traits<X>::reference until the DR is resolved. -JGS -->
|
||||
</div>
|
||||
<div class="section">
|
||||
<h4><a class="toc-backref" href="#id12" id="writable-iterators-lib-writable-iterators" name="writable-iterators-lib-writable-iterators"><span id="writable-iterator"></span>Writable Iterators [lib.writable.iterators]</a></h4>
|
||||
<div class="section" id="writable-iterators-lib-writable-iterators">
|
||||
<span id="writable-iterator"></span><h4><a class="toc-backref" href="#id12">Writable Iterators [lib.writable.iterators]</a></h4>
|
||||
<p>A class or built-in type <tt class="docutils literal"><span class="pre">X</span></tt> models the <em>Writable Iterator</em> concept
|
||||
if, in addition to <tt class="docutils literal"><span class="pre">X</span></tt> being Copy Constructible, the following
|
||||
expressions are valid and respect the stated semantics. Writable
|
||||
@ -715,8 +433,8 @@ value types of <tt class="docutils literal"><span class="pre">X</span></tt></td>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h4><a class="toc-backref" href="#id13" id="swappable-iterators-lib-swappable-iterators" name="swappable-iterators-lib-swappable-iterators">Swappable Iterators [lib.swappable.iterators]</a></h4>
|
||||
<div class="section" id="swappable-iterators-lib-swappable-iterators">
|
||||
<h4><a class="toc-backref" href="#id13">Swappable Iterators [lib.swappable.iterators]</a></h4>
|
||||
<p>A class or built-in type <tt class="docutils literal"><span class="pre">X</span></tt> models the <em>Swappable Iterator</em> concept
|
||||
if, in addition to <tt class="docutils literal"><span class="pre">X</span></tt> being Copy Constructible, the following
|
||||
expressions are valid and respect the stated semantics.</p>
|
||||
@ -742,12 +460,12 @@ exchanged</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>[<em>Note:</em> An iterator that is a model of the <a class="reference" href="#readable-iterator">Readable Iterator</a> and
|
||||
<a class="reference" href="#writable-iterator">Writable Iterator</a> concepts is also a model of <em>Swappable
|
||||
<p>[<em>Note:</em> An iterator that is a model of the <a class="reference internal" href="#readable-iterator">Readable Iterator</a> and
|
||||
<a class="reference internal" href="#writable-iterator">Writable Iterator</a> concepts is also a model of <em>Swappable
|
||||
Iterator</em>. <em>--end note</em>]</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h4><a class="toc-backref" href="#id14" id="lvalue-iterators-lib-lvalue-iterators" name="lvalue-iterators-lib-lvalue-iterators">Lvalue Iterators [lib.lvalue.iterators]</a></h4>
|
||||
<div class="section" id="lvalue-iterators-lib-lvalue-iterators">
|
||||
<h4><a class="toc-backref" href="#id14">Lvalue Iterators [lib.lvalue.iterators]</a></h4>
|
||||
<p>The <em>Lvalue Iterator</em> concept adds the requirement that the return
|
||||
type of <tt class="docutils literal"><span class="pre">operator*</span></tt> type be a reference to the value type of the
|
||||
iterator.</p>
|
||||
@ -776,20 +494,20 @@ dereferenceable.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>If <tt class="docutils literal"><span class="pre">X</span></tt> is a <a class="reference" href="#writable-iterator">Writable Iterator</a> then <tt class="docutils literal"><span class="pre">a</span> <span class="pre">==</span> <span class="pre">b</span></tt> if and only if
|
||||
<tt class="docutils literal"><span class="pre">*a</span></tt> is the same object as <tt class="docutils literal"><span class="pre">*b</span></tt>. If <tt class="docutils literal"><span class="pre">X</span></tt> is a <a class="reference" href="#readable-iterator">Readable
|
||||
<p>If <tt class="docutils literal"><span class="pre">X</span></tt> is a <a class="reference internal" href="#writable-iterator">Writable Iterator</a> then <tt class="docutils literal"><span class="pre">a</span> <span class="pre">==</span> <span class="pre">b</span></tt> if and only if
|
||||
<tt class="docutils literal"><span class="pre">*a</span></tt> is the same object as <tt class="docutils literal"><span class="pre">*b</span></tt>. If <tt class="docutils literal"><span class="pre">X</span></tt> is a <a class="reference internal" href="#readable-iterator">Readable
|
||||
Iterator</a> then <tt class="docutils literal"><span class="pre">a</span> <span class="pre">==</span> <span class="pre">b</span></tt> implies <tt class="docutils literal"><span class="pre">*a</span></tt> is the same object as
|
||||
<tt class="docutils literal"><span class="pre">*b</span></tt>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h3><a class="toc-backref" href="#id15" id="iterator-traversal-concepts-lib-iterator-traversal" name="iterator-traversal-concepts-lib-iterator-traversal">Iterator Traversal Concepts [lib.iterator.traversal]</a></h3>
|
||||
<div class="section" id="iterator-traversal-concepts-lib-iterator-traversal">
|
||||
<h3><a class="toc-backref" href="#id15">Iterator Traversal Concepts [lib.iterator.traversal]</a></h3>
|
||||
<p>In the tables below, <tt class="docutils literal"><span class="pre">X</span></tt> is an iterator type, <tt class="docutils literal"><span class="pre">a</span></tt> and <tt class="docutils literal"><span class="pre">b</span></tt> are
|
||||
constant objects of type <tt class="docutils literal"><span class="pre">X</span></tt>, <tt class="docutils literal"><span class="pre">r</span></tt> and <tt class="docutils literal"><span class="pre">s</span></tt> are mutable objects of
|
||||
type <tt class="docutils literal"><span class="pre">X</span></tt>, <tt class="docutils literal"><span class="pre">T</span></tt> is <tt class="docutils literal"><span class="pre">std::iterator_traits<X>::value_type</span></tt>, and
|
||||
<tt class="docutils literal"><span class="pre">v</span></tt> is a constant object of type <tt class="docutils literal"><span class="pre">T</span></tt>.</p>
|
||||
<div class="section">
|
||||
<h4><a class="toc-backref" href="#id16" id="incrementable-iterators-lib-incrementable-iterators" name="incrementable-iterators-lib-incrementable-iterators">Incrementable Iterators [lib.incrementable.iterators]</a></h4>
|
||||
<div class="section" id="incrementable-iterators-lib-incrementable-iterators">
|
||||
<h4><a class="toc-backref" href="#id16">Incrementable Iterators [lib.incrementable.iterators]</a></h4>
|
||||
<p>A class or built-in type <tt class="docutils literal"><span class="pre">X</span></tt> models the <em>Incrementable Iterator</em>
|
||||
concept if, in addition to <tt class="docutils literal"><span class="pre">X</span></tt> being Assignable and Copy
|
||||
Constructible, the following expressions are valid and respect the
|
||||
@ -828,16 +546,16 @@ stated semantics.</p>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>If <tt class="docutils literal"><span class="pre">X</span></tt> is a <a class="reference" href="#writable-iterator">Writable Iterator</a> then <tt class="docutils literal"><span class="pre">X</span> <span class="pre">a(r++);</span></tt> is equivalent
|
||||
<p>If <tt class="docutils literal"><span class="pre">X</span></tt> is a <a class="reference internal" href="#writable-iterator">Writable Iterator</a> then <tt class="docutils literal"><span class="pre">X</span> <span class="pre">a(r++);</span></tt> is equivalent
|
||||
to <tt class="docutils literal"><span class="pre">X</span> <span class="pre">a(r);</span> <span class="pre">++r;</span></tt> and <tt class="docutils literal"><span class="pre">*r++</span> <span class="pre">=</span> <span class="pre">o</span></tt> is equivalent
|
||||
to <tt class="docutils literal"><span class="pre">*r</span> <span class="pre">=</span> <span class="pre">o;</span> <span class="pre">++r</span></tt>.
|
||||
If <tt class="docutils literal"><span class="pre">X</span></tt> is a <a class="reference" href="#readable-iterator">Readable Iterator</a> then <tt class="docutils literal"><span class="pre">T</span> <span class="pre">z(*r++);</span></tt> is equivalent
|
||||
If <tt class="docutils literal"><span class="pre">X</span></tt> is a <a class="reference internal" href="#readable-iterator">Readable Iterator</a> then <tt class="docutils literal"><span class="pre">T</span> <span class="pre">z(*r++);</span></tt> is equivalent
|
||||
to <tt class="docutils literal"><span class="pre">T</span> <span class="pre">z(*r);</span> <span class="pre">++r;</span></tt>.</p>
|
||||
<!-- TR1: incrementable_iterator_tag changed to
|
||||
incrementable_traversal_tag for consistency. -->
|
||||
</div>
|
||||
<div class="section">
|
||||
<h4><a class="toc-backref" href="#id17" id="single-pass-iterators-lib-single-pass-iterators" name="single-pass-iterators-lib-single-pass-iterators">Single Pass Iterators [lib.single.pass.iterators]</a></h4>
|
||||
<div class="section" id="single-pass-iterators-lib-single-pass-iterators">
|
||||
<h4><a class="toc-backref" href="#id17">Single Pass Iterators [lib.single.pass.iterators]</a></h4>
|
||||
<p>A class or built-in type <tt class="docutils literal"><span class="pre">X</span></tt> models the <em>Single Pass Iterator</em>
|
||||
concept if the following expressions are valid and respect the stated
|
||||
semantics.</p>
|
||||
@ -849,7 +567,8 @@ semantics.</p>
|
||||
<col width="25%" />
|
||||
</colgroup>
|
||||
<thead valign="bottom">
|
||||
<tr><th class="head" colspan="4">Single Pass Iterator Requirements (in addition to Incrementable Iterator and Equality Comparable)</th>
|
||||
<tr><th class="head" colspan="4">Single Pass Iterator Requirements (in addition to Incrementable Iterator and Equality
|
||||
Comparable)</th>
|
||||
</tr>
|
||||
<tr><th class="head">Expression</th>
|
||||
<th class="head">Return Type</th>
|
||||
@ -897,8 +616,8 @@ between iterators</td>
|
||||
<!-- TR1: single_pass_iterator_tag changed to
|
||||
single_pass_traversal_tag for consistency -->
|
||||
</div>
|
||||
<div class="section">
|
||||
<h4><a class="toc-backref" href="#id18" id="forward-traversal-iterators-lib-forward-traversal-iterators" name="forward-traversal-iterators-lib-forward-traversal-iterators">Forward Traversal Iterators [lib.forward.traversal.iterators]</a></h4>
|
||||
<div class="section" id="forward-traversal-iterators-lib-forward-traversal-iterators">
|
||||
<h4><a class="toc-backref" href="#id18">Forward Traversal Iterators [lib.forward.traversal.iterators]</a></h4>
|
||||
<p>A class or built-in type <tt class="docutils literal"><span class="pre">X</span></tt> models the <em>Forward Traversal Iterator</em>
|
||||
concept if, in addition to <tt class="docutils literal"><span class="pre">X</span></tt> meeting the requirements of Default
|
||||
Constructible and Single Pass Iterator, the following expressions are
|
||||
@ -939,8 +658,8 @@ dereferenceable implies
|
||||
<!-- TR1: forward_traversal_iterator_tag changed to
|
||||
forward_traversal_tag for consistency -->
|
||||
</div>
|
||||
<div class="section">
|
||||
<h4><a class="toc-backref" href="#id19" id="bidirectional-traversal-iterators-lib-bidirectional-traversal-iterators" name="bidirectional-traversal-iterators-lib-bidirectional-traversal-iterators">Bidirectional Traversal Iterators [lib.bidirectional.traversal.iterators]</a></h4>
|
||||
<div class="section" id="bidirectional-traversal-iterators-lib-bidirectional-traversal-iterators">
|
||||
<h4><a class="toc-backref" href="#id19">Bidirectional Traversal Iterators [lib.bidirectional.traversal.iterators]</a></h4>
|
||||
<p>A class or built-in type <tt class="docutils literal"><span class="pre">X</span></tt> models the <em>Bidirectional Traversal
|
||||
Iterator</em> concept if, in addition to <tt class="docutils literal"><span class="pre">X</span></tt> meeting the requirements of
|
||||
Forward Traversal Iterator, the following expressions are valid and
|
||||
@ -1002,8 +721,8 @@ implies <tt class="docutils literal"><span class="pre">r</span> <span class="pre
|
||||
<!-- TR1: bidirectional_traversal_iterator_tag changed to
|
||||
bidirectional_traversal_tag for consistency -->
|
||||
</div>
|
||||
<div class="section">
|
||||
<h4><a class="toc-backref" href="#id20" id="random-access-traversal-iterators-lib-random-access-traversal-iterators" name="random-access-traversal-iterators-lib-random-access-traversal-iterators">Random Access Traversal Iterators [lib.random.access.traversal.iterators]</a></h4>
|
||||
<div class="section" id="random-access-traversal-iterators-lib-random-access-traversal-iterators">
|
||||
<h4><a class="toc-backref" href="#id20">Random Access Traversal Iterators [lib.random.access.traversal.iterators]</a></h4>
|
||||
<p>A class or built-in type <tt class="docutils literal"><span class="pre">X</span></tt> models the <em>Random Access Traversal
|
||||
Iterator</em> concept if the following expressions are valid and respect
|
||||
the stated semantics. In the table below, <tt class="docutils literal"><span class="pre">Distance</span></tt> is
|
||||
@ -1074,13 +793,13 @@ value <tt class="docutils literal"><span class="pre">n</span></tt> of
|
||||
<tr><td><tt class="docutils literal"><span class="pre">a[n]</span></tt></td>
|
||||
<td>convertible to T</td>
|
||||
<td><tt class="docutils literal"><span class="pre">*(a</span> <span class="pre">+</span> <span class="pre">n)</span></tt></td>
|
||||
<td>pre: a is a <a class="reference" href="#readable-iterator">Readable
|
||||
<td>pre: a is a <a class="reference internal" href="#readable-iterator">Readable
|
||||
Iterator</a></td>
|
||||
</tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre">a[n]</span> <span class="pre">=</span> <span class="pre">v</span></tt></td>
|
||||
<td>convertible to T</td>
|
||||
<td><tt class="docutils literal"><span class="pre">*(a</span> <span class="pre">+</span> <span class="pre">n)</span> <span class="pre">=</span> <span class="pre">v</span></tt></td>
|
||||
<td>pre: a is a <a class="reference" href="#writable-iterator">Writable
|
||||
<td>pre: a is a <a class="reference internal" href="#writable-iterator">Writable
|
||||
Iterator</a></td>
|
||||
</tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre">a</span> <span class="pre"><</span> <span class="pre">b</span></tt></td>
|
||||
@ -1116,8 +835,8 @@ ordering relation</td>
|
||||
<!-- TR1: random_access_traversal_iterator_tag changed to
|
||||
random_access_traversal_tag for consistency -->
|
||||
</div>
|
||||
<div class="section">
|
||||
<h4><a class="toc-backref" href="#id21" id="interoperable-iterators-lib-interoperable-iterators" name="interoperable-iterators-lib-interoperable-iterators">Interoperable Iterators [lib.interoperable.iterators]</a></h4>
|
||||
<div class="section" id="interoperable-iterators-lib-interoperable-iterators">
|
||||
<h4><a class="toc-backref" href="#id21">Interoperable Iterators [lib.interoperable.iterators]</a></h4>
|
||||
<p>A class or built-in type <tt class="docutils literal"><span class="pre">X</span></tt> that models Single Pass Iterator is
|
||||
<em>interoperable with</em> a class or built-in type <tt class="docutils literal"><span class="pre">Y</span></tt> that also models
|
||||
Single Pass Iterator if the following expressions are valid and
|
||||
@ -1240,8 +959,8 @@ the following additional requirements must be met.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id22" id="addition-to-lib-iterator-synopsis" name="addition-to-lib-iterator-synopsis">Addition to [lib.iterator.synopsis]</a></h2>
|
||||
<div class="section" id="addition-to-lib-iterator-synopsis">
|
||||
<h2><a class="toc-backref" href="#id22">Addition to [lib.iterator.synopsis]</a></h2>
|
||||
<pre class="literal-block">
|
||||
// lib.iterator.traits, traits and tags
|
||||
template <class Iterator> struct is_readable_iterator;
|
||||
@ -1254,10 +973,10 @@ struct bidirectional_traversal_tag : forward_traversal_tag { };
|
||||
struct random_access_traversal_tag : bidirectional_traversal_tag { };
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id23" id="addition-to-lib-iterator-traits" name="addition-to-lib-iterator-traits">Addition to [lib.iterator.traits]</a></h2>
|
||||
<div class="section" id="addition-to-lib-iterator-traits">
|
||||
<h2><a class="toc-backref" href="#id23">Addition to [lib.iterator.traits]</a></h2>
|
||||
<p>The <tt class="docutils literal"><span class="pre">is_readable_iterator</span></tt> class
|
||||
template satisfies the <a class="reference" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1519.htm">UnaryTypeTrait</a> requirements.</p>
|
||||
template satisfies the <a class="reference external" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1519.htm">UnaryTypeTrait</a> requirements.</p>
|
||||
<p>Given an iterator type <tt class="docutils literal"><span class="pre">X</span></tt>, <tt class="docutils literal"><span class="pre">is_readable_iterator<X>::value</span></tt>
|
||||
yields <tt class="docutils literal"><span class="pre">true</span></tt> if, for an object <tt class="docutils literal"><span class="pre">a</span></tt> of type <tt class="docutils literal"><span class="pre">X</span></tt>, <tt class="docutils literal"><span class="pre">*a</span></tt> is
|
||||
convertible to <tt class="docutils literal"><span class="pre">iterator_traits<X>::value_type</span></tt>, and <tt class="docutils literal"><span class="pre">false</span></tt>
|
||||
@ -1286,9 +1005,9 @@ otherwise.</p>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id24" id="footnotes" name="footnotes">Footnotes</a></h1>
|
||||
<p>The UnaryTypeTrait concept is defined in <a class="reference" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1519.htm">n1519</a>; the LWG is
|
||||
<div class="section" id="footnotes">
|
||||
<h1><a class="toc-backref" href="#id24">Footnotes</a></h1>
|
||||
<p>The UnaryTypeTrait concept is defined in <a class="reference external" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1519.htm">n1519</a>; the LWG is
|
||||
considering adding the requirement that specializations are derived
|
||||
from their nested <tt class="docutils literal"><span class="pre">::type</span></tt>.</p>
|
||||
<!-- LocalWords: Abrahams Siek Witt const bool Sutter's WG int UL LI href Lvalue
|
||||
@ -1299,6 +1018,12 @@ LocalWords: RandomAccessTraversalIterator dereferenceable Incrementable tmp
|
||||
LocalWords: incrementable xxx min prev inplace png oldeqnew AccessTag struct
|
||||
LocalWords: TraversalTag typename lvalues DWA Hmm JGS mis enum -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="new-iter-concepts.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,13 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Permutation Iterator</title>
|
||||
<meta name="author" content="Toon Knapen, David Abrahams, Roland Richter, Jeremy Siek" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab" />
|
||||
<meta name="date" content="2004-11-01" />
|
||||
<meta name="date" content="2006-09-11" />
|
||||
<meta name="copyright" content="Copyright Toon Knapen, David Abrahams, Roland Richter, and Jeremy Siek 2003." />
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="permutation-iterator">
|
||||
@ -303,12 +21,12 @@ ul.auto-toc {
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>Toon Knapen, David Abrahams, Roland Richter, Jeremy Siek</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first reference" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="last reference" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a></td></tr>
|
||||
<td><a class="first reference external" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="last reference external" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="last reference" href="http://www.osl.iu.edu">Open Systems
|
||||
<td><a class="first reference external" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="last reference external" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2004-11-01</td></tr>
|
||||
<td>2006-09-11</td></tr>
|
||||
<tr><th class="docinfo-name">Copyright:</th>
|
||||
<td>Copyright Toon Knapen, David Abrahams, Roland Richter, and Jeremy Siek 2003.</td></tr>
|
||||
</tbody>
|
||||
@ -329,21 +47,21 @@ in a potentially different order.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="contents topic">
|
||||
<p class="topic-title first"><a id="table-of-contents" name="table-of-contents">Table of Contents</a></p>
|
||||
<div class="contents topic" id="table-of-contents">
|
||||
<p class="topic-title first">Table of Contents</p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="#introduction" id="id2" name="id2">Introduction</a></li>
|
||||
<li><a class="reference" href="#reference" id="id3" name="id3">Reference</a><ul>
|
||||
<li><a class="reference" href="#permutation-iterator-requirements" id="id4" name="id4"><tt class="docutils literal"><span class="pre">permutation_iterator</span></tt> requirements</a></li>
|
||||
<li><a class="reference" href="#permutation-iterator-models" id="id5" name="id5"><tt class="docutils literal"><span class="pre">permutation_iterator</span></tt> models</a></li>
|
||||
<li><a class="reference" href="#permutation-iterator-operations" id="id6" name="id6"><tt class="docutils literal"><span class="pre">permutation_iterator</span></tt> operations</a></li>
|
||||
<li><a class="reference internal" href="#introduction" id="id2">Introduction</a></li>
|
||||
<li><a class="reference internal" href="#reference" id="id3">Reference</a><ul>
|
||||
<li><a class="reference internal" href="#permutation-iterator-requirements" id="id4"><tt class="docutils literal"><span class="pre">permutation_iterator</span></tt> requirements</a></li>
|
||||
<li><a class="reference internal" href="#permutation-iterator-models" id="id5"><tt class="docutils literal"><span class="pre">permutation_iterator</span></tt> models</a></li>
|
||||
<li><a class="reference internal" href="#permutation-iterator-operations" id="id6"><tt class="docutils literal"><span class="pre">permutation_iterator</span></tt> operations</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#example" id="id7" name="id7">Example</a></li>
|
||||
<li><a class="reference internal" href="#example" id="id7">Example</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id2" id="introduction" name="introduction">Introduction</a></h1>
|
||||
<div class="section" id="introduction">
|
||||
<h1><a class="toc-backref" href="#id2">Introduction</a></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) -->
|
||||
@ -365,8 +83,8 @@ to be unique. In this same context, it must be noted that the past the
|
||||
end permutation iterator is completely defined by means of the
|
||||
past-the-end iterator to the indices.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id3" id="reference" name="reference">Reference</a></h1>
|
||||
<div class="section" id="reference">
|
||||
<h1><a class="toc-backref" href="#id3">Reference</a></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) -->
|
||||
@ -401,15 +119,15 @@ template <class ElementIterator, class IndexIterator>
|
||||
permutation_iterator<ElementIterator, IndexIterator>
|
||||
make_permutation_iterator( ElementIterator e, IndexIterator i);
|
||||
</pre>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id4" id="permutation-iterator-requirements" name="permutation-iterator-requirements"><tt class="docutils literal"><span class="pre">permutation_iterator</span></tt> requirements</a></h2>
|
||||
<div class="section" id="permutation-iterator-requirements">
|
||||
<h2><a class="toc-backref" href="#id4"><tt class="docutils literal"><span class="pre">permutation_iterator</span></tt> requirements</a></h2>
|
||||
<p><tt class="docutils literal"><span class="pre">ElementIterator</span></tt> shall model Random Access Traversal Iterator.
|
||||
<tt class="docutils literal"><span class="pre">IndexIterator</span></tt> shall model Readable Iterator. The value type of
|
||||
the <tt class="docutils literal"><span class="pre">IndexIterator</span></tt> must be convertible to the difference type of
|
||||
<tt class="docutils literal"><span class="pre">ElementIterator</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id5" id="permutation-iterator-models" name="permutation-iterator-models"><tt class="docutils literal"><span class="pre">permutation_iterator</span></tt> models</a></h2>
|
||||
<div class="section" id="permutation-iterator-models">
|
||||
<h2><a class="toc-backref" href="#id5"><tt class="docutils literal"><span class="pre">permutation_iterator</span></tt> models</a></h2>
|
||||
<p><tt class="docutils literal"><span class="pre">permutation_iterator</span></tt> models the same iterator traversal concepts
|
||||
as <tt class="docutils literal"><span class="pre">IndexIterator</span></tt> and the same iterator access concepts as
|
||||
<tt class="docutils literal"><span class="pre">ElementIterator</span></tt>.</p>
|
||||
@ -430,8 +148,8 @@ with <tt class="docutils literal"><span class="pre">permutation_iterator<E2,<
|
||||
<tt class="docutils literal"><span class="pre">X</span></tt> is interoperable with <tt class="docutils literal"><span class="pre">Y</span></tt> and <tt class="docutils literal"><span class="pre">E1</span></tt> is convertible
|
||||
to <tt class="docutils literal"><span class="pre">E2</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a class="toc-backref" href="#id6" id="permutation-iterator-operations" name="permutation-iterator-operations"><tt class="docutils literal"><span class="pre">permutation_iterator</span></tt> operations</a></h2>
|
||||
<div class="section" id="permutation-iterator-operations">
|
||||
<h2><a class="toc-backref" href="#id6"><tt class="docutils literal"><span class="pre">permutation_iterator</span></tt> operations</a></h2>
|
||||
<p>In addition to those operations required by the concepts that
|
||||
<tt class="docutils literal"><span class="pre">permutation_iterator</span></tt> models, <tt class="docutils literal"><span class="pre">permutation_iterator</span></tt> provides the
|
||||
following operations.</p>
|
||||
@ -514,8 +232,8 @@ make_permutation_iterator(ElementIterator e, IndexIterator i);
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id7" id="example" name="example">Example</a></h1>
|
||||
<div class="section" id="example">
|
||||
<h1><a class="toc-backref" href="#id7">Example</a></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) -->
|
||||
@ -580,8 +298,14 @@ Elements at even indices in the permutation : 9 7
|
||||
Permutation backwards : 6 7 8 9
|
||||
Iterate backward with stride 2 : 6 8
|
||||
</pre>
|
||||
<p>The source code for this example can be found <a class="reference" href="../example/permutation_iter_example.cpp">here</a>.</p>
|
||||
<p>The source code for this example can be found <a class="reference external" href="../example/permutation_iter_example.cpp">here</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="permutation_iterator.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
326
doc/pointee.html
326
doc/pointee.html
@ -3,295 +3,13 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>pointee and indirect_reference</title>
|
||||
<meta name="author" content="David Abrahams" />
|
||||
<meta name="organization" content="Boost Consulting" />
|
||||
<meta name="date" content="2005-02-27" />
|
||||
<meta name="date" content="2006-09-11" />
|
||||
<meta name="copyright" content="Copyright David Abrahams 2004." />
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="pointee-and-indirect-reference">
|
||||
@ -303,11 +21,11 @@ ul.auto-toc {
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>David Abrahams</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first last reference" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a></td></tr>
|
||||
<td><a class="first last reference external" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first last reference" href="http://www.boost-consulting.com">Boost Consulting</a></td></tr>
|
||||
<td><a class="first last reference external" href="http://www.boost-consulting.com">Boost Consulting</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2005-02-27</td></tr>
|
||||
<td>2006-09-11</td></tr>
|
||||
<tr><th class="docinfo-name">Copyright:</th>
|
||||
<td>Copyright David Abrahams 2004.</td></tr>
|
||||
</tbody>
|
||||
@ -324,8 +42,8 @@ pointers, smart pointers and iterators in generic code.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="section">
|
||||
<h1><a id="overview" name="overview">Overview</a></h1>
|
||||
<div class="section" id="overview">
|
||||
<h1>Overview</h1>
|
||||
<p>Have you ever wanted to write a generic function that can operate
|
||||
on any kind of dereferenceable object? If you have, you've
|
||||
probably run into the problem of how to determine the type that the
|
||||
@ -338,8 +56,8 @@ void f(Dereferenceable p)
|
||||
...
|
||||
}
|
||||
</pre>
|
||||
<div class="section">
|
||||
<h2><a id="pointee" name="pointee"><tt class="docutils literal"><span class="pre">pointee</span></tt></a></h2>
|
||||
<div class="section" id="pointee">
|
||||
<h2><tt class="docutils literal"><span class="pre">pointee</span></tt></h2>
|
||||
<p>It turns out to be impossible to come up with a fully-general
|
||||
algorithm to do determine <em>what-goes-here</em> directly, but it is
|
||||
possible to require that <tt class="docutils literal"><span class="pre">pointee<Dereferenceable>::type</span></tt> is
|
||||
@ -360,8 +78,8 @@ namespace boost
|
||||
}
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a id="indirect-reference" name="indirect-reference"><tt class="docutils literal"><span class="pre">indirect_reference</span></tt></a></h2>
|
||||
<div class="section" id="indirect-reference">
|
||||
<h2><tt class="docutils literal"><span class="pre">indirect_reference</span></tt></h2>
|
||||
<p><tt class="docutils literal"><span class="pre">indirect_reference<T>::type</span></tt> is rather more specialized than
|
||||
<tt class="docutils literal"><span class="pre">pointee</span></tt>, and is meant to be used to forward the result of
|
||||
dereferencing an object of its argument type. Most dereferenceable
|
||||
@ -369,13 +87,13 @@ types just return a reference to their pointee, but some return
|
||||
proxy references or return the pointee by value. When that
|
||||
information is needed, call on <tt class="docutils literal"><span class="pre">indirect_reference</span></tt>.</p>
|
||||
<p>Both of these templates are essential to the correct functioning of
|
||||
<a class="reference" href="indirect_iterator.html"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt></a>.</p>
|
||||
<a class="reference external" href="indirect_iterator.html"><tt class="docutils literal"><span class="pre">indirect_iterator</span></tt></a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a id="reference" name="reference">Reference</a></h1>
|
||||
<div class="section">
|
||||
<h2><a id="id1" name="id1"><tt class="docutils literal"><span class="pre">pointee</span></tt></a></h2>
|
||||
<div class="section" id="reference">
|
||||
<h1>Reference</h1>
|
||||
<div class="section" id="id1">
|
||||
<h2><tt class="docutils literal"><span class="pre">pointee</span></tt></h2>
|
||||
<!-- Copyright David Abrahams 2004. Use, modification and distribution is -->
|
||||
<!-- subject to the Boost Software License, Version 1.0. (See accompanying -->
|
||||
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
@ -418,8 +136,8 @@ else
|
||||
}
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2><a id="id2" name="id2"><tt class="docutils literal"><span class="pre">indirect_reference</span></tt></a></h2>
|
||||
<div class="section" id="id2">
|
||||
<h2><tt class="docutils literal"><span class="pre">indirect_reference</span></tt></h2>
|
||||
<!-- Copyright David Abrahams 2004. Use, modification and distribution is -->
|
||||
<!-- subject to the Boost Software License, Version 1.0. (See accompanying -->
|
||||
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
@ -454,6 +172,12 @@ else
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="pointee.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,13 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Reverse Iterator</title>
|
||||
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, University of Hanover Institute for Transport Railway Operation and Construction" />
|
||||
<meta name="date" content="2004-11-01" />
|
||||
<meta name="date" content="2006-09-11" />
|
||||
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003." />
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="reverse-iterator">
|
||||
@ -303,13 +21,13 @@ ul.auto-toc {
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>David Abrahams, Jeremy Siek, Thomas Witt</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first reference" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference" href="mailto:witt@ive.uni-hannover.de">witt@ive.uni-hannover.de</a></td></tr>
|
||||
<td><a class="first reference external" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference external" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference external" href="mailto:witt@ive.uni-hannover.de">witt@ive.uni-hannover.de</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, University of Hanover <a class="last reference" href="http://www.ive.uni-hannover.de">Institute for Transport
|
||||
<td><a class="first reference external" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference external" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, University of Hanover <a class="last reference external" href="http://www.ive.uni-hannover.de">Institute for Transport
|
||||
Railway Operation and Construction</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2004-11-01</td></tr>
|
||||
<td>2006-09-11</td></tr>
|
||||
<tr><th class="docinfo-name">Copyright:</th>
|
||||
<td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003.</td></tr>
|
||||
</tbody>
|
||||
@ -329,18 +47,18 @@ range in the opposite direction.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="contents topic">
|
||||
<p class="topic-title first"><a id="table-of-contents" name="table-of-contents">Table of Contents</a></p>
|
||||
<div class="contents topic" id="table-of-contents">
|
||||
<p class="topic-title first">Table of Contents</p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="#reverse-iterator-synopsis" id="id2" name="id2"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> synopsis</a></li>
|
||||
<li><a class="reference" href="#reverse-iterator-requirements" id="id3" name="id3"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> requirements</a></li>
|
||||
<li><a class="reference" href="#reverse-iterator-models" id="id4" name="id4"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> models</a></li>
|
||||
<li><a class="reference" href="#reverse-iterator-operations" id="id5" name="id5"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> operations</a></li>
|
||||
<li><a class="reference" href="#example" id="id6" name="id6">Example</a></li>
|
||||
<li><a class="reference internal" href="#reverse-iterator-synopsis" id="id2"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> synopsis</a></li>
|
||||
<li><a class="reference internal" href="#reverse-iterator-requirements" id="id3"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> requirements</a></li>
|
||||
<li><a class="reference internal" href="#reverse-iterator-models" id="id4"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> models</a></li>
|
||||
<li><a class="reference internal" href="#reverse-iterator-operations" id="id5"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> operations</a></li>
|
||||
<li><a class="reference internal" href="#example" id="id6">Example</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id2" id="reverse-iterator-synopsis" name="reverse-iterator-synopsis"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> synopsis</a></h1>
|
||||
<div class="section" id="reverse-iterator-synopsis">
|
||||
<h1><a class="toc-backref" href="#id2"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> synopsis</a></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) -->
|
||||
@ -379,14 +97,14 @@ Lvalue Iterator, then <tt class="docutils literal"><span class="pre">iterator_ca
|
||||
<tt class="docutils literal"><span class="pre">bidirectional_iterator_tag</span></tt>. Otherwise, <tt class="docutils literal"><span class="pre">iterator_category</span></tt> is
|
||||
convertible to <tt class="docutils literal"><span class="pre">input_iterator_tag</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id3" id="reverse-iterator-requirements" name="reverse-iterator-requirements"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> requirements</a></h1>
|
||||
<div class="section" id="reverse-iterator-requirements">
|
||||
<h1><a class="toc-backref" href="#id3"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> requirements</a></h1>
|
||||
<p><tt class="docutils literal"><span class="pre">Iterator</span></tt> must be a model of Bidirectional Traversal Iterator. The
|
||||
type <tt class="docutils literal"><span class="pre">iterator_traits<Iterator>::reference</span></tt> must be the type of
|
||||
<tt class="docutils literal"><span class="pre">*i</span></tt>, where <tt class="docutils literal"><span class="pre">i</span></tt> is an object of type <tt class="docutils literal"><span class="pre">Iterator</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id4" id="reverse-iterator-models" name="reverse-iterator-models"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> models</a></h1>
|
||||
<div class="section" id="reverse-iterator-models">
|
||||
<h1><a class="toc-backref" href="#id4"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> models</a></h1>
|
||||
<p>A specialization of <tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> models the same iterator
|
||||
traversal and iterator access concepts modeled by its <tt class="docutils literal"><span class="pre">Iterator</span></tt>
|
||||
argument. In addition, it may model old iterator concepts
|
||||
@ -424,8 +142,8 @@ Random Access Traversal Iterator</td>
|
||||
<tt class="docutils literal"><span class="pre">reverse_iterator<Y></span></tt> if and only if <tt class="docutils literal"><span class="pre">X</span></tt> is interoperable with
|
||||
<tt class="docutils literal"><span class="pre">Y</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id5" id="reverse-iterator-operations" name="reverse-iterator-operations"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> operations</a></h1>
|
||||
<div class="section" id="reverse-iterator-operations">
|
||||
<h1><a class="toc-backref" href="#id5"><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> operations</a></h1>
|
||||
<p>In addition to the operations required by the concepts modeled by
|
||||
<tt class="docutils literal"><span class="pre">reverse_iterator</span></tt>, <tt class="docutils literal"><span class="pre">reverse_iterator</span></tt> provides the following
|
||||
operations.</p>
|
||||
@ -534,8 +252,8 @@ with a <tt class="docutils literal"><span class="pre">current</span></tt> constr
|
||||
<!-- 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="#id6" id="example" name="example">Example</a></h1>
|
||||
<div class="section" id="example">
|
||||
<h1><a class="toc-backref" href="#id6">Example</a></h1>
|
||||
<p>The following example prints an array of characters in reverse order
|
||||
using <tt class="docutils literal"><span class="pre">reverse_iterator</span></tt>.</p>
|
||||
<pre class="literal-block">
|
||||
@ -566,8 +284,14 @@ original sequence of letters: hello world!
|
||||
sequence in reverse order: !dlrow olleh
|
||||
sequence in double-reversed (normal) order: hello world!
|
||||
</pre>
|
||||
<p>The source code for this example can be found <a class="reference" href="../example/reverse_iterator_example.cpp">here</a>.</p>
|
||||
<p>The source code for this example can be found <a class="reference external" href="../example/reverse_iterator_example.cpp">here</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="reverse_iterator.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -4,7 +4,7 @@
|
||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
PYTHONPATH="c:/src/docutils;c:/src/docutils/extras"
|
||||
export PYTHONPATH
|
||||
python rst2html.py -gs $1 `echo $1 | sed 's/\(.*\)\..*/\1.html/'`
|
||||
rst2html.py -gs --link-stylesheet --traceback --trim-footnote-reference-space --footnote-references=superscript --stylesheet=../../../rst.css $1 `echo $1 | sed 's/\(.*\)\..*/\1.html/'`
|
||||
|
||||
|
||||
|
||||
|
@ -3,295 +3,13 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Transform Iterator</title>
|
||||
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, University of Hanover Institute for Transport Railway Operation and Construction" />
|
||||
<meta name="date" content="2004-11-01" />
|
||||
<meta name="date" content="2006-09-11" />
|
||||
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003." />
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="transform-iterator">
|
||||
@ -303,13 +21,13 @@ ul.auto-toc {
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>David Abrahams, Jeremy Siek, Thomas Witt</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first reference" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference" href="mailto:witt@ive.uni-hannover.de">witt@ive.uni-hannover.de</a></td></tr>
|
||||
<td><a class="first reference external" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="reference external" href="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</a>, <a class="last reference external" href="mailto:witt@ive.uni-hannover.de">witt@ive.uni-hannover.de</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, University of Hanover <a class="last reference" href="http://www.ive.uni-hannover.de">Institute for Transport
|
||||
<td><a class="first reference external" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference external" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, University of Hanover <a class="last reference external" href="http://www.ive.uni-hannover.de">Institute for Transport
|
||||
Railway Operation and Construction</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2004-11-01</td></tr>
|
||||
<td>2006-09-11</td></tr>
|
||||
<tr><th class="docinfo-name">Copyright:</th>
|
||||
<td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003.</td></tr>
|
||||
</tbody>
|
||||
@ -330,18 +48,18 @@ dereferencing the iterator and returning the result.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="contents topic">
|
||||
<p class="topic-title first"><a id="table-of-contents" name="table-of-contents">Table of Contents</a></p>
|
||||
<div class="contents topic" id="table-of-contents">
|
||||
<p class="topic-title first">Table of Contents</p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="#transform-iterator-synopsis" id="id2" name="id2"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt> synopsis</a></li>
|
||||
<li><a class="reference" href="#transform-iterator-requirements" id="id3" name="id3"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt> requirements</a></li>
|
||||
<li><a class="reference" href="#transform-iterator-models" id="id4" name="id4"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt> models</a></li>
|
||||
<li><a class="reference" href="#transform-iterator-operations" id="id5" name="id5"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt> operations</a></li>
|
||||
<li><a class="reference" href="#example" id="id6" name="id6">Example</a></li>
|
||||
<li><a class="reference internal" href="#transform-iterator-synopsis" id="id2"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt> synopsis</a></li>
|
||||
<li><a class="reference internal" href="#transform-iterator-requirements" id="id3"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt> requirements</a></li>
|
||||
<li><a class="reference internal" href="#transform-iterator-models" id="id4"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt> models</a></li>
|
||||
<li><a class="reference internal" href="#transform-iterator-operations" id="id5"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt> operations</a></li>
|
||||
<li><a class="reference internal" href="#example" id="id6">Example</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id2" id="transform-iterator-synopsis" name="transform-iterator-synopsis"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt> synopsis</a></h1>
|
||||
<div class="section" id="transform-iterator-synopsis">
|
||||
<h1><a class="toc-backref" href="#id2"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt> synopsis</a></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) -->
|
||||
@ -396,8 +114,8 @@ convertible to <tt class="docutils literal"><span class="pre">forward_iterator_t
|
||||
model Readable Lvalue Iterator then <tt class="docutils literal"><span class="pre">iterator_category</span></tt> is
|
||||
convertible to <tt class="docutils literal"><span class="pre">input_iterator_tag</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id3" id="transform-iterator-requirements" name="transform-iterator-requirements"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt> requirements</a></h1>
|
||||
<div class="section" id="transform-iterator-requirements">
|
||||
<h1><a class="toc-backref" href="#id3"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt> requirements</a></h1>
|
||||
<p>The type <tt class="docutils literal"><span class="pre">UnaryFunction</span></tt> must be Assignable, Copy Constructible, and
|
||||
the expression <tt class="docutils literal"><span class="pre">f(*i)</span></tt> must be valid where <tt class="docutils literal"><span class="pre">f</span></tt> is an object of
|
||||
type <tt class="docutils literal"><span class="pre">UnaryFunction</span></tt>, <tt class="docutils literal"><span class="pre">i</span></tt> is an object of type <tt class="docutils literal"><span class="pre">Iterator</span></tt>, and
|
||||
@ -405,8 +123,8 @@ where the type of <tt class="docutils literal"><span class="pre">f(*i)</span></t
|
||||
<tt class="docutils literal"><span class="pre">result_of<UnaryFunction(iterator_traits<Iterator>::reference)>::type</span></tt>.</p>
|
||||
<p>The argument <tt class="docutils literal"><span class="pre">Iterator</span></tt> shall model Readable Iterator.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id4" id="transform-iterator-models" name="transform-iterator-models"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt> models</a></h1>
|
||||
<div class="section" id="transform-iterator-models">
|
||||
<h1><a class="toc-backref" href="#id4"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt> models</a></h1>
|
||||
<p>The resulting <tt class="docutils literal"><span class="pre">transform_iterator</span></tt> models the most refined of the
|
||||
following that is also modeled by <tt class="docutils literal"><span class="pre">Iterator</span></tt>.</p>
|
||||
<blockquote>
|
||||
@ -452,8 +170,8 @@ mutable iterator (as defined in the old iterator requirements).</p>
|
||||
<tt class="docutils literal"><span class="pre">transform_iterator<F2,</span> <span class="pre">Y,</span> <span class="pre">R2,</span> <span class="pre">V2></span></tt> if and only if <tt class="docutils literal"><span class="pre">X</span></tt> is
|
||||
interoperable with <tt class="docutils literal"><span class="pre">Y</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id5" id="transform-iterator-operations" name="transform-iterator-operations"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt> operations</a></h1>
|
||||
<div class="section" id="transform-iterator-operations">
|
||||
<h1><a class="toc-backref" href="#id5"><tt class="docutils literal"><span class="pre">transform_iterator</span></tt> operations</a></h1>
|
||||
<p>In addition to the operations required by the concepts modeled by
|
||||
<tt class="docutils literal"><span class="pre">transform_iterator</span></tt>, <tt class="docutils literal"><span class="pre">transform_iterator</span></tt> provides the following
|
||||
operations.</p>
|
||||
@ -581,8 +299,8 @@ default constructed and <tt class="docutils literal"><span class="pre">m_iterato
|
||||
<!-- 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="#id6" id="example" name="example">Example</a></h1>
|
||||
<div class="section" id="example">
|
||||
<h1><a class="toc-backref" href="#id6">Example</a></h1>
|
||||
<p>This is a simple example of using the transform_iterators class to
|
||||
generate iterators that multiply (or add to) the value returned by
|
||||
dereferencing the iterator. It would be cooler to use lambda library
|
||||
@ -615,8 +333,14 @@ multiplying the array by 2:
|
||||
adding 4 to each element in the array:
|
||||
5 6 7 8 9 10 11 12
|
||||
</pre>
|
||||
<p>The source code for this example can be found <a class="reference" href="../example/transform_iterator_example.cpp">here</a>.</p>
|
||||
<p>The source code for this example can be found <a class="reference external" href="../example/transform_iterator_example.cpp">here</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="transform_iterator.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,295 +3,13 @@
|
||||
<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: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>Zip Iterator</title>
|
||||
<meta name="author" content="David Abrahams, Thomas Becker" />
|
||||
<meta name="organization" content="Boost Consulting, Zephyr Associates, Inc." />
|
||||
<meta name="date" content="2004-11-01" />
|
||||
<meta name="date" content="2006-09-11" />
|
||||
<meta name="copyright" content="Copyright David Abrahams and Thomas Becker 2003." />
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@users.sourceforge.net
|
||||
:Date: $Date$
|
||||
:Revision: $Revision$
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em ;
|
||||
background-color: #eeeeee }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
tt.docutils {
|
||||
background-color: #eeeeee }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="../../../rst.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="zip-iterator">
|
||||
@ -303,11 +21,11 @@ ul.auto-toc {
|
||||
<tr><th class="docinfo-name">Author:</th>
|
||||
<td>David Abrahams, Thomas Becker</td></tr>
|
||||
<tr><th class="docinfo-name">Contact:</th>
|
||||
<td><a class="first reference" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="last reference" href="mailto:thomas@styleadvisor.com">thomas@styleadvisor.com</a></td></tr>
|
||||
<td><a class="first reference external" href="mailto:dave@boost-consulting.com">dave@boost-consulting.com</a>, <a class="last reference external" href="mailto:thomas@styleadvisor.com">thomas@styleadvisor.com</a></td></tr>
|
||||
<tr><th class="docinfo-name">Organization:</th>
|
||||
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, <a class="last reference" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr>
|
||||
<td><a class="first reference external" href="http://www.boost-consulting.com">Boost Consulting</a>, <a class="last reference external" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2004-11-01</td></tr>
|
||||
<td>2006-09-11</td></tr>
|
||||
<tr><th class="docinfo-name">Copyright:</th>
|
||||
<td>Copyright David Abrahams and Thomas Becker 2003.</td></tr>
|
||||
</tbody>
|
||||
@ -331,18 +49,18 @@ the results of dereferencing the individual iterators.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="contents topic">
|
||||
<p class="topic-title first"><a id="table-of-contents" name="table-of-contents">Table of Contents</a></p>
|
||||
<div class="contents topic" id="table-of-contents">
|
||||
<p class="topic-title first">Table of Contents</p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="#zip-iterator-synopsis" id="id1" name="id1"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt> synopsis</a></li>
|
||||
<li><a class="reference" href="#zip-iterator-requirements" id="id2" name="id2"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt> requirements</a></li>
|
||||
<li><a class="reference" href="#zip-iterator-models" id="id3" name="id3"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt> models</a></li>
|
||||
<li><a class="reference" href="#zip-iterator-operations" id="id4" name="id4"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt> operations</a></li>
|
||||
<li><a class="reference" href="#examples" id="id5" name="id5">Examples</a></li>
|
||||
<li><a class="reference internal" href="#zip-iterator-synopsis" id="id1"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt> synopsis</a></li>
|
||||
<li><a class="reference internal" href="#zip-iterator-requirements" id="id2"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt> requirements</a></li>
|
||||
<li><a class="reference internal" href="#zip-iterator-models" id="id3"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt> models</a></li>
|
||||
<li><a class="reference internal" href="#zip-iterator-operations" id="id4"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt> operations</a></li>
|
||||
<li><a class="reference internal" href="#examples" id="id5">Examples</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id1" id="zip-iterator-synopsis" name="zip-iterator-synopsis"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt> synopsis</a></h1>
|
||||
<div class="section" id="zip-iterator-synopsis">
|
||||
<h1><a class="toc-backref" href="#id1"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt> synopsis</a></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) -->
|
||||
@ -392,12 +110,12 @@ iterators, then <tt class="docutils literal"><span class="pre">iterator_category
|
||||
<tt class="docutils literal"><span class="pre">iterator_category</span></tt> will be convertible to <tt class="docutils literal"><span class="pre">boost::bidirectional_traversal_tag</span></tt>,
|
||||
but no longer to <tt class="docutils literal"><span class="pre">boost::random_access_traversal_tag</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id2" id="zip-iterator-requirements" name="zip-iterator-requirements"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt> requirements</a></h1>
|
||||
<div class="section" id="zip-iterator-requirements">
|
||||
<h1><a class="toc-backref" href="#id2"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt> requirements</a></h1>
|
||||
<p>All iterator types in the argument <tt class="docutils literal"><span class="pre">IteratorTuple</span></tt> shall model Readable Iterator.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id3" id="zip-iterator-models" name="zip-iterator-models"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt> models</a></h1>
|
||||
<div class="section" id="zip-iterator-models">
|
||||
<h1><a class="toc-backref" href="#id3"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt> models</a></h1>
|
||||
<p>The resulting <tt class="docutils literal"><span class="pre">zip_iterator</span></tt> models Readable Iterator.</p>
|
||||
<p>The fact that the <tt class="docutils literal"><span class="pre">zip_iterator</span></tt> models only Readable Iterator does not
|
||||
prevent you from modifying the values that the individual iterators point
|
||||
@ -418,8 +136,8 @@ models the least refined standard traversal concept in this set.</p>
|
||||
<tt class="docutils literal"><span class="pre">zip_iterator<IteratorTuple2></span></tt> if and only if <tt class="docutils literal"><span class="pre">IteratorTuple1</span></tt>
|
||||
is interoperable with <tt class="docutils literal"><span class="pre">IteratorTuple2</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1><a class="toc-backref" href="#id4" id="zip-iterator-operations" name="zip-iterator-operations"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt> operations</a></h1>
|
||||
<div class="section" id="zip-iterator-operations">
|
||||
<h1><a class="toc-backref" href="#id4"><tt class="docutils literal"><span class="pre">zip_iterator</span></tt> operations</a></h1>
|
||||
<p>In addition to the operations required by the concepts modeled by
|
||||
<tt class="docutils literal"><span class="pre">zip_iterator</span></tt>, <tt class="docutils literal"><span class="pre">zip_iterator</span></tt> provides the following
|
||||
operations.</p>
|
||||
@ -538,8 +256,8 @@ initialized to <tt class="docutils literal"><span class="pre">t</span></tt>.</td
|
||||
<!-- 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="#id5" id="examples" name="examples">Examples</a></h1>
|
||||
<div class="section" id="examples">
|
||||
<h1><a class="toc-backref" href="#id5">Examples</a></h1>
|
||||
<p>There are two main types of applications of the <tt class="docutils literal"><span class="pre">zip_iterator</span></tt>. The first
|
||||
one concerns runtime efficiency: If one has several controlled sequences
|
||||
of the same length that must be somehow processed, e.g., with the
|
||||
@ -638,6 +356,12 @@ the_transform_iterator it_end(
|
||||
);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr class="footer" />
|
||||
<a class="reference external" href="zip_iterator.rst">View document source</a>.
|
||||
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,17 +0,0 @@
|
||||
# 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)
|
||||
|
||||
test-suite iterator_examples
|
||||
: [ run reverse_iterator.cpp ]
|
||||
[ run node_iterator1.cpp ]
|
||||
[ run node_iterator2.cpp ]
|
||||
[ run node_iterator3.cpp ]
|
||||
[ run counting_iterator_example.cpp ]
|
||||
[ run filter_iterator_example.cpp ]
|
||||
[ run func_output_iter_example.cpp ]
|
||||
[ run indirect_iterator_example.cpp ]
|
||||
[ run permutation_iter_example.cpp ]
|
||||
[ run reverse_iterator_example.cpp ]
|
||||
[ run transform_iterator_example.cpp ]
|
||||
;
|
Reference in New Issue
Block a user