Artifact b788178fca538f3a9f0ce92f169af80f66960076bf5b4ecfdf5924ae400ad6af:

Wiki page [Cxxomfort] by luismachuca 2020-07-26 16:52:01.
D 2020-07-26T16:52:01.636
L Cxxomfort
P 76377f7c6c17a90f346aa698aada9751994abf243f2739c1db735e5be352634d
U luismachuca
W 4229
<blockquote style="font-size:85%;"><b>Comfort</b>, n. <nowiki>[3]</nowiki>

A consolation; something relieving [https://en.wiktionary.org/wiki/suffering#Noun|suffering] or [https://en.wiktionary.org/wiki/worry#Noun|worry]. 

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

([https://en.wiktionary.org/wiki/comfort#Noun|Wiktionary])
</blockquote>

<em>[Cxxomfort]</em> (<small>cxx as in C++, comfort as in comfort</small>) 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: <tt>nullptr</tt>, <tt>begin/end</tt>, <tt>type_index</tt>, <tt>byte</tt> or the newer algorithms and functors, as well as many others, are made available.

<a id="qad"></a>
<h2>Quick & Dirty Install</h2>

Get the latest <b>release</b> version from the [/download|download section].

-or-

Clone the very latest from your shell:

<verbatim>
fossil clone http://ryan.gulix.cl/fossil.cgi/cxxomfort cxxomfort.fossil
mkdir cxxomfort && cd cxxomfort
fossil open ../cxxomfort.fossil
</verbatim>

On your code:

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

Then:

<verbatim>
#include <cxxomfort/cxxomfort.hpp>
</verbatim>

<h2>Project Documentation</h2>

<table border="1">
<tr><th class="header" style="width:35%; text-align:center; ">Install & Setup</th><th class="header" style="text-align:center;">Autogenerated Documentation</th></tr>
<tr><td style="vertical-align:top; padding-left: 0.2em;">
In the simplest form, installing the library is as simple as cloning the repo and adding the path to the compiler's <tt>#include</tt> search path.

<ul>
<li>[Installation]</li>
<li><em>[/download|Release Versions]</em></li>
<li>[Configuration]</li>
<li>[Per-Compiler Notes]</li>
<li>[/uv/html/|Autogenerated Documentation][↗]</li>
<li><a href="https://notabug.org/lmachucabezzaza/cxxomfort-examples" target="_blank">Examples [↗]</a> </li>
</ul>
</td>
<td style="vertical-align:top; padding-right:0.5em;">
Usage is as simple as including a header and start coding:
<verbatim>
#include <cxxomfort/backports.hpp> // for the backports
#include <cxxomfort/cxxomfort.hpp> // for the whole package
</verbatim>

<ul>
<li>[BehaviourMacros]</li>
<li><b>[/uv/html/|Features]</b> - general list of backports / emulations from later C++ Standards. </li>
<li><b>[/uv/html/cxxomfort-fix.html|Fixes]</b> - fixes to compiler / implementation issues. </li>
<li><b>[/uv/html/cxxo-sup.html|Supplements]</b> - features and interfaces specific to cxxomfort, that complement the various C++ headers. </li>
<li>[Extras] that don't take part of the default distribution, such as implementation of simple ranges, etc...</li>
<li>[Transparent Headers]</li>
</ul>

</td>
</tr>
<tr colspan="2">
<th colspan="2" style="text-align:center;">Other information:<br/>

[/rptview?rn=1|Fossil Issue Tracker] / [https://notabug.org/lmachucabezzaza/cxxomfort-issues|Git Issue Tracker] |  <em>[FAQ]</em>  |   [/doc/trunk/cxxomfort/LICENSE.txt|LICENSE]  
<br/>
</th>
</tr>
</table>

<h2>Meta</h2>

The purpose of this library is to ease writing natural-feeling, forwards-compatible code <i>once</i>. 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 [https://softwareengineering.stackexchange.com/questions/142836/achieving-forward-compatibility-with-c11] 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.

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

Credits to the various solutions in [Credits].

<small>Q&A / reports at <code><nowiki>luis[dot]machuca[at]gmail[dot]com</nowiki></code> or file a request in the [/ticket|ticket system].</small>


Z 07f9c476d2a76a1ec4618cbefc0638a7