Compare commits

..

217 Commits

Author SHA1 Message Date
bcf87b9891 This commit was manufactured by cvs2svn to create branch
'function_signature_patches_1_31'.

[SVN r22633]
2004-04-13 12:19:16 +00:00
020d0b8f99 fixed a typop
[SVN r22612]
2004-04-06 15:59:40 +00:00
d21781d8d1 fixed a typo
[SVN r22611]
2004-04-06 15:41:34 +00:00
bed1d7fa7a Incorporated Keith MacDonald's comments
[SVN r22567]
2004-03-30 22:38:47 +00:00
0c3a68530e shared_container_iterator library:
- updated Copyright and License notices
 - Added shared_iterator_test to the iterator test suite.


[SVN r22140]
2004-02-02 22:16:36 +00:00
d3daa47561 Don't allow non-random-access-traversal iterators to be subtracted.
[SVN r22121]
2004-02-01 22:11:47 +00:00
62c993978a unneeded
[SVN r22100]
2004-02-01 04:14:03 +00:00
74f41dcb5b not needed
[SVN r22099]
2004-02-01 04:13:28 +00:00
c8d1461340 Added function_output_iterator and shared_container_iterator to index.
Updated outdated pdfs.


[SVN r22097]
2004-02-01 03:58:49 +00:00
13dcd5590f GCC2 workarounds; fixed permutation_iterator_example
[SVN r22048]
2004-01-29 13:33:33 +00:00
7f125cacb9 roll back mistake
[SVN r22045]
2004-01-29 05:56:47 +00:00
8cf04e1c7b Fixed PDF format as article
Added iterator_traits docs


[SVN r22043]
2004-01-29 05:55:26 +00:00
0122a0c8ec initial commit
[SVN r22041]
2004-01-29 03:44:57 +00:00
09549783cc added lvalue_concept_fail_expected.cpp
[SVN r22019]
2004-01-28 14:05:33 +00:00
273c1d784c new file
[SVN r22018]
2004-01-28 14:04:21 +00:00
a99ab81803 changed LvalueIteratorConcept to really catch errors
[SVN r22017]
2004-01-28 14:01:45 +00:00
0cb4ce54ef No need to test things not related to zip_iterator
[SVN r22012]
2004-01-27 21:24:20 +00:00
0670e05297 improved the abstract
[SVN r22010]
2004-01-27 18:47:31 +00:00
b353d45f2d added boost::ignore_unused_variable_warning(r);
[SVN r22009]
2004-01-27 18:34:00 +00:00
19d339c916 removed ReadableLvalue and WritableLvalue, added Lvalue
[SVN r22005]
2004-01-27 18:14:48 +00:00
506517191c new files for iterator concepts
[SVN r22004]
2004-01-27 17:03:46 +00:00
b502873f00 A few simplifications with the help of Intel tech support
[SVN r21997]
2004-01-27 12:42:59 +00:00
b838d27aa3 HTML updates
[SVN r21990]
2004-01-27 04:13:36 +00:00
17c373ded3 Added zip_iterator docs
[SVN r21988]
2004-01-27 04:12:54 +00:00
09e1cb9a38 Added transform_iterator, zip_iterator, and iterator_archetypes
[SVN r21987]
2004-01-27 04:07:10 +00:00
58288cfb48 Fixed parsed-literal
[SVN r21986]
2004-01-27 04:06:21 +00:00
cd730895ca Added PDF references
[SVN r21985]
2004-01-27 04:05:33 +00:00
2d2a84f8c4 Remove GPL'd material from CVS
[SVN r21984]
2004-01-27 04:04:00 +00:00
4871736269 Added pdfs
[SVN r21983]
2004-01-27 03:53:56 +00:00
fec82e2de8 Fixed interop downcasts
[SVN r21982]
2004-01-27 03:19:34 +00:00
a5b14e1a4f Remove copyright
[SVN r21981]
2004-01-27 03:17:30 +00:00
8480d452a9 vc6 ICE workarounds,
General simplification for compilers that don't support strict
interop.

Renamed "minus" -> "distance_from".


[SVN r21973]
2004-01-26 14:52:39 +00:00
5f870d780d vc6 linker workarounds
[SVN r21896]
2004-01-24 18:28:48 +00:00
010f715950 Borland workarounds
[SVN r21893]
2004-01-24 17:39:45 +00:00
020f2ab867 untabified
[SVN r21890]
2004-01-24 16:14:46 +00:00
2071230859 split constructor into two
[SVN r21863]
2004-01-21 16:26:04 +00:00
413d0b01cf added default constructor stuff to 9.31
[SVN r21862]
2004-01-21 16:25:41 +00:00
4abd97910d split the one constructor into two
[SVN r21861]
2004-01-21 16:20:39 +00:00
564ed3ed88 added a typo to 9.45
[SVN r21860]
2004-01-21 16:02:56 +00:00
c90814e515 removed mention of projection_iterator
[SVN r21859]
2004-01-21 15:58:29 +00:00
576395a469 added stuff about reference
[SVN r21858]
2004-01-21 14:24:50 +00:00
f75a60e074 #if def'd out the test on a writable base iterator
[SVN r21851]
2004-01-21 03:56:49 +00:00
3e5f366f4f added missing reverse_iterator wrapping of Iter
[SVN r21850]
2004-01-21 03:28:25 +00:00
a456f8d969 Workaround GCC2 eager instantiation bug.
[SVN r21847]
2004-01-20 19:40:50 +00:00
cfe17e7fe5 GCC2 workaround
[SVN r21846]
2004-01-20 19:38:54 +00:00
99891db75c last nights intense scramble to get a revision ready for the C++ std committee
[SVN r21828]
2004-01-19 18:52:48 +00:00
287c7ed0e7 Fixed some formatting.
[SVN r21824]
2004-01-18 21:21:06 +00:00
8bd881070c added changes from indirect iterator
[SVN r21823]
2004-01-18 21:18:22 +00:00
9cce6e8052 Finished 9.46 and fixed the ReST.
[SVN r21822]
2004-01-18 21:04:11 +00:00
b6068667c9 Fixed base() to always return const&. Cleaned up iterator_adaptor
specification of inheritance and base class parameters.


