[Bug libstdc++/45488] lower_bound iterator must be default constructible

2010-09-01 Thread paolo dot carlini at oracle dot com
--- Comment #9 from paolo dot carlini at oracle dot com 2010-09-01 22:49 --- We are already well beyond the size of change which is not fixing any real bug and applied without a Copyright Assignment on file. If you are interested in enhancing the library, please file one and then start

[Bug libstdc++/45488] lower_bound iterator must be default constructible

2010-09-01 Thread giecrilj at stegny dot 2a dot pl
--- Comment #8 from giecrilj at stegny dot 2a dot pl 2010-09-01 22:42 --- (In reply to comment #5) > We are not adding testcases here, because a forward iterator must be default > constructible. On the other hand, unless we are talking concepts and forcing, the standard library is not

[Bug libstdc++/45488] lower_bound iterator must be default constructible

2010-09-01 Thread paolo dot carlini at oracle dot com
--- Comment #7 from paolo dot carlini at oracle dot com 2010-09-01 22:42 --- Doesn't always work with proxy iterators. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45488

[Bug libstdc++/45488] lower_bound iterator must be default constructible

2010-09-01 Thread giecrilj at stegny dot 2a dot pl
--- Comment #6 from giecrilj at stegny dot 2a dot pl 2010-09-01 22:39 --- BTW, why is this implementation so repetitive? What would be wrong with saying lower_bound (a_, b_, c_) := lower_bound (a, b, c, less ())? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45488

[Bug libstdc++/45488] lower_bound iterator must be default constructible

2010-09-01 Thread paolo dot carlini at oracle dot com
--- Comment #5 from paolo dot carlini at oracle dot com 2010-09-01 22:37 --- We are not adding testcases here, because a forward iterator must be default constructible. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45488

[Bug libstdc++/45488] lower_bound iterator must be default constructible

2010-09-01 Thread giecrilj at stegny dot 2a dot pl
--- Comment #4 from giecrilj at stegny dot 2a dot pl 2010-09-01 22:34 --- == Test case == #include #include namespace BUG45488 { class my_iter: public std:: iterator { private: typedef my_iter ref; private: pointer m_ptr; public: typedef std:: less compare; publi

[Bug libstdc++/45488] lower_bound iterator must be default constructible

2010-09-01 Thread paolo dot carlini at oracle dot com
--- Comment #3 from paolo dot carlini at oracle dot com 2010-09-01 22:09 --- Ok, I'll do it, for equal_range too, and __half can also be moved inside the loop. -- paolo dot carlini at oracle dot com changed: What|Removed |Added ---

[Bug libstdc++/45488] lower_bound iterator must be default constructible

2010-09-01 Thread paolo dot carlini at oracle dot com
--- Comment #2 from paolo dot carlini at oracle dot com 2010-09-01 20:53 --- Granted, __middle is not used after the loop, thus moving the declaration inside the loop seems a tad cleaner. But then we should do the change consistently for both lower_bound overloads and for upper_bound. P

[Bug libstdc++/45488] lower_bound iterator must be default constructible

2010-09-01 Thread paolo dot carlini at oracle dot com
--- Comment #1 from paolo dot carlini at oracle dot com 2010-09-01 20:44 --- I do not understand: according to Table 74 *any* forward iterator is default constructible, and C++0x isn't changing that, is even more explicit. Thus, I don't see which problem you are trying to solve. --