Home » Community » U++ community news and announcements » 2022(?).2 beta
Re: 2022(?).2 beta [message #59382 is a reply to message #59373] |
Mon, 19 December 2022 18:43 |
Lance
Messages: 527 Registered: March 2007
|
Contributor |
|
|
mirek wrote on Mon, 19 December 2022 04:08Lance wrote on Mon, 19 December 2022 00:41Hello Mirek and Klugier:
The following code is an excerpt from /usr/include/c++/11/bits/stl_vector.h
iterator
begin() _GLIBCXX_NOEXCEPT
{ return iterator(this->_M_impl._M_start); }
/**
* Returns a read-only (constant) iterator that points to the
* first element in the %vector. Iteration is done in ordinary
* element order.
*/
const_iterator
begin() const _GLIBCXX_NOEXCEPT
{ return const_iterator(this->_M_impl._M_start); }
/**
* Returns a read/write iterator that points one past the last
* element in the %vector. Iteration is done in ordinary
* element order.
*/
iterator
end() _GLIBCXX_NOEXCEPT
{ return iterator(this->_M_impl._M_finish); }
Without looking into the definition of _GLIBCXX_NOEXCEPT, most experienced c++ users(, all participants of this thread for sure,) can tell that it will expand to noexcept when the -std version supports it and vanishes otherwise.
It might not be pleasant or pretty, but it certainly works and can be argued as the most reasonable solution in this particular situation.
It's a common problem that libraries with some history need to support different versions; maintaining backward compatibility should not mean stay backward. U++ necessarily has done similar thing for similar purposes, I believe.
Why is it so hard to swallow in this particular case?
BR,
Lance
Uhm, I guess we are presented with 2 more or less equivalently ugly options here. One of them requires a significant amount of work....
Hello Mirek and Klugier:
Another drawback for the disable-warnings option: Like Novo said, he and many similar-minded people are still using very old systems/compilers; people are different. What if in 4 years' horizon you decide that time has mature for switching to c++20 but there are still a significant number of users who wish to be able to have c++14 as an option?
From the point of smoother user experience, I am not quite sure if it's a good idea that the mainstream version today will become completely unusable the next day because it's upgraded. You likely need to deprecate it and keep it going for a couple of more years so people have time to transit to the new mainstream version/standard.
If this will be the case, we end up still need to be able to support both c++14 and c++20 at the same time for at least a period of time: trouble is deferred instead of solved. And as times goes, more [=] cases will be added to U++ (not in a significant number, but it's a non-decreasing function of time), chance is it will take more time and effort at the postponed switch date.
BR,
Lance
[Updated on: Mon, 19 December 2022 18:49] Report message to a moderator
|
|
|
|
|
2022(?).2 beta
By: mirek on Sat, 03 December 2022 15:47
|
|
|
Re: 2022(?).2 beta
By: Novo on Sun, 04 December 2022 17:48
|
|
|
Re: 2022(?).2 beta
By: mr_ped on Thu, 08 December 2022 00:54
|
|
|
Re: 2022(?).2 beta
By: mirek on Fri, 09 December 2022 09:56
|
|
|
Re: 2022(?).2 beta
By: Tom1 on Sat, 10 December 2022 19:17
|
|
|
Re: 2022(?).2 beta
By: mirek on Sat, 10 December 2022 23:39
|
|
|
Re: 2022(?).2 beta
By: Tom1 on Sun, 11 December 2022 19:03
|
|
|
Re: 2022(?).2 beta
By: Lance on Sun, 11 December 2022 19:45
|
|
|
Re: 2022(?).2 beta
By: mirek on Sun, 11 December 2022 20:02
|
|
|
Re: 2022(?).2 beta
By: Lance on Sun, 11 December 2022 21:13
|
|
|
Re: 2022(?).2 beta
By: mirek on Sun, 11 December 2022 22:54
|
|
|
Re: 2022(?).2 beta
By: Klugier on Sun, 11 December 2022 23:08
|
|
|
Re: 2022(?).2 beta
By: Lance on Mon, 12 December 2022 00:47
|
|
|
Re: 2022(?).2 beta
By: mirek on Mon, 12 December 2022 10:44
|
|
|
Re: 2022(?).2 beta
By: Lance on Tue, 13 December 2022 03:19
|
|
|
Re: 2022(?).2 beta
By: Lance on Mon, 12 December 2022 00:52
|
|
|
Re: 2022(?).2 beta
By: mirek on Mon, 12 December 2022 22:18
|
|
|
Re: 2022(?).2 beta
By: Lance on Tue, 13 December 2022 03:21
|
|
|
Re: 2022(?).2 beta
By: Tom1 on Tue, 13 December 2022 10:25
|
|
|
Re: 2022(?).2 beta
By: mirek on Tue, 13 December 2022 10:45
|
|
|
Re: 2022(?).2 beta
By: Tom1 on Tue, 13 December 2022 10:56
|
|
|
Re: 2022(?).2 beta
By: mirek on Tue, 13 December 2022 11:08
|
|
|
Re: 2022(?).2 beta
By: Tom1 on Tue, 13 December 2022 11:42
|
|
|
Re: 2022(?).2 beta
By: mirek on Tue, 13 December 2022 11:57
|
|
|
Re: 2022(?).2 beta
By: mirek on Tue, 13 December 2022 11:58
|
|
|
Re: 2022(?).2 beta
By: mirek on Tue, 13 December 2022 13:21
|
|
|
Re: 2022(?).2 beta
By: Tom1 on Tue, 13 December 2022 13:30
|
|
|
Re: 2022(?).2 beta
By: mirek on Tue, 13 December 2022 14:40
|
|
|
Re: 2022(?).2 beta
By: mdelfede on Sun, 18 December 2022 23:03
|
|
|
Re: 2022(?).2 beta
By: Lance on Sun, 18 December 2022 23:14
|
|
|
Re: 2022(?).2 beta
By: Klugier on Sun, 18 December 2022 23:35
|
|
|
Re: 2022(?).2 beta
By: Lance on Mon, 19 December 2022 00:46
|
|
|
Re: 2022(?).2 beta
By: zsolt on Mon, 12 December 2022 12:42
|
|
|
Re: 2022(?).2 beta
By: mirek on Mon, 12 December 2022 12:59
|
|
|
Re: 2022(?).2 beta
By: zsolt on Mon, 12 December 2022 13:24
|
|
|
Re: 2022(?).2 beta
By: mirek on Mon, 12 December 2022 22:17
|
|
|
Re: 2022(?).2 beta
By: zsolt on Tue, 13 December 2022 17:33
|
|
|
Re: 2022(?).2 beta
By: zsolt on Tue, 13 December 2022 17:39
|
|
|
Re: 2022(?).2 beta
By: mirek on Tue, 13 December 2022 17:49
|
|
|
Re: 2022(?).2 beta
By: zsolt on Tue, 13 December 2022 18:17
|
|
|
Re: 2022(?).2 beta
By: mirek on Tue, 13 December 2022 18:32
|
|
|
Re: 2022(?).2 beta
By: zsolt on Tue, 13 December 2022 19:01
|
|
|
Re: 2022(?).2 beta
By: mirek on Tue, 13 December 2022 19:12
|
|
|
Re: 2022(?).2 beta
By: zsolt on Tue, 13 December 2022 20:01
|
|
|
Re: 2022(?).2 beta
By: mirek on Wed, 14 December 2022 14:05
|
|
|
Re: 2022(?).2 beta
By: Lance on Sun, 18 December 2022 05:07
|
|
|
Re: 2022(?).2 beta
By: mirek on Sun, 18 December 2022 13:26
|
|
|
Re: 2022(?).2 beta
By: Lance on Sun, 18 December 2022 14:48
|
|
|
Re: 2022(?).2 beta
By: Klugier on Sun, 18 December 2022 15:41
|
|
|
Re: 2022(?).2 beta
By: Lance on Sun, 18 December 2022 18:50
|
|
|
Re: 2022(?).2 beta
By: mirek on Sun, 18 December 2022 19:55
|
|
|
Re: 2022(?).2 beta
By: Lance on Sun, 18 December 2022 20:08
|
|
|
Re: 2022(?).2 beta
By: Klugier on Sun, 18 December 2022 21:54
|
|
|
Re: 2022(?).2 beta
By: zsolt on Sun, 18 December 2022 22:33
|
|
|
Re: 2022(?).2 beta
By: Lance on Sun, 18 December 2022 22:55
|
|
|
Re: 2022(?).2 beta
By: zsolt on Sun, 18 December 2022 23:29
|
|
|
Re: 2022(?).2 beta
By: Lance on Mon, 19 December 2022 00:41
|
|
|
Re: 2022(?).2 beta
By: mirek on Mon, 19 December 2022 10:08
|
|
|
Re: 2022(?).2 beta
By: Lance on Mon, 19 December 2022 18:43
|
|
|
Re: 2022(?).2 beta
By: Lance on Mon, 19 December 2022 19:10
|
|
|
Re: 2022(?).2 beta
By: mirek on Mon, 19 December 2022 20:22
|
|
|
Re: 2022(?).2 beta
By: Lance on Mon, 19 December 2022 23:14
|
|
|
Re: 2022(?).2 beta
By: mirek on Mon, 19 December 2022 23:35
|
|
|
Re: 2022(?).2 beta
By: Lance on Mon, 19 December 2022 23:54
|
|
|
Re: 2022(?).2 beta
By: Novo on Tue, 20 December 2022 00:19
|
|
|
Re: 2022(?).2 beta
By: Lance on Tue, 20 December 2022 00:48
|
|
|
Re: 2022(?).2 beta
By: Novo on Mon, 19 December 2022 05:36
|
|
|
Re: 2022(?).2 beta
By: mirek on Mon, 19 December 2022 00:15
|
|
|
Re: 2022(?).2 beta
By: Lance on Sun, 18 December 2022 22:35
|
|
|
Re: 2022(?).2 beta
By: mirek on Mon, 19 December 2022 00:18
|
|
|
Re: 2022(?).2 beta
By: zsolt on Sun, 18 December 2022 16:08
|
|
|
Re: 2022(?).2 beta
By: pvictor on Wed, 14 December 2022 12:56
|
|
|
Re: 2022(?).2 beta
By: mirek on Wed, 14 December 2022 14:04
|
|
|
Re: 2022(?).2 beta
By: mr_ped on Sun, 18 December 2022 19:46
|
|
|
Re: 2022(?).2 beta
By: mirek on Sun, 18 December 2022 19:53
|
|
|
Re: 2022(?).2 beta
By: mirek on Mon, 19 December 2022 12:20
|
Goto Forum:
Current Time: Mon May 13 23:38:03 CEST 2024
Total time taken to generate the page: 0.01573 seconds
|