[SVN r21821]
2004-01-18 20:54:59 +00:00
309f741588 blah
[SVN r21818]
2004-01-18 20:44:10 +00:00
858e0e0c0b new file
[SVN r21817]
2004-01-18 20:26:02 +00:00
01fd0c92e3 initial commit
[SVN r21816]
2004-01-18 20:14:06 +00:00
23dcc53fed Add typos issue
[SVN r21815]
2004-01-18 20:13:23 +00:00
08cd7bf6e7 blah
[SVN r21814]
2004-01-18 20:09:56 +00:00
35c14adc12 initial commit
[SVN r21813]
2004-01-18 20:04:59 +00:00
3b992521af removed the word "options"
[SVN r21812]
2004-01-18 20:04:24 +00:00
646e78dc14 added transform_iterator_ref.diff's to 9.37
[SVN r21811]
2004-01-18 19:57:58 +00:00
4a7f6afd6a initial commit
[SVN r21810]
2004-01-18 19:56:39 +00:00
8294e14664 added smart pointer issue
[SVN r21809]
2004-01-18 19:53:29 +00:00
1102c88de7 removed an unchanged line
[SVN r21808]
2004-01-18 19:40:32 +00:00
c98620a552 new file
[SVN r21807]
2004-01-18 19:38:51 +00:00
24fcaed649 removed obsolete comment about istreambuf_iterator
[SVN r21806]
2004-01-18 19:23:42 +00:00
2c1eadfea3 added numbers for the new issues
also added new issue about transform iter


[SVN r21805]
2004-01-18 18:57:02 +00:00
ffe87e904f Changed contact witt. Fixed typo.
[SVN r21804]
2004-01-18 17:04:54 +00:00
fbd5da7237 Removed reference to numeri types.
[SVN r21803]
2004-01-18 17:02:58 +00:00
ecccc89a70 Updated contact details witt.
[SVN r21802]
2004-01-18 16:41:20 +00:00
2bacc663b1 vc6 workaround and a bugfix
[SVN r21799]
2004-01-18 16:17:39 +00:00
c5dc0fbf0e Updated contact details witt.
[SVN r21797]
2004-01-18 15:51:06 +00:00
f358cf3bf4 Fixed typo. Fixed operator- Returns clause.
[SVN r21796]
2004-01-18 14:52:21 +00:00
6b00e8e0ca fixed bug in copy constructor of iterator_archetype, base was not
being copy constructed


[SVN r21785]
2004-01-16 18:46:08 +00:00
5abf4d7556 Added iterator_archetype doc.
[SVN r21783]
2004-01-16 18:31:09 +00:00
8ca421c140 Disabled default construction for iterator archetypes that are not forward traversal iterators
[SVN r21781]
2004-01-16 06:18:44 +00:00
1e3da4b77f Return base by const&
[SVN r21775]
2004-01-15 19:06:25 +00:00
7c784ad112 Base returns by const&
[SVN r21773]
2004-01-15 19:02:46 +00:00
f72d264b6b changed the element type to be different from the index type to bring out more errors
[SVN r21771]
2004-01-15 19:01:38 +00:00
c6526fc609 fixed the value_type and reference
[SVN r21770]
2004-01-15 19:01:03 +00:00
3741fa77d2 changed m_iterator to m_elt and changed semantics of base() to return m_order
[SVN r21768]
2004-01-15 18:51:59 +00:00
ca70d5dee8 small change to models section with respect to interop
[SVN r21767]
2004-01-15 18:50:43 +00:00
85ad1f59da removed the use of += and + on a non-random access iterator
[SVN r21766]
2004-01-15 18:49:05 +00:00
73e6736566 removed use of std::distance and std::advance
also simplified the implementation by using the index iterator as
the base instead of the element iterator


[SVN r21765]
2004-01-15 18:48:35 +00:00
c08cc33394 Added thomas' interoperability idea
[SVN r21762]
2004-01-15 17:08:04 +00:00
8c3ed628dc Handled the rest of my issues.
[SVN r21752]
2004-01-15 04:31:50 +00:00
792acdb408 small linguistic cleanups
[SVN r21747]
2004-01-15 00:06:57 +00:00
c3fd7076c1 Applied use of iterator-category to specialized adapters
[SVN r21745]
2004-01-15 00:01:33 +00:00
33f630beca deleted the paragraph about iterator_traversal that was the result of my confusion
[SVN r21744]
2004-01-14 23:50:59 +00:00
f1f6262be7 Fixed up definition of facade's iterator_category
fixed table widths in new-iter-concepts

cross-referenced interoperability concept in iterator_facade_tutorial

iterator_traversal can't satisfy UnaryTypeTrait: that's a boolean trait.


