This repository has been archived by the owner on Jan 19, 2024. It is now read-only.
Tags: coveooss/linq
Tags
Fix dangling reference issues Some operators created iterators, used them to return a reference then destroyed the iterator. This does not mesh well with sequences whose iterators return references to data in the iterator, like those returned by select(). Fixed by returning value types instead.
Take out enumerable::const_iterator Having iterator and const_iterator in enumerable did not make much sense since enumerable is in itself a front for a sequence. It would've been trivial to copy the enumerable to access the non-const methods. So now enumerable only has an iterator and begin and end are both const methods. If you want const, use enumerable<const foo> (added a new as_const method to simplify this).
Added tests for non-const sequences All operators that support returning sequences of non-const references now have tests for that.