Requirements for increasing requirements in C ++ language versions and standard library dependencies

After much research and deepening the Boost documentation, I cannot find any high level answers or advice on the following:

  • What are Boost's requirements for the C ++ language version? C ++ 03? C ++ 11? How can I now indicate which version of Boost requires which version of the C ++ language?

    • It depends on the specific library (in most cases .hpp file is included).
    • Do I have to manually (as a last resort) check all the libraries I might need and all Boost versions starting with the latest and then move backwards if I need a less strict dependency?
  • What are the dependencies on the C ++ Standard Library?

Context:

  • I am evaluating using Boost on an embedded platform (MCU with limited and no virtual memory, no underlying OS).
  • I have GCC 4.8.1 with C ++ 11 support.
  • We do not have a standard C ++ standard library for this platform.
  • I was hoping to use Boost as a complement and replacement for the C ++ Standard Library, so my research is on the topics above.

I appreciate the high quality of Boost's design documentation, however I couldn't find a link to the above topics in the official documentation. I may have missed something.

PS: An introduction to the historically complex topic of C ++ language versions, the standard library library and Boost,

http://news.dice.com/2013/03/15/comparing-the-c-standard-and-boost-2/

+3


source to share


2 answers


http://beta.boost.org/development/tests/master/developer/summary.html

Here are some of the platforms we tested on. Each release, boost indicates which platforms it has been tested on.



It is expected to work on more platforms than those listed, but there are no guarantees.

+1


source


The boost library support and evolution in terms of support for new C ++ features is not closely related to other libraries. Since boost lives mostly in the standard world (C ++ 03), it was implied that it works in C ++ 03. But since people with advanced intelligence prefer to do things in a smart way, for libraries that now support C ++ functions 11, they either use some kind of feature emulation system to keep it running in C ++ 03, or they check your config and if you can't use some advanced stuff, then they just turned it off.

So basically no language standard requirements, it works in all C ++ 03 / C ++ 11 / C ++ 14 with different feature sets.



For other requirements (namely parts of the STL) it directly depends on the required libraries. The best way is to check. You can find a way to unit test them on your plateformal to see how much is running.

You can also check out Boost Config , which is the library everyone else uses to check functions.

+1


source







All Articles