[SVN r21742]
2004-01-14 23:23:54 +00:00
42147b9e86 added more rationale to the operator-> issue
[SVN r21739]
2004-01-14 20:29:51 +00:00
2854c5c761 added pseudo-code for facade_iterator_category type function
[SVN r21736]
2004-01-14 19:57:11 +00:00
731576fbfe updates
[SVN r21735]
2004-01-14 18:04:41 +00:00
36329b053d Issue 9.23, 9.35
[SVN r21734]
2004-01-14 17:32:12 +00:00
3b93bb25ff Issue 9.26
[SVN r21733]
2004-01-14 17:15:32 +00:00
2496402a8c changed use of interoperable to say "if and only if"
also changed models section in indirect_iterator to mention
  iterator_traversal<>::type in addition to iterator_category


[SVN r21732]
2004-01-14 17:04:04 +00:00
8a0e9a4fe5 updated as per Dave's comments (about Interoperable Iterators)
[SVN r21730]
2004-01-14 14:25:45 +00:00
5049bcdce5 some changes to Interoperable Iterators as per Dave's comments
[SVN r21729]
2004-01-14 14:23:38 +00:00
1c77a5a4ab fix typo
[SVN r21723]
2004-01-14 04:48:53 +00:00
9c42ccb0bd Undo regressions
[SVN r21721]
2004-01-14 04:38:14 +00:00
dd50d3f2ab More progress on indirect_iterator
[SVN r21720]
2004-01-14 04:16:27 +00:00
5f3b97ceff added more examples
[SVN r21719]
2004-01-14 03:56:16 +00:00
2d1e40bd20 made some changes to InteroperableIteratorConcept to match the current
docs, as per suggestions from Dave and Thomas


[SVN r21718]
2004-01-14 03:44:45 +00:00
a0bb423311 added test for InteroperableIteratorConcept
[SVN r21717]
2004-01-14 03:43:48 +00:00
0f8c236e9d Some progress on indirect_iterator
[SVN r21710]
2004-01-13 23:03:18 +00:00
736044938d added interoperability to permutation iterator
[SVN r21707]
2004-01-13 21:22:34 +00:00
983ba32def changes from Thomas for Interoperable Iterators
[SVN r21706]
2004-01-13 21:18:09 +00:00
d2dae62215 removed same diff type req from Interoperator
and did some work on permutation iterator


[SVN r21705]
2004-01-13 21:00:31 +00:00
9540444061 Some progress on indirect_iterator
[SVN r21704]
2004-01-13 20:22:58 +00:00
482c0cf52b changed comments about inheritance overspec
[SVN r21702]
2004-01-13 19:58:23 +00:00
849f01a0d1 added use of interoperable with to specialized iterators
[SVN r21701]
2004-01-13 19:55:24 +00:00
11770763df a couple small edits to the iterator adaptor tutorial
[SVN r21700]
2004-01-13 19:35:41 +00:00
df66940f0f added another valid expression to Interoperable Iterators
[SVN r21699]
2004-01-13 19:25:15 +00:00
80f6a13e79 added Interoperable Iterators
[SVN r21698]
2004-01-13 19:21:18 +00:00
0f8aa07e5c Kill off outer cv-stripping of Dereferenceable
[SVN r21696]
2004-01-13 19:18:42 +00:00
6b77e7f8bd added that Interoperable Iterator refines Single Pass Iterator
[SVN r21694]
2004-01-13 19:02:19 +00:00
838decca95 chagned the name from InteroperatorConcept to InteroperatorIteratorConcept
[SVN r21693]
2004-01-13 18:56:36 +00:00
e6c5b80afd uncommented the constrains on the operations for InteroperableIteratorConcept
(also changed the name)


[SVN r21692]
2004-01-13 18:52:30 +00:00
e7b5604ec5 fixed a transform_iterator issue
[SVN r21688]
2004-01-13 18:30:23 +00:00
ea3baba376 changed the stuff about iterator_category in reverse_iterator to match
the language we decided on for filter_iterator


[SVN r21687]
2004-01-13 18:17:27 +00:00
c6a5b7c292 changed algorithm for iterator_facade::iterator_category
and for filter_iterator


[SVN r21686]
2004-01-13 18:09:30 +00:00
45e90e0134 switched to using the no_proxy version of input_iterator_archetype
[SVN r21685]
2004-01-13 18:06:08 +00:00
18b1414d6c changed iterator_facade_default_category to stop lying about output_iterator_tag
[SVN r21683]
2004-01-13 18:04:13 +00:00
7facdd8590 simplified make_filter_iterator
also regen html using newer rst


[SVN r21682]
2004-01-13 15:59:47 +00:00
6cf1230c13 tweaked the models section of counting_iterator
[SVN r21678]
2004-01-13 14:22:39 +00:00
d70b0d3f05 fix from Dave, removed req. for Readable Iterator from reverse_iterator
[SVN r21677]
2004-01-13 14:14:47 +00:00
527b5e3caa more fixes from Dave
[SVN r21676]
2004-01-13 14:10:54 +00:00
4e1b53ed36 added the requirement that Predicate be a class (not a function pointer)
to one of filter iterator's constructors


