
Alex wrote: [cross_iterator] Please take a look and let me know what you think.
A great start but, if I understand correctly, there is a significant difference with how zip_iterator works. The zip_iterator's dereference method returns a tuple of references to the underlying values, whereas your cross_iterator just returns the tuple of iterators themselves. Thus to use cross_iterator with standard algorithms, the user would have to provide a function object that acts on iterators rather than values which is unusual and unintuitive. Thus to me it seems like cross_iterator needs to borrow much of the TMP code from the detail of zip_iterator (assuming the community is happy with how that class works). Conceptually the two classes only differ in the ++ and -- operators. Pete Bartlett *********************************************************************************** The Royal Bank of Scotland plc. Registered in Scotland No 90312. Registered Office: 36 St Andrew Square, Edinburgh EH2 2YB. Authorised and regulated by the Financial Services Authority This e-mail message is confidential and for use by the addressee only. If the message is received by anyone other than the addressee, please return the message to the sender by replying to it and then delete the message from your computer. Internet e-mails are not necessarily secure. The Royal Bank of Scotland plc does not accept responsibility for changes made to this message after it was sent. Whilst all reasonable care has been taken to avoid the transmission of viruses, it is the responsibility of the recipient to ensure that the onward transmission, opening or use of this message and any attachments will not adversely affect its systems or data. No responsibility is accepted by The Royal Bank of Scotland plc in this regard and the recipient should carry out such virus and other checks as it considers appropriate. Visit our websites at: http://www.rbs.co.uk/CBFM http://www.rbsmarkets.com ********************************************************************************