Comfort, n. [3]

A consolation; something relieving suffering or worry.

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


Cxxomfort (cxx as in C++, comfort as in comfort) is a small, header-only library that backports various facilities from more recent C++ Standards, providing access to them to previous versions such as C++03 or C++11: nullptr, begin/end, type_index, byte or the newer algorithms and functors, as well as many others, are made available.

Quick & Dirty Install

Get the latest release version from the download section.


Clone the very latest from your shell:

fossil clone cxxomfort.fossil
mkdir cxxomfort && cd cxxomfort
fossil open ../cxxomfort.fossil

On your code:

Add the path to cxxomfort to your compiler's include search paths.


#include <cxxomfort/cxxomfort.hpp>

Project Documentation

Install & Setup

In the simplest form, installing the library is as simple as cloning the repo and adding the path to the compiler's #include search path. Usage is as simple as including a header and start coding:
#include <cxxomfort/backports.hpp> // for the backports
#include <cxxomfort/cxxomfort.hpp> // for the whole package

Other information:

Fossil Issue Tracker / Git Issue Tracker | FAQ | LICENSE


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, and also take a look at for evolution of the rationale.

The library does not aim to be perfect - that way lies madness, suffering, and suffering leads to anger, and anger leads to overused lines from movies. Instead, it aims to be "good enough" for the backports to be usable as far back as possible Standards-wise - all while remaining relatively simple.

Credits to the various solutions in Credits.

Q&A / reports at luis[dot]machuca[at]gmail[dot]com or file a request in the ticket system.