[SVN r21675]
2004-01-13 13:53:34 +00:00
eb69638be1 unspecified instead of implementation defined
[SVN r21674]
2004-01-13 13:51:28 +00:00
a5c4497c01 Separate scanning of .rst and .tex files
[SVN r21673]
2004-01-13 13:38:19 +00:00
1033aeb186 tweaks
[SVN r21672]
2004-01-13 13:36:55 +00:00
e5d502d2f8 tweaks
[SVN r21671]
2004-01-13 13:12:45 +00:00
55e4fe2ab7 Fix abstract formatting
[SVN r21670]
2004-01-13 12:54:41 +00:00
8e2d210d42 Various fixups
[SVN r21669]
2004-01-13 12:51:08 +00:00
ec8d069057 more work on the specification of iterator_category
[SVN r21662]
2004-01-13 05:56:29 +00:00
2edb688882 further edits to filter_iterator's iterator_category
[SVN r21661]
2004-01-13 05:19:22 +00:00
3403cbbae6 fixes to iterator_category spec for filter_iterator
[SVN r21660]
2004-01-13 03:20:14 +00:00
b52b9325ba regen the html
[SVN r21659]
2004-01-13 02:58:21 +00:00
1e3b131a84 some changes from Dave
[SVN r21658]
2004-01-13 02:53:04 +00:00
250a374e07 changes as per Dave's comments
[SVN r21656]
2004-01-13 02:15:04 +00:00
f618d71c0e generating html
[SVN r21653]
2004-01-13 00:29:42 +00:00
3d37ba5120 updated abstract for counting iterator
[SVN r21652]
2004-01-13 00:27:51 +00:00
e785cc70d1 some major changes to the requirements/models section of counting_iterator
[SVN r21651]
2004-01-12 21:18:52 +00:00
3bf52ec2f2 Finished iterator_adaptor tutorial
Added example test code
Rolled forward old counting_iterator abstract for boost docs.


[SVN r21649]
2004-01-12 20:58:22 +00:00
19dbb5304c I forget
[SVN r21648]
2004-01-12 20:50:44 +00:00
4d13c285ea updated to match the changes to the standards proposal
[SVN r21647]
2004-01-12 20:43:30 +00:00
08ce6903ce resolved Howards issue about a->m
[SVN r21646]
2004-01-12 20:31:44 +00:00
75e76eb637 added member typedefs to reverse_iterator spec
[SVN r21645]
2004-01-12 20:26:36 +00:00
954d12a04d indenting, and forgot to say on the last checkin, added member typedefs
[SVN r21644]
2004-01-12 20:19:50 +00:00
bcc0e80439 improved the models section of transform iterator to discuss old iterator
categories


[SVN r21643]
2004-01-12 20:18:41 +00:00
436f7411f8 resolved the istreambuf_iterator/reference issue
[SVN r21642]
2004-01-12 20:03:47 +00:00
21381f3fa7 removed constraints on reference from Readable Iterator
[SVN r21641]
2004-01-12 19:54:57 +00:00
db9d88ad7b updated some issues for indirect_iterator
[SVN r21640]
2004-01-12 19:30:48 +00:00
6085e03da0 resolved some issues with counting_iterator
[SVN r21639]
2004-01-12 19:01:57 +00:00
b2407b0191 resolved some issues with transform iterator
[SVN r21638]
2004-01-12 18:38:32 +00:00
8181625365 resolved issue with reverse iterator abstract
[SVN r21637]
2004-01-12 18:31:01 +00:00
24052c3dff a couple edits
[SVN r21636]
2004-01-12 18:07:12 +00:00
c15707fd70 added requirements on the Base argument
[SVN r21635]
2004-01-12 18:03:04 +00:00
b4f1b069be Really re-resolved title level problem
A few minor edits


[SVN r21634]
2004-01-12 18:02:50 +00:00
129815f3dd added links to example source code
[SVN r21632]
2004-01-12 16:10:29 +00:00
a7eaa017b1 Fixed general formatting, re-resolved title level problem,
acknowledged Keith MacDonald for inspiring the tutorial.


[SVN r21631]
2004-01-12 16:05:15 +00:00
6e326921f9 moved from utility
[SVN r21630]
2004-01-12 16:00:57 +00:00
4a3fd9984d filled out some missing operator--, added a comment about the operations and concepts,
and added some text to the indirect iterator example


[SVN r21629]
2004-01-12 15:53:04 +00:00
0074f50573 fixed problem with V, C, R, D
[SVN r21628]
2004-01-12 15:26:20 +00:00
ba8dc44eac new file
[SVN r21627]
2004-01-12 15:20:01 +00:00
b0d3d34fcd small edit to emphasize where the iterator adaptor and facade docs are
[SVN r21626]
2004-01-12 15:14:26 +00:00
7f0ed4f5be resolved title level problem
[SVN r21625]
2004-01-12 15:02:21 +00:00
7fc54ec2d8 a couple small edits to the iterator facade tutorial
[SVN r21620]
2004-01-12 04:36:23 +00:00
f0add8a043 added base() function to the interface of the specialized adaptors
[SVN r21619]
2004-01-12 04:17:26 +00:00
5b608e114b added example to permutation iterator, and also the make_... function
[SVN r21616]
2004-01-12 03:41:47 +00:00
06e1fa88b9 tutorial updates
[SVN r21615]
2004-01-12 02:49:55 +00:00
a6b2a098c1 new file
[SVN r21614]
2004-01-12 01:53:23 +00:00
4f0684ffac fixed a typo
[SVN r21613]
2004-01-12 01:52:47 +00:00
fbfcf97e18 some progress on transform_iterator
[SVN r21612]
2004-01-12 01:51:27 +00:00
45b6a92f61 added make_xxx functions for some of the iterators
[SVN r21611]
2004-01-12 01:30:47 +00:00
c6814925ac some progress
[SVN r21610]
2004-01-12 00:48:21 +00:00
6c114a539d changed models section
[SVN r21609]
2004-01-12 00:14:12 +00:00
b6c82968b8 new file
[SVN r21605]
2004-01-11 17:48:31 +00:00
2271aceab8 improvements to the spec
[SVN r21604]
2004-01-11 17:46:42 +00:00
0db07e9455 added concept checks
[SVN r21603]
2004-01-11 17:45:33 +00:00
f158591054 added const to dummyT for readable_lvalue
[SVN r21601]
2004-01-11 17:28:45 +00:00
1b210355bf added bodies to functions to prevent linker errors
[SVN r21600]
2004-01-11 17:27:59 +00:00
075c341a37 added const to operator*
[SVN r21599]
2004-01-11 16:54:00 +00:00
bab25c04db added some missing peices to the spec
[SVN r21598]
2004-01-11 16:40:48 +00:00
2a60dfa087 progress on filter iterator
[SVN r21594]
2004-01-11 15:46:34 +00:00
ef69c73e89 added some concept checks
[SVN r21593]
2004-01-11 15:45:16 +00:00
bf9534e1ee Changed the constructor parameter to be a const reference.
[SVN r21592]
2004-01-11 15:43:29 +00:00
0e11bd6a0c added some more tests
[SVN r21591]
2004-01-11 15:13:07 +00:00
ff10cfd5dc Fix case of is_pod.hpp
[SVN r21589]
2004-01-11 15:11:52 +00:00
400f35cbb0 fixed some bugs
[SVN r21588]
2004-01-11 15:09:26 +00:00
59340bca4c Began tutorial and examples.
[SVN r21584]
2004-01-11 01:02:36 +00:00
6c62f31f0a Updated pointee and indirect_reference so that pointee represents the
immutability of the pointed-to type via const qualification.  The
pointee of a proxy-based iterator will be const qualified unless a
mutable reference to the value_type can be bound to the returned
proxy.

