what will happen with the overlapping portion of boost once C++0x becomes mainstream?

StackOverflow https://stackoverflow.com/questions/405175

  •  03-07-2019
  •  | 
  •  

Question

what will happen with the overlapping portion of boost once C++0x becomes mainstream?

Will boost still contain everything it used to, or will they adapt the library to update it with the new std:: stuff?

Will boost have both a normal c++ version and a c++0x version that they will maintain?

Was it helpful?

Solution

One would hope that Boost continues to support existing classes, for a couple of reasons.

First, there is a body of code that uses the overlapping features in Boost that needs to be supported, for some time.

Second, overlapping implementations allow me to select which one I'd prefer to use. There might be some difference between std::Frob and Boost::Frob that is important to my project, and having a choice is good.

In the long term, though, I would expect a migration toward the standard from both the application writers and the tools providers. That makes it a less risky choice to go with std::.

OTHER TIPS

I am not affiliated with Boost and have no they idea what they will do but it seems like Boost will be left untouched.

There already has been released TR1 (VS 2008 feature pack) and Boost was left untouched. Since many users have not adopted Boost or TR1 yet, my prediction is that for at least next five years boost and c++0x libraries will exist in different namespaces and availaible for C++0x users as well as C++ users.

Namespaces make this somewhat of a non-issue for the Boost developers. There is no direct contention between the boost libraries and the standard libraries because they exist in separate namespaces. Therefore, changes to namespace std (for example the addition of std::tr1) have no direct impact on Boost.

Note however, that if you are importing both libraries (std and boost) into the global namespace, then you will have issues.

The following quote from the Boost TR1 documentation also sheds some light regarding Boost's implementation of TR1 components, suggesting that the corresponding Boost library will be maintained for the foreseeable future:

The TR1 library provides an implementation of the C++ Technical Report on Standard Library Extensions. This library does not itself implement the TR1 components, rather it's a thin wrapper that will include your standard library's TR1 implementation (if it has one), otherwise it will include the Boost Library equivalents, and import them into namespace std::tr1.

Do you mean tr1?

Boost already supports tr1. All the classes from boost that have been adopted into std::tr1 are available in this namespace from boost. See the following documentation.

http://www.boost.org/doc/libs/1_37_0/doc/html/boost_tr1.html

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top