Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is TR2 Going to be Released in C++17?

There is lots of sweet stuff in TR2. Is that going to be in C++17?

I understand that TR1 was completed in 2005 and had to wait until C++11 to be standardized. But I also understand that TR2 is already complete?

My link to C++17 doesn't mention anything about TR2, but I am hoping...

like image 219
Jonathan Mee Avatar asked Feb 11 '23 12:02

Jonathan Mee


2 Answers

Maybe.

The point of TR (and now technical specifications) is to allow something to mature independent of the standard iteration process. They can publish a TS, see how it works, see if there are any problems in the implementation and/or use of the feature, and if everything works they can then "fold" it into the full standard.

Each TS is considered on its own merits to see if it will be folded into the next standard.

See http://isocpp.org/std/status (thanks @BenjaminLindley) for current status of the Technical Specification working groups.

Any of them, if completed well prior to 2017, could be folded into the standard. It is unlikely they all will be.

A goal is that we can get the std::experimental features to play with (and use if we are willing to accept the ground shifting under our feet) earlier, while having the features once added to std with fewer regrets and specification changes after that point. There are probably also massive organizational overhead advantages to decoupling the main line standard from each of these side projects and allowing them to evolve independently.

like image 144
Yakk - Adam Nevraumont Avatar answered Feb 14 '23 02:02

Yakk - Adam Nevraumont


The purpose of a Technical Report, or Technical Specification as they are now, is to gain implementation experience and feedback from implementors and users, to better assess the suitability of features for standardization. One would need a crystal ball to know if a particular TS will be included in a future standard, and which future standard that might be.

Version 1 of the Library Fundamentals TS appears to have passed its final ballot at the November 2014 committee meeting, and version 2 is currently being drafted to incorporate feedback and new proposals. This means it is getting closer to being something which implementors and industry users are happy with, and version 1 is now an immutable specification which implementors can choose to conform to. It is still more than possible for later versions, and later standards, to change in ways which would be incompatible with version 1.

like image 29
Oktalist Avatar answered Feb 14 '23 01:02

Oktalist