Added a test for pointee

Fixed iterator_facade so operator[] result type computation didn't
cause a problem with abstract types.

Updated iterator_facade operator[] docs for accuracy.

Allowed Borland to simply fail the indirect_iterator_member_types test
because of its lame const-dropping, instead of trying to work around
it.


[SVN r21579]
2004-01-11 00:03:09 +00:00
dd5fb425fa updates
[SVN r21577]
2004-01-10 19:00:48 +00:00
c903cf4801 resolved a cvs confict in merge
added a rationale note about indirect_iterator requirements muddled


[SVN r21576]
2004-01-10 18:05:19 +00:00
1c26f7dd43 ETI workarounds for vc6
[SVN r21547]
2004-01-08 14:57:59 +00:00
c546a3e875 Intel8 GCC-spoofing workaround
[SVN r21531]
2004-01-07 15:21:57 +00:00
2183de96a1 Reverted unwanted checkin.
[SVN r21520]
2004-01-06 19:44:06 +00:00
fb1fc6f909 *** empty log message ***
[SVN r21519]
2004-01-06 19:37:17 +00:00
20b31d1cca Added traits:
is_incrementable.hpp: checks whether ++x is well-formed

   pointee.hpp: value_type of iterators or smart pointers

   indirect_reference.hpp: reference type of iterators or smart pointers

indirect_iterator.hpp
indirect_iterator_member_types.cpp

   Use pointee/indirect_reference to select value/reference type.

iterator_concepts.hpp: Fixed interoperable test.  Hardly tests enough, but it's a start

minimum_category.hpp: Better error messages for vc6

indirect_iterator_test.cpp: Workarounds for compilers without SFINAE

static_assert_same.hpp: Informative error reports; added a macro.

zip_iterator_test.hpp: Added missing #include

Jamfile: made zip_iterator test pass with vc6/stlport


[SVN r21514]
2004-01-06 17:35:36 +00:00
f716d705c5 change to iterator_traits for custom pointer
[SVN r21483]
2004-01-04 18:44:54 +00:00
1fca93be10 first stab at simplified version
[SVN r21482]
2004-01-04 18:44:29 +00:00
f96a2b3d81 removed referent, use iterator_traits for smart pointers too
[SVN r21481]
2004-01-04 18:17:32 +00:00
a7edd713d8 added no_traversal_tag
[SVN r21480]
2004-01-04 18:03:13 +00:00
bca1c2dea5 Added my name to some issues, fixed more of the formatting.
[SVN r21479]
2004-01-04 17:08:56 +00:00
dfad37d0f9 added indirect_iterator_member_types.cpp
[SVN r21478]
2004-01-04 16:35:22 +00:00
3376955b80 added a test with no defaults
[SVN r21477]
2004-01-04 16:15:55 +00:00
e98b130d77 fixed a bug in get_from_iter
[SVN r21476]
2004-01-04 16:07:58 +00:00
a450053b0a no change
[SVN r21475]
2004-01-04 16:07:24 +00:00
0b5b315a7f Re-ReST-ify
[SVN r21474]
2004-01-04 14:10:44 +00:00
5cc31f6539 removed inheritance, specified member types explicitly
[SVN r21471]
2004-01-04 04:29:50 +00:00
f0248daa1e a few edits
[SVN r21470]
2004-01-04 04:27:43 +00:00
798562e75b fixed a bug in default_indirect_value
[SVN r21469]
2004-01-04 04:26:23 +00:00
68e7d3f0d5 new file
[SVN r21468]
2004-01-03 22:58:56 +00:00
e9bb297ed2 ReST-ified
[SVN r21467]
2004-01-03 21:55:25 +00:00
d5e525dd19 added my name to a bunch of them
[SVN r21465]
2004-01-03 20:39:39 +00:00
c326818764 intel 8.0 workaround
[SVN r21464]
2004-01-03 20:38:58 +00:00
57ec457f32 replaced old list with Matt's list, and added some missing ones
[SVN r21463]
2004-01-03 20:31:48 +00:00
c04b13641f GCC-3.1 deque iterator no-interop workaround.
[SVN r21461]
2004-01-03 20:21:41 +00:00
0bf570c98d Workaround for older EDGs
[SVN r21455]
2004-01-03 16:00:49 +00:00
28dfcbd6b0 Fixes for gcc-3.4
[SVN r21453]
2004-01-03 02:47:08 +00:00
30 changed files with 3899 additions and 3161 deletions

