Cxxomfort
Cxxomfort
Here as a visitor
Comfort, n. [2]

A consolation; something relieving suffering or worry.

"We still have the spare tire? That's a comfort at least."

(Wiktionary)

Cxxomfort is a small, header-only library that backports to C++03 some of the nifty C++11 goodies (and even some C++14 goodies to both of them). I wrote it to facilitate my working with the evolving C++ standard as I was getting back into the language. It is intended to reduce the amount and stress of code rewrite while at the same time assisting in backwards and forwards portability.

Installation and Configuration

The basic installation procedure is as follows: download package or clone repo; extract package or copy repo to an adequate directory; add directory path to compiler #include paths; then write some code.

For specifics:

Usage

Using this library is as simple as writing C++ code. Include the cxxomfort header in your code:

#include some_headers...
#include <cxxomfort/cxxomfort.hpp>
#include some headers...

…and start using the various features that are made available, including but not limited in C++03 mode to nullptr, static_assert, iterator helpers and metaprogramming helpers, and alignof where available.

You can include the header cxxomfort/base.hpp in library code where you want to have the benefit of the most basic features that do not require TR1 or other components to be made available; see Features for more information.

There are also some extra features that are activated via their own macros, such as scoped enumeration emulation. See Features/Extras for more information.

Meta

For a list of frequently asked questions read the FAQ.

The purpose of this library is to ease writing natural-feeling, forwards-compatible code once. As such, some design decisions are made that might conflict with conflict with certain pedantic "coding styles". For a quick, uncomprehensive check read Rationale.

For a list of what features are included in this library and what are the Standard Proposals they come from check Implementation Status.

Credits to the various solutions in Credits.

License information in the included LICENSE.txt file or in License.

Q&A at luis[dot]machuca[at]gmail[dot]com