Binary file not shown.

View File

@ -474,11 +474,12 @@ the underlying iterator object of a <tt class="literal"><span class="pre">revers
</table>
<p>The user of <tt class="literal"><span class="pre">iterator_adaptor</span></tt> creates a class derived from an
instantiation of <tt class="literal"><span class="pre">iterator_adaptor</span></tt> and then selectively
redefines some of the core member functions described in the table
above. The <tt class="literal"><span class="pre">Base</span></tt> type need not meet the full requirements for an
iterator. It need only support the operations used by the core
interface functions of <tt class="literal"><span class="pre">iterator_adaptor</span></tt> that have not been
redefined in the user's derived class.</p>
redefines some of the core member functions described in the
<tt class="literal"><span class="pre">iterator_facade</span></tt> core requirements table. The <tt class="literal"><span class="pre">Base</span></tt> type need
not meet the full requirements for an iterator; it need only
support the operations used by the core interface functions of
<tt class="literal"><span class="pre">iterator_adaptor</span></tt> that have not been redefined in the user's
derived class.</p>
<p>Several of the template parameters of <tt class="literal"><span class="pre">iterator_adaptor</span></tt> default
to <tt class="literal"><span class="pre">use_default</span></tt>. This allows the
user to make use of a default parameter even when she wants to

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,7 @@
#!/usr/bin/python
# 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)
#
# Generate html, TeX, and PDF versions of all the source files
@ -13,7 +16,7 @@ if 0:
for s in sources:
syscmd('boosthtml %s' % s)
else:
extensions = ('html', 'tex', 'pdf')
extensions = ('html', 'pdf')
if len(sys.argv) > 1:
extensions = sys.argv[1:]
@ -23,7 +26,7 @@ else:
for s in sources
]
print 'make -k %s' % ' '.join(all)
syscmd('make -k %s' % ' '.join(all))
print 'make %s' % ' '.join(all)
syscmd('make %s' % ' '.join(all))

View File

@ -152,9 +152,10 @@ in <tt class="literal"><span class="pre">indirect_iterator</span></tt>.</li>
<li><a class="reference" href="iterator_traits.html"><tt class="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
retrieve an iterator's traits. Also corrects for the deficiencies
of broken implementations of <tt class="literal"><span class="pre">std::iterator_traits</span></tt>.</li>
<li><a class="reference" href="interoperable.html"><tt class="literal"><span class="pre">interoperable.hpp</span></tt></a> (<a class="reference" href="interoperable.pdf">PDF</a>): Provides an <a class="reference" href="../../mpl/doc/index.html">MPL</a>-compatible metafunction for
testing iterator interoperability</li>
</ul>
<!-- * |interoperable|_ (PDF__): Provides an MPL_\ -compatible metafunction for
testing iterator interoperability -->
<!-- comment! __ interoperable.pdf -->
</div>
<div class="section" id="testing-and-concept-checking">
<h2><a class="toc-backref" href="#id27" name="testing-and-concept-checking">Testing and Concept Checking</a></h2>

View File

@ -212,8 +212,8 @@ Traits
retrieve an iterator's traits. Also corrects for the deficiencies
of broken implementations of ``std::iterator_traits``.
* |interoperable|_ (PDF__): Provides an MPL_\ -compatible metafunction for
testing iterator interoperability
.. * |interoperable|_ (PDF__): Provides an MPL_\ -compatible metafunction for
testing iterator interoperability
.. |pointee| replace:: ``pointee.hpp``
.. _pointee: pointee.html
@ -225,7 +225,7 @@ __ iterator_traits.pdf
.. |interoperable| replace:: ``interoperable.hpp``
.. _interoperable: interoperable.html
__ interoperable.pdf
.. comment! __ interoperable.pdf
.. _MPL: ../../mpl/doc/index.html

Binary file not shown.

View File

@ -92,11 +92,12 @@ the underlying iterator object of a <tt class="literal"><span class="pre">revers
</table>
<p>The user of <tt class="literal"><span class="pre">iterator_adaptor</span></tt> creates a class derived from an
instantiation of <tt class="literal"><span class="pre">iterator_adaptor</span></tt> and then selectively
redefines some of the core member functions described in the table
above. The <tt class="literal"><span class="pre">Base</span></tt> type need not meet the full requirements for an
iterator. It need only support the operations used by the core
interface functions of <tt class="literal"><span class="pre">iterator_adaptor</span></tt> that have not been
redefined in the user's derived class.</p>
redefines some of the core member functions described in the
<tt class="literal"><span class="pre">iterator_facade</span></tt> core requirements table. The <tt class="literal"><span class="pre">Base</span></tt> type need
not meet the full requirements for an iterator; it need only
support the operations used by the core interface functions of
<tt class="literal"><span class="pre">iterator_adaptor</span></tt> that have not been redefined in the user's
derived class.</p>
<p>Several of the template parameters of <tt class="literal"><span class="pre">iterator_adaptor</span></tt> default
to <tt class="literal"><span class="pre">use_default</span></tt>. This allows the
user to make use of a default parameter even when she wants to

Binary file not shown.

View File

@ -18,11 +18,12 @@ instance of the ``Base`` type, which it stores as a member.
The user of ``iterator_adaptor`` creates a class derived from an
instantiation of ``iterator_adaptor`` and then selectively
redefines some of the core member functions described in the table
above. The ``Base`` type need not meet the full requirements for an
iterator. It need only support the operations used by the core
interface functions of ``iterator_adaptor`` that have not been
redefined in the user's derived class.
redefines some of the core member functions described in the
``iterator_facade`` core requirements table. The ``Base`` type need
not meet the full requirements for an iterator; it need only
support the operations used by the core interface functions of
``iterator_adaptor`` that have not been redefined in the user's
derived class.
Several of the template parameters of ``iterator_adaptor`` default
to ``use_default``. This allows the

View File

@ -7,7 +7,7 @@
<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-01-16" />
<meta name="date" content="2004-01-27" />
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2004. All rights reserved" />
<link rel="stylesheet" href="default.css" type="text/css" />
</head>
@ -26,7 +26,7 @@
<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>
<tr><th class="docinfo-name">Date:</th>
<td>2004-01-16</td></tr>
<td>2004-01-27</td></tr>
<tr><th class="docinfo-name">Copyright:</th>
<td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2004. All rights reserved</td></tr>
</tbody>
@ -35,7 +35,11 @@ Lab</a>, <a class="last reference" href="http://www.styleadvisor.com">Zephyr Ass
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field"><th class="field-name">abstract:</th><td class="field-body">iterator archetypes provide a means to check the compile time requirements of a generic component on its iterator arguments.</td>
<tr class="field"><th class="field-name">abstract:</th><td class="field-body">The <tt class="literal"><span class="pre">iterator_archetype</span></tt> class constructs a minimal implementation of
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="literal"><span class="pre">boost::concept_check</span></tt></a> library.</td>
</tr>
</tbody>
</table>

Binary file not shown.

View File

@ -13,7 +13,15 @@
.. _`Open Systems Lab`: http://www.osl.iu.edu
.. _`Zephyr Associates, Inc.`: http://www.styleadvisor.com
:abstract: iterator archetypes provide a means to check the compile time requirements of a generic component on its iterator arguments.
:abstract: The ``iterator_archetype`` class constructs a minimal implementation of
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 |concepts|_ library.
.. |concepts| replace:: ``boost::concept_check``
.. _concepts: ../../concept_check/index.html
.. contents:: Table of Contents
@ -178,4 +186,4 @@ The nested trait types are defined as follows:
2. X is convertible to TraversalCategory

View File

@ -1287,6 +1287,10 @@ appropriate:</p>
...
private:
struct enabler {};
public:
template &lt;class OtherValue&gt;
node_iter(
node_iter&lt;OtherValue&gt; const&amp; other

Binary file not shown.

View File

@ -483,6 +483,10 @@ appropriate::
...
private:
struct enabler {};
public:
template <class OtherValue>
node_iter(
node_iter<OtherValue> const& other

View File

@ -7,7 +7,7 @@
<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="2004-01-19" />
<meta name="date" content="2004-04-06" />
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. All rights reserved" />
<link rel="stylesheet" href="default.css" type="text/css" />
</head>
@ -26,7 +26,7 @@
<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>
<tr><th class="docinfo-name">Date:</th>
<td>2004-01-19</td></tr>
<td>2004-04-06</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
accepted for Technical Report 1 by the C++ standard
committee's library working group. This proposal is a
@ -201,10 +201,9 @@ iterator concepts because the new concepts provide a more accurate way
to express their type requirements. The result is algorithms that are
usable in more situations and have fewer type requirements.</p>
<p>For the next working paper (but not for TR1), the committee should
consider the following changes to the type requirements of
algorithms. These changes are phrased as phrased as textual
substitutions, listing the algorithms to which each textual
substitution applies.</p>
consider the following changes to the type requirements of algorithms.
These changes are phrased as textual substitutions, listing the
algorithms to which each textual substitution applies.</p>
<p>Forward Iterator -&gt; Forward Traversal Iterator and Readable Iterator</p>
<blockquote>
<tt class="literal"><span class="pre">find_end,</span> <span class="pre">adjacent_find,</span> <span class="pre">search,</span> <span class="pre">search_n,</span> <span class="pre">rotate_copy,</span>
@ -999,10 +998,5 @@ LocalWords: incrementable xxx min prev inplace png oldeqnew AccessTag struct
LocalWords: TraversalTag typename lvalues DWA Hmm JGS mis enum -->
</div>
</div>
<hr class="footer" />
<div class="footer">
<a class="reference" href="new-iter-concepts.rst">View document source</a>.
Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
</div>
</body>
</html>

Binary file not shown.

View File

@ -163,10 +163,9 @@ to express their type requirements. The result is algorithms that are
usable in more situations and have fewer type requirements.
For the next working paper (but not for TR1), the committee should
consider the following changes to the type requirements of
algorithms. These changes are phrased as phrased as textual
substitutions, listing the algorithms to which each textual
substitution applies.
consider the following changes to the type requirements of algorithms.
These changes are phrased as textual substitutions, listing the
algorithms to which each textual substitution applies.
Forward Iterator -> Forward Traversal Iterator and Readable Iterator

Binary file not shown.

View File

@ -21,7 +21,7 @@
<tr><th class="docinfo-name">Author:</th>
<td>David Abrahams</td></tr>
<tr><th class="docinfo-name">Contact:</th>
<td><a class="first reference" href="mailto:dave&#64;boost-consulting.com">dave&#64;boost-consulting.com</a>, <a class="reference" href="mailto:jsiek&#64;osl.iu.edu">jsiek&#64;osl.iu.edu</a>, <a class="last reference" href="mailto:witt&#64;ive.uni-hannover.de">witt&#64;ive.uni-hannover.de</a></td></tr>
<td><a class="first last reference" href="mailto:dave&#64;boost-consulting.com">dave&#64;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>
<tr><th class="docinfo-name">Date:</th>

View File

@ -10,4 +10,11 @@ test-suite iterator_examples
[ run node_iterator1.cpp ]
[ run node_iterator2.cpp ]
[ run node_iterator3.cpp ]
[ run counting_iterator_example.cpp ]
[ run filter_iterator_example.cpp ]
[ run function_output_iterator_example.cpp ]
[ run indirect_iterator_example.cpp ]
[ run permutation_iterator_example.cpp ]
[ run reverse_iterator_example.cpp ]
[ run transform_iterator_example.cpp ]
;

View File

@ -26,7 +26,9 @@ namespace boost {
typedef void pointer;
typedef void reference;
explicit function_output_iterator(const UnaryFunction& f = UnaryFunction())
explicit function_output_iterator() {}
explicit function_output_iterator(const UnaryFunction& f)
: m_f(f) {}
struct output_proxy {

View File

@ -107,13 +107,8 @@ struct iterator_facade_default_category
// check for readability
, is_convertible<Reference, ValueParam>
>
, mpl::if_<
iterator_writability_disabled<ValueParam,Reference>
, std::input_iterator_tag
, input_output_iterator_tag
>
, mpl::identity<std::output_iterator_tag>
, mpl::identity<std::input_iterator_tag>
, mpl::identity<Traversal>
>
>
{

View File

@ -27,7 +27,11 @@ namespace boost {
//
// Traversal Categories
//
struct incrementable_traversal_tag {};
struct no_traversal_tag {};
struct incrementable_traversal_tag
: no_traversal_tag {};
struct single_pass_traversal_tag
: incrementable_traversal_tag {};

View File

@ -6,8 +6,6 @@
subproject libs/iterator/test ;
subinclude libs/iterator/example ;
import testing ;
test-suite iterator
@ -35,10 +33,11 @@ test-suite iterator
[ run unit_tests.cpp ]
[ run concept_tests.cpp ]
[ compile-fail lvalue_concept_fail_expected.cpp ]
[ run iterator_adaptor_cc.cpp ]
[ run iterator_adaptor_test.cpp ]
[ compile iterator_archetype_cc.cpp ]
[ compile-fail iterator_archetype_default_ctor.cpp ]
[ compile-fail lvalue_concept_fail_expected.cpp ]
[ run transform_iterator_test.cpp ]
[ run indirect_iterator_test.cpp ]
[ compile indirect_iterator_member_types.cpp ]
@ -58,5 +57,5 @@ test-suite iterator
[ run ../../utility/reverse_iterator_example.cpp ]
[ run ../../utility/transform_iterator_example.cpp ]
[ run ../../utility/iterator_traits_test.cpp ]
[ run ../../utility/shared_iterator_test.cpp ]
;

View File

@ -0,0 +1,22 @@
//
// Copyright Thomas Witt 2004. Permission to copy, use,
// modify, sell and distribute this software is granted provided this
// copyright notice appears in all copies. This software is provided
// "as is" without express or implied warranty, and with no claim as
// to its suitability for any purpose.
//
#include <boost/iterator/iterator_archetypes.hpp>
int main()
{
typedef boost::iterator_archetype<
int
, boost::iterator_archetypes::readable_iterator_t
, boost::single_pass_traversal_tag
> iter;
// single_pass_traversal iterators are not required to be
// default constructible
iter it;
}

View File

@ -82,86 +82,6 @@ int main( void )
size_t num_successful_tests = 0;
size_t num_failed_tests = 0;
/////////////////////////////////////////////////////////////////////////////
//
// Make sure tuples are supported
//
/////////////////////////////////////////////////////////////////////////////
std::cout << "Basic tuple support: "
<< std::flush;
typedef boost::tuples::tuple<int, double> mytuple;
mytuple t1;
boost::tuples::get<0>(t1) = 42;
boost::tuples::get<1>(t1) = 42.1;
if( 2 == boost::tuples::length<mytuple>::value &&
42 == boost::tuples::get<0>(t1) &&
42.1 == boost::tuples::get<1>(t1)
)
{
++num_successful_tests;
std::cout << "OK" << std::endl;
}
else
{
++num_failed_tests = 0;
std::cout << "not OK" << std::endl;
}
/////////////////////////////////////////////////////////////////////////////
//
// Make sure iterator adaptor is supported
//
/////////////////////////////////////////////////////////////////////////////
std::cout << "Basic iterator adaptor support: "
<< std::flush;
std::set<int> s;
s.insert(42);
s.insert(43);
s.insert(44);
typedef boost::transform_iterator<
std::binder1st<std::plus<int> >,
std::set<int>::iterator
>
add_seven_iterator;
typedef boost::transform_iterator<
std::binder1st<std::plus<int> >,
std::set<int>::const_iterator
>
const_add_seven_iterator;
add_seven_iterator set_run(s.begin(), std::bind1st(std::plus<int>(), 7));
add_seven_iterator set_end(s.end(), std::bind1st(std::plus<int>(), 7));
const_add_seven_iterator const_set_run(s.begin(), std::bind1st(std::plus<int>(), 7));
// set_run = const_set_run; // Error: can't convert from const to non-const
const_set_run = set_run;
if( 49 == *set_run &&
50 == *++set_run &&
51 == *++set_run &&
set_end == ++set_run &&
49 == *const_set_run &&
50 == *++const_set_run &&
51 == *++const_set_run &&
set_end == ++const_set_run
)
{
++num_successful_tests;
std::cout << "OK" << std::endl;
}
else
{
++num_failed_tests = 0;
std::cout << "not OK" << std::endl;
}
/////////////////////////////////////////////////////////////////////////////
//
// Zip iterator construction and dereferencing