summaryrefslogtreecommitdiff
path: root/doc/html/predef
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2016-10-06 10:41:18 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2016-10-06 10:43:11 +0900
commitf763a99a501650eff2c60288aa6f10ef916d769e (patch)
tree02af7e13f9a38c888ebf340fe764cbe7dae99da9 /doc/html/predef
parent5cde13f21d36c7224b0e13d11c4b49379ae5210d (diff)
downloadboost-f763a99a501650eff2c60288aa6f10ef916d769e.tar.gz
boost-f763a99a501650eff2c60288aa6f10ef916d769e.tar.bz2
boost-f763a99a501650eff2c60288aa6f10ef916d769e.zip
Imported Upstream version 1.62.0upstream/1.62.0
Change-Id: I9d4c1ddb7b7d8f0069217ecc582700f9fda6dd4c Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'doc/html/predef')
-rw-r--r--doc/html/predef/acknoledgements.html60
-rw-r--r--doc/html/predef/adding_new_predefs.html313
-rw-r--r--doc/html/predef/check_utilities.html169
-rw-r--r--doc/html/predef/history.html169
-rw-r--r--doc/html/predef/reference.html8743
-rw-r--r--doc/html/predef/to_do.html52
-rw-r--r--doc/html/predef/using_the_predefs.html243
7 files changed, 9749 insertions, 0 deletions
diff --git a/doc/html/predef/acknoledgements.html b/doc/html/predef/acknoledgements.html
new file mode 100644
index 0000000000..494d43bdd2
--- /dev/null
+++ b/doc/html/predef/acknoledgements.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Acknoledgements</title>
+<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
+<link rel="up" href="../predef.html" title="Chapter&#160;26.&#160;Boost.Predef 1.4.1">
+<link rel="prev" href="to_do.html" title="To Do">
+<link rel="next" href="../program_options.html" title="Chapter&#160;27.&#160;Boost.Program_options">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.html">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="to_do.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../predef.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../program_options.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="predef.acknoledgements"></a><a class="link" href="acknoledgements.html" title="Acknoledgements">Acknoledgements</a>
+</h2></div></div></div>
+<p>
+ The comprehensiveness of this library would not be possible without the existence
+ of the indispensable resource that is the <a href="http://sourceforge.net/p/predef/" target="_top">Pre-defined
+ C/C++ Compiler Macros</a> Project. It was, and continues to be, the primary
+ source of the definitions that make up this library. Thanks to Bjorn Reese
+ and all the volunteers that make that resource possible.
+ </p>
+<p>
+ This library would be an incoherent mess if it weren't for Boost community
+ that provided invaluable feedback for the eight years that it took to polish
+ into a useable form. In particular I would like to thank: Mathias Gaunard,
+ Robert Stewart, Jo&#235;l Lamotte, Lars Viklund, Nathan Ridge, Artyom Beilis, Joshua
+ Boyce, Gottlob Frege, Thomas Heller, Edward Diener, Dave Abrahams, Iain Denniston,
+ Dan Price, Ioannis Papadopoulos, and Robert Ramey. And thanks to Joel Falcou
+ for managing the review of this library.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2016 Rene Rivera<br>Copyright &#169; 2015 Charly Chevalier<br>Copyright &#169; 2015 Joel Falcou<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="to_do.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../predef.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../program_options.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/predef/adding_new_predefs.html b/doc/html/predef/adding_new_predefs.html
new file mode 100644
index 0000000000..ee217c543d
--- /dev/null
+++ b/doc/html/predef/adding_new_predefs.html
@@ -0,0 +1,313 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Adding new predefs</title>
+<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
+<link rel="up" href="../predef.html" title="Chapter&#160;26.&#160;Boost.Predef 1.4.1">
+<link rel="prev" href="using_the_predefs.html" title="Using the predefs">
+<link rel="next" href="reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.html">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="using_the_predefs.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../predef.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="predef.adding_new_predefs"></a><a class="link" href="adding_new_predefs.html" title="Adding new predefs">Adding new predefs</a>
+</h2></div></div></div>
+<p>
+ We know that a library like this one will be an eternal work-in-progress. And
+ as such we expect, and look forward to, others contributing corrections and
+ additions to the predefs. With that in mind we need to keep a consistent way
+ of defining the new predefs. Hence all current, and future, predefs follow
+ the same structure and requirements.
+ </p>
+<h4>
+<a name="predef.adding_new_predefs.h0"></a>
+ <span class="phrase"><a name="predef.adding_new_predefs.requirements_of_the_header"></a></span><a class="link" href="adding_new_predefs.html#predef.adding_new_predefs.requirements_of_the_header">Requirements
+ of the header</a>
+ </h4>
+<p>
+ All predefs need to follow a set of requirements:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The headers must use the Boost Software License.
+ </li>
+<li class="listitem">
+ The predef must, by default, be defined as <code class="computeroutput"><span class="identifier">BOOST_VERSION_NUMBER_NOT_AVAILABLE</span></code>.
+ </li>
+<li class="listitem">
+ The predef must be redefined to a non-zero value once detected.
+ </li>
+<li class="listitem">
+ The predef must, by default, be defined to <code class="computeroutput"><span class="identifier">BOOST_VERSION_NUMBER_AVAILABLE</span></code>
+ when the predef is detected.
+ </li>
+<li class="listitem">
+ If possible, the predef will be defined as the version number detected.
+ </li>
+<li class="listitem">
+ The predef must define <code class="computeroutput"><span class="special">*</span><span class="identifier">_AVAILABLE</span></code>
+ macros as needed.
+ </li>
+<li class="listitem">
+ The predef must define a symbolic constant string name macro.
+ </li>
+<li class="listitem">
+ The predef must declare itself, after being defined, for the testing system.
+ </li>
+<li class="listitem">
+ The predef must guarantee that it is the only one defined as detected per
+ category.
+ </li>
+<li class="listitem">
+ But a predef can define <code class="computeroutput"><span class="special">*</span><span class="identifier">_EMULATED</span></code> macros to indicate that it
+ was previously detected by another header and is being "emulated"
+ by the system. Note that the <code class="computeroutput"><span class="special">*</span><span class="identifier">_AVAILABLE</span></code> macros must still be defined
+ in this situation.
+ </li>
+</ul></div>
+<p>
+ And there are some extra guidelines that predef headers should follow:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The detection should avoid including extra headers that might otherwise
+ not be included by default.
+ </li>
+<li class="listitem">
+ If the detection must include a header, prefer guarding it within the detection
+ if possible.
+ </li>
+<li class="listitem">
+ If the detection must include headers unconditionally, and has a choice
+ of headers to include, prefer the ones with the least impact. I.e. include
+ the one with the minimal set of definitions and other dependencies.
+ </li>
+</ul></div>
+<h4>
+<a name="predef.adding_new_predefs.h1"></a>
+ <span class="phrase"><a name="predef.adding_new_predefs.structure_of_the_header"></a></span><a class="link" href="adding_new_predefs.html#predef.adding_new_predefs.structure_of_the_header">Structure
+ of the header</a>
+ </h4>
+<p>
+ For general consistency it's suggested that new predef headers follow the structure
+ below, as current predef headers do. First we have the copyright and license
+ statement, followed by the include guard:
+ </p>
+<pre class="programlisting"><span class="comment">/*
+Copyright Jane Doe YYYY
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/</span>
+
+<span class="preprocessor">#ifndef</span> <span class="identifier">BOOST_PREDEF_category_tag_H</span>
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_PREDEF_category_tag_H</span>
+</pre>
+<p>
+ If the detection depends on the detection of another predef you should include
+ those headers here.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">/</span><span class="identifier">CATEGORY_TAG</span><span class="special">/</span><span class="identifier">DEPENDENCY</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Depending on how you are defining the predef you will at minimum have to include
+ the <code class="computeroutput"><span class="identifier">version_number</span><span class="special">.</span><span class="identifier">h</span></code> header. But you might also want to include
+ the <code class="computeroutput"><span class="identifier">make</span><span class="special">.</span><span class="identifier">h</span></code> header for the version number decomposing
+ utility macros:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">/</span><span class="identifier">version_number</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">/</span><span class="identifier">make</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The Predef library uses Quickbook for documentation and for the individual
+ predefs to appear in the reference section we add in-code documentation followed
+ by the zero-value default definition of the predef macro. We strongly recommend
+ this particular placement of the documentation and default definition because
+ some development environments automatically interpret this and provide in-line
+ help for the macro. In particular this works for the popular Eclipse IDE:
+ </p>
+<pre class="programlisting"><span class="comment">/*`
+[heading `BOOST_category_tag`]
+
+Documentation about what is detected.
+*/</span>
+
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_category_tag</span> <span class="identifier">BOOST_VERSION_NUMBER_NOT_AVAILABLE</span>
+</pre>
+<p>
+ Next is the detection and definition of the particular predef. The structure
+ for this is to do a single overall check (<code class="computeroutput"><span class="identifier">condition_a</span></code>)
+ and place further version detection inside this. The first action inside the
+ overall check is to "<code class="computeroutput"><span class="preprocessor">#undef</span>
+ <span class="identifier">BOOST_category_tag</span></code>" which undefines
+ the zero-value default. The rest is up to the you how to do the checks for
+ defining the version. But at minimum it must "<code class="computeroutput"><span class="preprocessor">#define</span>
+ <span class="identifier">BOOST_category_tag</span> <span class="identifier">BOOST_VERSION_NUMBER_AVAILABLE</span></code>"
+ as the fallback to minimally indicate that the predef was detected:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#if</span> <span class="special">(</span><span class="identifier">condition_a</span><span class="special">)</span>
+<span class="preprocessor"># undef</span> <span class="identifier">BOOST_category_tag</span>
+<span class="preprocessor"># if</span> <span class="special">(</span><span class="identifier">condition_b</span><span class="special">)</span>
+<span class="preprocessor"># define</span> <span class="identifier">BOOST_category_tag</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="identifier">major</span><span class="special">,</span><span class="identifier">minor</span><span class="special">,</span><span class="identifier">patch</span><span class="special">)</span>
+<span class="preprocessor"># else</span>
+<span class="preprocessor"># define</span> <span class="identifier">BOOST_category_tag</span> <span class="identifier">BOOST_VERSION_NUMBER_AVAILABLE</span>
+<span class="preprocessor"># endif</span>
+<span class="preprocessor">#endif</span>
+</pre>
+<p>
+ We also need to provide the <code class="computeroutput"><span class="special">*</span><span class="identifier">_AVAILABLE</span></code> versions of the predef.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#if</span> <span class="identifier">BOOST_category_tag</span>
+<span class="preprocessor"># define</span> <span class="identifier">BOOST_category_tag_AVAILABLE</span>
+<span class="preprocessor">#endif</span>
+</pre>
+<p>
+ And for convenience we also want to provide a <code class="computeroutput"><span class="special">*</span><span class="identifier">_NAME</span></code> macro:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_catagory_tag_NAME</span> <span class="string">"Name"</span>
+</pre>
+<p>
+ The testing of the predef macros is automated to generate checks for all the
+ defined predefs, whether detected or not. To do this we need to declare the
+ predef to the test system. This declaration is empty for regular use. And during
+ the test programs they expand out specially to create informational output:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">test</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span>
+<span class="identifier">BOOST_PREDEF_DECLARE_TEST</span><span class="special">(</span><span class="identifier">BOOST_category_tag</span><span class="special">,</span><span class="identifier">BOOST_category_tag_NAME</span><span class="special">)</span>
+</pre>
+<p>
+ And, of course, we last need to close out the include guard:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#endif</span>
+</pre>
+<h4>
+<a name="predef.adding_new_predefs.h2"></a>
+ <span class="phrase"><a name="predef.adding_new_predefs.adding_exclusive_predefs"></a></span><a class="link" href="adding_new_predefs.html#predef.adding_new_predefs.adding_exclusive_predefs">Adding
+ exclusive predefs</a>
+ </h4>
+<p>
+ For headers of predefs that need to be mutually exclusive in the detection
+ we need to add checks and definitions to detect when the predef is detected
+ by multiple headers.
+ </p>
+<p>
+ Internally compiler, operating system, and platforms define <code class="computeroutput"><span class="identifier">BOOST_PREDEF_DETAIL_COMP_DETECTED</span></code>,
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_DEFAIL_OS_DETECTED</span></code>,
+ and <code class="computeroutput"><span class="identifier">BOOST_PREDEF_DETAIL_PLAT_DETECTED</span></code>
+ respectively when the predef is first detected. This is used to guard against
+ multiple definition of the detection in later included headers. In those cases
+ the detection would instead be written as:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#if</span> <span class="special">!</span><span class="identifier">BOOST_PREDEF_DETAIL_category_DETECTED</span> <span class="special">&amp;&amp;</span> <span class="special">(</span><span class="identifier">condition_a</span><span class="special">)</span>
+<span class="preprocessor"># undef</span> <span class="identifier">BOOST_category_tag</span>
+<span class="preprocessor"># if</span> <span class="special">(</span><span class="identifier">condition_b</span><span class="special">)</span>
+<span class="preprocessor"># define</span> <span class="identifier">BOOST_category_tag</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="identifier">major</span><span class="special">,</span><span class="identifier">minor</span><span class="special">,</span><span class="identifier">patch</span><span class="special">)</span>
+<span class="preprocessor"># else</span>
+<span class="preprocessor"># define</span> <span class="identifier">BOOST_category_tag</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">,</span><span class="number">1</span><span class="special">)</span>
+<span class="preprocessor"># endif</span>
+<span class="preprocessor">#endif</span>
+</pre>
+<p>
+ And we also include a header that defines the <code class="computeroutput"><span class="special">*</span><span class="identifier">_DETECTED</span></code> macro when we have the detection:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#if</span> <span class="identifier">BOOST_category_tag</span>
+<span class="preprocessor"># define</span> <span class="identifier">BOOST_category_tag_AVAILABLE</span>
+<span class="preprocessor"># include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">CATEGORY_detected</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span>
+<span class="preprocessor">#endif</span>
+</pre>
+<p>
+ Everything else about the header is the same as the basic detection header.
+ </p>
+<h4>
+<a name="predef.adding_new_predefs.h3"></a>
+ <span class="phrase"><a name="predef.adding_new_predefs.adding_an_exclusive_but_emulated"></a></span><a class="link" href="adding_new_predefs.html#predef.adding_new_predefs.adding_an_exclusive_but_emulated">Adding
+ an exclusive but emulated predef</a>
+ </h4>
+<p>
+ Because compilers are frequently emulated by other compilers we both want to
+ have exclusive detection of the compiler and also provide information that
+ we detected the emulation of the compiler. To accomplish this we define a local
+ <code class="computeroutput"><span class="special">*</span><span class="identifier">_DETECTION</span></code>
+ macro for the compiler detection. And conditionally define either the base
+ compiler predef <code class="computeroutput"><span class="identifier">BOOST_COMP_compiler</span></code>
+ or the alternate <code class="computeroutput"><span class="identifier">BOOST_COMP_compiler_EMULATED</span></code>
+ predef.
+ </p>
+<p>
+ The initial detection would look like:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#if</span> <span class="special">(</span><span class="identifier">condition_a</span><span class="special">)</span>
+<span class="preprocessor"># if</span> <span class="special">(</span><span class="identifier">condition_b</span><span class="special">)</span>
+<span class="preprocessor"># define</span> <span class="identifier">BOOST_COMP_tag_DETECTION</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="identifier">major</span><span class="special">,</span><span class="identifier">minor</span><span class="special">,</span><span class="identifier">patch</span><span class="special">)</span>
+<span class="preprocessor"># else</span>
+<span class="preprocessor"># define</span> <span class="identifier">BOOST_COMP_tag_DETECTION</span> <span class="identifier">BOOST_VERSION_NUMBER_AVAILABLE</span>
+<span class="preprocessor"># endif</span>
+<span class="preprocessor">#endif</span>
+</pre>
+<p>
+ And then we can conditionally define the base or emulated predefs:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_COMP_tag_DETECTION</span>
+<span class="preprocessor"># if</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_PREDEF_DETAIL_COMP_DETECTED</span><span class="special">)</span>
+<span class="preprocessor"># define</span> <span class="identifier">BOOST_COMP_tag_EMULATED</span> <span class="identifier">BOOST_COMP_tag_DETECTION</span>
+<span class="preprocessor"># else</span>
+<span class="preprocessor"># undef</span> <span class="identifier">BOOST_COMP_tag</span>
+<span class="preprocessor"># define</span> <span class="identifier">BOOST_COMP_tag</span> <span class="identifier">BOOST_COMP_tag_DETECTION</span>
+<span class="preprocessor"># endif</span>
+<span class="preprocessor"># define</span> <span class="identifier">BOOST_category_tag_AVAILABLE</span>
+<span class="preprocessor"># include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">comp_detected</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span>
+<span class="preprocessor">#endif</span>
+</pre>
+<h4>
+<a name="predef.adding_new_predefs.h4"></a>
+ <span class="phrase"><a name="predef.adding_new_predefs.using_utility_pattern_macros"></a></span><a class="link" href="adding_new_predefs.html#predef.adding_new_predefs.using_utility_pattern_macros">Using utility
+ pattern macros</a>
+ </h4>
+<p>
+ By including:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">/</span><span class="identifier">make</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span>
+</pre>
+<p>
+ One will get a set of utility macros to decompose common version macros as
+ defined by compilers. For example the EDG compiler uses a simple 3-digit version
+ macro (M,N,P). It can be decomposed and defined as:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_CCOMP_EDG</span> <span class="identifier">BOOST_PREDEF_MAKE_N_N_N</span><span class="special">(</span><span class="identifier">__EDG_VERSION__</span><span class="special">)</span>
+</pre>
+<p>
+ The decomposition macros are split into three types: decimal decomposition,
+ hexadecimal decomposition, and date decomposition. They follow the format of
+ using "N" for decimal, "F" for hexadecimal, and "Y",
+ "M", "D" for dates.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2016 Rene Rivera<br>Copyright &#169; 2015 Charly Chevalier<br>Copyright &#169; 2015 Joel Falcou<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="using_the_predefs.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../predef.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/predef/check_utilities.html b/doc/html/predef/check_utilities.html
new file mode 100644
index 0000000000..61a1a319de
--- /dev/null
+++ b/doc/html/predef/check_utilities.html
@@ -0,0 +1,169 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Check Utilities</title>
+<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
+<link rel="up" href="../predef.html" title="Chapter&#160;26.&#160;Boost.Predef 1.4.1">
+<link rel="prev" href="reference.html" title="Reference">
+<link rel="next" href="history.html" title="History">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.html">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../predef.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="predef.check_utilities"></a><a class="link" href="check_utilities.html" title="Check Utilities">Check Utilities</a>
+</h2></div></div></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">predef_check</span></code> utility provides
+ a facility for building a program that will check a given set of expressions
+ against the definitions it detected when it was built.
+ </p>
+<h4>
+<a name="predef.check_utilities.h0"></a>
+ <span class="phrase"><a name="predef.check_utilities.predef_check_programs"></a></span><a class="link" href="check_utilities.html#predef.check_utilities.predef_check_programs"><code class="literal">predef_check</code>
+ programs</a>
+ </h4>
+<p>
+ Even though there is only one <code class="computeroutput"><span class="identifier">predef_check</span></code>
+ program, there are variations for each of the languages that are detected by
+ Predef to match the convention for sources files. For all of them one invokes
+ with a list of expression arguments. The expressions are evaluated within the
+ context of the particular <code class="literal">predef_check</code> program and if they
+ all are true zero (0) is returned. Otherwise the index of the first false expression
+ is returned.
+ </p>
+<p>
+ The expression syntax is simple:
+ </p>
+<pre class="programlisting">predef-definition [ relational-operator version-value ]
+</pre>
+<p>
+ <em class="replaceable"><code>predef-definition</code></em> can be any of the Predef definitions.
+ For example <code class="computeroutput"><span class="identifier">BOOST_COMP_GCC</span></code>.
+ </p>
+<p>
+ <em class="replaceable"><code>relational-operator</code></em> can be any of: <code class="literal">&gt;</code>,
+ <code class="literal">&lt;</code>, <code class="literal">&gt;=</code>, <code class="literal">&lt;=</code>,
+ <code class="literal">==</code> and <code class="literal">!=</code>.
+ </p>
+<p>
+ <em class="replaceable"><code>version-number</code></em> can be a full or partial version
+ triplet value. If it's a partial version triple it is completed with zeros.
+ That is <code class="literal">x.y</code> is equivalent to <code class="literal">x.y.0</code> and
+ <code class="literal">x</code> is equivalent to <code class="literal">x.0.0</code>.
+ </p>
+<p>
+ The <em class="replaceable"><code>relations-operator</code></em> and <em class="replaceable"><code>version-number</code></em>
+ can be ommited. In which case it is equivalent to:
+ </p>
+<pre class="programlisting">predef-definition &gt; 0.0.0
+</pre>
+<h4>
+<a name="predef.check_utilities.h1"></a>
+ <span class="phrase"><a name="predef.check_utilities.using_with_boost_build"></a></span><a class="link" href="check_utilities.html#predef.check_utilities.using_with_boost_build">Using
+ with Boost.Build</a>
+ </h4>
+<p>
+ You can use the <code class="literal">predef_check</code> programs directly from Boost
+ Build to configure target requirements. This is useful for controlling what
+ gets built as part of your project based on the detailed version information
+ available in Predef. The basic use is simple:
+ </p>
+<pre class="programlisting">import path-to-predef-src/tools/check/predef
+ : check require
+ : predef-check predef-require ;
+
+exe my_windows_program : windows_source.cpp
+ : [ predef-require "BOOST_OS_WINDOWS" ] ;
+</pre>
+<p>
+ That simple use case will skip building the <code class="literal">my_windows_program</code>
+ unless one is building for Windows. Like the direct <code class="literal">predef_check</code>
+ you can pass mutiple expressions using relational comparisons. For example:
+ </p>
+<pre class="programlisting">import path-to-predef-src/tools/check/predef
+ : check require
+ : predef-check predef-require ;
+
+lib my_special_lib : source.cpp
+ : [ predef-require "BOOST_OS_WINDOWS != 0" "BOOST_OS_VMS != 0"] ;
+</pre>
+<p>
+ And in that case the <code class="literal">my_special_lib</code> is built only when the
+ OS is not Windows or VMS. The <code class="literal">requires</code> rule is a special
+ case of the <code class="literal">check</code> rule. And is defined in terms of it:
+ </p>
+<pre class="programlisting">rule require ( expressions + : language ? )
+{
+ return [ check $(expressions) : $(language) : : &lt;build&gt;no ] ;
+}
+</pre>
+<p>
+ The expression can also use explicit "and", "or" logical
+ operators to for more complex checks:
+ </p>
+<pre class="programlisting">import path-to-predef-src/tools/check/predef
+ : check require
+ : predef-check predef-require ;
+
+lib my_special_lib : source.cpp
+ : [ predef-require "BOOST_OS_WINDOWS" or "BOOST_OS_VMS"] ;
+</pre>
+<p>
+ You can use the <code class="literal">check</code> rule for more control and to implement
+ something other than control of what gets built. The definition for the <code class="literal">check</code>
+ rule is:
+ </p>
+<pre class="programlisting">rule check ( expressions + : language ? : true-properties * : false-properties * )
+</pre>
+<p>
+ When invoked as a reuirement of a Boost Build target this rule will add the
+ <code class="literal">true-properties</code> to the target if all the <code class="literal">expressions</code>
+ evaluate to true. Otherwise the <code class="literal">false-properties</code> get added
+ as requirements. For example you could use it to enable or disable features
+ in your programs:
+ </p>
+<pre class="programlisting">import path-to-predef-src/tools/check/predef
+ : check require
+ : predef-check predef-require ;
+
+exe my_special_exe : source.cpp
+ : [ predef-check "BOOST_OS_WINDOWS == 0"
+ : : &lt;define&gt;ENABLE_WMF=0
+ : &lt;define&gt;ENABLE_WMF=1 ] ;
+</pre>
+<p>
+ For both <code class="literal">check</code> and <code class="literal">require</code> the <code class="literal">language</code>
+ argument controls which variant of the <code class="literal">predef_check</code> program
+ is used to check the expressions. It defaults to "c++", but can be
+ any of: "c", "cpp", "objc", and "objcpp".
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2016 Rene Rivera<br>Copyright &#169; 2015 Charly Chevalier<br>Copyright &#169; 2015 Joel Falcou<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../predef.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/predef/history.html b/doc/html/predef/history.html
new file mode 100644
index 0000000000..37bf3ff896
--- /dev/null
+++ b/doc/html/predef/history.html
@@ -0,0 +1,169 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>History</title>
+<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
+<link rel="up" href="../predef.html" title="Chapter&#160;26.&#160;Boost.Predef 1.4.1">
+<link rel="prev" href="check_utilities.html" title="Check Utilities">
+<link rel="next" href="to_do.html" title="To Do">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.html">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="check_utilities.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../predef.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_do.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="predef.history"></a><a class="link" href="history.html" title="History">History</a>
+</h2></div></div></div>
+<h4>
+<a name="predef.history.h0"></a>
+ <span class="phrase"><a name="predef.history.1_4_1"></a></span><a class="link" href="history.html#predef.history.1_4_1">1.4.1</a>
+ </h4>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Small fixes for some redefinition errors, and mispelled macros.
+ </li>
+<li class="listitem">
+ Slightly rearrangement of structure to comply with current library requirements.
+ </li>
+</ul></div>
+<h4>
+<a name="predef.history.h1"></a>
+ <span class="phrase"><a name="predef.history.1_4"></a></span><a class="link" href="history.html#predef.history.1_4">1.4</a>
+ </h4>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Add detection of SIMD hardware. With the addition of the <code class="computeroutput"><span class="identifier">BOOST_HW_</span><span class="special">*</span></code>
+ category (from Charly Chevalier).
+ </li>
+<li class="listitem">
+ Add compile only version of check utilities to address cross-compile use
+ cases. And changed the BBv2 check support to use compile only checks.
+ </li>
+<li class="listitem">
+ Fix test warnings.
+ </li>
+<li class="listitem">
+ Fix typos on <code class="computeroutput"><span class="identifier">AVAILABLE</span></code>
+ macros for Windows Platform. (from Vemund Handeland)
+ </li>
+</ul></div>
+<h4>
+<a name="predef.history.h2"></a>
+ <span class="phrase"><a name="predef.history.1_3"></a></span><a class="link" href="history.html#predef.history.1_3">1.3</a>
+ </h4>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Fix many problems with <code class="computeroutput"><span class="identifier">predef_check</span></code>
+ functionality.
+ </li>
+<li class="listitem">
+ Update SunPro detection to accomodate latest version of compiler from Oracle.
+ </li>
+<li class="listitem">
+ Addition of Travis-CI and Appveyor testing.
+ </li>
+<li class="listitem">
+ Add <code class="computeroutput"><span class="keyword">and</span></code> and <code class="computeroutput"><span class="keyword">or</span></code> logical operators for <code class="computeroutput"><span class="identifier">predef_check</span></code>
+ expression on the Boost Build side.
+ </li>
+<li class="listitem">
+ Fix <code class="computeroutput"><span class="identifier">BOOST_ARCH_PARISC</span></code> to
+ correctly spelled name (from Graham Hanson).
+ </li>
+<li class="listitem">
+ Fix <code class="computeroutput"><span class="identifier">MAKE_YYYYM</span></code> macros to
+ correctly limit the month (from rick68).
+ </li>
+</ul></div>
+<h4>
+<a name="predef.history.h3"></a>
+ <span class="phrase"><a name="predef.history.1_2"></a></span><a class="link" href="history.html#predef.history.1_2">1.2</a>
+ </h4>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Account for skip in Visual Studio product version vs. compiler version.
+ This supports version of VS 2015 an onward.
+ </li>
+<li class="listitem">
+ Add detection of Haiku OS (from Jessica Hamilton).
+ </li>
+<li class="listitem">
+ Some fixes to endian detection for Android (from mstahl-at-redhat.com).
+ </li>
+<li class="listitem">
+ Add missing <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_0X_VVRRPP</span></code>
+ macro (from Erik Lindahl).
+ </li>
+<li class="listitem">
+ Add <code class="computeroutput"><span class="identifier">predef_check</span></code> program
+ and BBv2 integration for build configuration checks.
+ </li>
+</ul></div>
+<h4>
+<a name="predef.history.h4"></a>
+ <span class="phrase"><a name="predef.history.1_1"></a></span><a class="link" href="history.html#predef.history.1_1">1.1</a>
+ </h4>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Addition of <code class="computeroutput"><span class="identifier">BOOST_PLAT_</span><span class="special">*</span></code> platform definitions for MinGW and Windows
+ platform variants.
+ </li>
+<li class="listitem">
+ Detection of ARM architecture for Windows compilers to target mobile devices
+ of Windows 8.
+ </li>
+<li class="listitem">
+ Improved ARM detection for 64 bit ARM.
+ </li>
+<li class="listitem">
+ Added detection of iOS an an operating system.
+ </li>
+<li class="listitem">
+ Improved detection of endianess on some platforms.
+ </li>
+<li class="listitem">
+ Addition of exclusive plus emulated definitions for platform and compiler
+ detection.
+ </li>
+</ul></div>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The big change for this version is the restructuring of the definitions to
+ avoid duplicate definitions in one category. That is, only one <code class="computeroutput"><span class="identifier">BOOST_OS_</span><span class="special">*</span></code>,
+ <code class="computeroutput"><span class="identifier">BOOST_COMP_</span><span class="special">*</span></code>,
+ and <code class="computeroutput"><span class="identifier">BOOST_PLAT_</span><span class="special">*</span></code>
+ variant will be detected (except for sub-categories).
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2016 Rene Rivera<br>Copyright &#169; 2015 Charly Chevalier<br>Copyright &#169; 2015 Joel Falcou<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="check_utilities.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../predef.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_do.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/predef/reference.html b/doc/html/predef/reference.html
new file mode 100644
index 0000000000..ef6057558f
--- /dev/null
+++ b/doc/html/predef/reference.html
@@ -0,0 +1,8743 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Reference</title>
+<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
+<link rel="up" href="../predef.html" title="Chapter&#160;26.&#160;Boost.Predef 1.4.1">
+<link rel="prev" href="adding_new_predefs.html" title="Adding new predefs">
+<link rel="next" href="check_utilities.html" title="Check Utilities">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.html">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="adding_new_predefs.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../predef.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="check_utilities.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="predef.reference"></a><a class="link" href="reference.html" title="Reference">Reference</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="reference.html#predef.reference.boost_arch_architecture_macros"><code class="computeroutput"><span class="identifier">BOOST_ARCH</span></code> architecture macros</a></span></dt>
+<dt><span class="section"><a href="reference.html#predef.reference.boost_comp_compiler_macros"><code class="computeroutput"><span class="identifier">BOOST_COMP</span></code> compiler macros</a></span></dt>
+<dt><span class="section"><a href="reference.html#predef.reference.boost_lang_language_standards_ma"><code class="computeroutput"><span class="identifier">BOOST_LANG</span></code> language standards macros</a></span></dt>
+<dt><span class="section"><a href="reference.html#predef.reference.boost_lib_library_macros"><code class="computeroutput"><span class="identifier">BOOST_LIB</span></code> library macros</a></span></dt>
+<dt><span class="section"><a href="reference.html#predef.reference.boost_os_operating_system_macros"><code class="computeroutput"><span class="identifier">BOOST_OS</span></code> operating system macros</a></span></dt>
+<dt><span class="section"><a href="reference.html#predef.reference.boost_plat_platform_macros"><code class="computeroutput"><span class="identifier">BOOST_PLAT</span></code> platform macros</a></span></dt>
+<dt><span class="section"><a href="reference.html#predef.reference.boost_hw_hardware_macros"><code class="computeroutput"><span class="identifier">BOOST_HW</span></code> hardware macros</a></span></dt>
+<dt><span class="section"><a href="reference.html#predef.reference.other_macros">Other macros</a></span></dt>
+<dt><span class="section"><a href="reference.html#predef.reference.version_definition_macros">Version definition
+ macros</a></span></dt>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="predef.reference.boost_arch_architecture_macros"></a><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros" title="BOOST_ARCH architecture macros"><code class="computeroutput"><span class="identifier">BOOST_ARCH</span></code> architecture macros</a>
+</h3></div></div></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h0"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_alpha"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_alpha"><code class="computeroutput"><span class="identifier">BOOST_ARCH_ALPHA</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/DEC_Alpha" target="_top">DEC Alpha</a> architecture.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__alpha__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__alpha</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_ALPHA</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__alpha_ev4__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__alpha_ev5__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 5.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__alpha_ev6__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 6.0.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h1"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_arm"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_arm"><code class="computeroutput"><span class="identifier">BOOST_ARCH_ARM</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/ARM_architecture" target="_top">ARM</a> architecture.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__arm__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__arm64</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__thumb__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__TARGET_ARCH_ARM</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__TARGET_ARCH_THUMB</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_ARM</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__arm64</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 8.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__TARGET_ARCH_ARM</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__TARGET_ARCH_THUMB</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_ARM</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.0.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h2"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_blackfin"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_blackfin"><code class="computeroutput"><span class="identifier">BOOST_ARCH_BLACKFIN</span></code></a>
+ </h5>
+<p>
+ Blackfin Processors from Analog Devices.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__bfin__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__BFIN__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bfin</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BFIN</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h3"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_convex"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_convex"><code class="computeroutput"><span class="identifier">BOOST_ARCH_CONVEX</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Convex_Computer" target="_top">Convex Computer</a>
+ architecture.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__convex__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__convex_c1__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 1.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__convex_c2__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__convex_c32__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.2.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__convex_c34__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.4.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__convex_c38__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.8.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h4"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_ia64"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_ia64"><code class="computeroutput"><span class="identifier">BOOST_ARCH_IA64</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Ia64" target="_top">Intel Itanium 64</a> architecture.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ia64__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_IA64</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__IA64__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ia64</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_IA64</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__itanium__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h5"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_m68k"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_m68k"><code class="computeroutput"><span class="identifier">BOOST_ARCH_M68K</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/M68k" target="_top">Motorola 68k</a> architecture.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__m68k__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">M68000</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__mc68060__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 6.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">mc68060</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 6.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__mc68060</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 6.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__mc68040__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">mc68040</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__mc68040</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__mc68030__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">mc68030</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__mc68030</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__mc68020__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">mc68020</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__mc68020</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__mc68010__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 1.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">mc68010</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 1.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__mc68010</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 1.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__mc68000__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 0.0.1
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">mc68000</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 0.0.1
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__mc68000</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 0.0.1
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h6"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_mips"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_mips"><code class="computeroutput"><span class="identifier">BOOST_ARCH_MIPS</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/MIPS_architecture" target="_top">MIPS</a>
+ architecture.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__mips__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__mips</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MIPS__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__mips</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_MIPS_ISA_MIPS1</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 1.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_R3000</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 1.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_MIPS_ISA_MIPS2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MIPS_ISA2__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_R4000</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_MIPS_ISA_MIPS3</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MIPS_ISA3__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_MIPS_ISA_MIPS4</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MIPS_ISA4__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.0.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h7"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_parisk"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_parisk"><code class="computeroutput"><span class="identifier">BOOST_ARCH_PARISK</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/PA-RISC_family" target="_top">HP/PA RISC</a>
+ architecture.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__hppa__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__hppa</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__HPPA__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_PA_RISC1_0</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 1.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_PA_RISC1_1</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 1.1.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__HPPA11__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 1.1.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__PA7100__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 1.1.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_PA_RISC2_0</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__RISC2_0__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__HPPA20__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__PA8000__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.0.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h8"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_ppc"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_ppc"><code class="computeroutput"><span class="identifier">BOOST_ARCH_PPC</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/PowerPC" target="_top">PowerPC</a> architecture.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__powerpc</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__powerpc__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__POWERPC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ppc__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_PPC</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_ARCH_PPC</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__PPCGECKO__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__PPCBROADWAY__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_XENON</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ppc601__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 6.1.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_ARCH_601</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 6.1.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ppc603__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 6.3.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_ARCH_603</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 6.3.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ppc604__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 6.4.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ppc604__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 6.4.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h9"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_pyramid"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_pyramid"><code class="computeroutput"><span class="identifier">BOOST_ARCH_PYRAMID</span></code></a>
+ </h5>
+<p>
+ Pyramid 9810 architecture.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">pyr</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h10"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_rs6000"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_rs6000"><code class="computeroutput"><span class="identifier">BOOST_ARCH_RS6000</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/RS/6000" target="_top">RS/6000</a> architecture.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__THW_RS6000</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_IBMR2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_POWER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_ARCH_PWR</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_ARCH_PWR2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h11"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_sparc"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_sparc"><code class="computeroutput"><span class="identifier">BOOST_ARCH_SPARC</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/SPARC" target="_top">SPARC</a> architecture.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__sparc__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__sparc</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__sparcv9</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 9.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__sparcv8</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 8.0.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h12"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_sh"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_sh"><code class="computeroutput"><span class="identifier">BOOST_ARCH_SH</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/SuperH" target="_top">SuperH</a> architecture:
+ If available versions [1-5] are specifically detected.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__sh__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SH5__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 5.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SH4__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__sh3__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SH3__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__sh2__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__sh1__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 1.0.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h13"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_sys370"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_sys370"><code class="computeroutput"><span class="identifier">BOOST_ARCH_SYS370</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/System/370" target="_top">System/370</a> architecture.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__370__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__THW_370__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h14"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_sys390"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_sys390"><code class="computeroutput"><span class="identifier">BOOST_ARCH_SYS390</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/System/390" target="_top">System/390</a> architecture.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__s390__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__s390x__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h15"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_x86"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_x86"><code class="computeroutput"><span class="identifier">BOOST_ARCH_X86</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/X86" target="_top">Intel x86</a> architecture.
+ This is a category to indicate that either <code class="computeroutput"><span class="identifier">BOOST_ARCH_X86_32</span></code>
+ or <code class="computeroutput"><span class="identifier">BOOST_ARCH_X86_64</span></code> is detected.
+ </p>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h16"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_z"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_z"><code class="computeroutput"><span class="identifier">BOOST_ARCH_Z</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Z/Architecture" target="_top">z/Architecture</a>
+ architecture.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SYSC_ZARCH__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h17"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_x86_32"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_x86_32"><code class="computeroutput"><span class="identifier">BOOST_ARCH_X86_32</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/X86" target="_top">Intel x86</a> architecture:
+ If available versions [3-6] are specifically detected.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">i386</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__i386__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__i486__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__i586__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__i686__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__i386</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_IX86</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_X86_</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__THW_INTEL__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__I86__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__INTEL__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__I86__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_IX86</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__i686__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 6.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__i586__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 5.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__i486__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__i386__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.0.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_arch_architecture_macros.h18"></a>
+ <span class="phrase"><a name="predef.reference.boost_arch_architecture_macros.boost_arch_x86_64"></a></span><a class="link" href="reference.html#predef.reference.boost_arch_architecture_macros.boost_arch_x86_64"><code class="computeroutput"><span class="identifier">BOOST_ARCH_X86_64</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Ia64" target="_top">Intel IA-64</a> architecture.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__x86_64</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__x86_64__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__amd64__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__amd64</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_X64</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="predef.reference.boost_comp_compiler_macros"></a><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros" title="BOOST_COMP compiler macros"><code class="computeroutput"><span class="identifier">BOOST_COMP</span></code> compiler macros</a>
+</h3></div></div></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h0"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_borland"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_borland"><code class="computeroutput"><span class="identifier">BOOST_COMP_BORLAND</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/C_plus_plus_builder" target="_top">Borland C++</a>
+ compiler. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__BORLANDC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__CODEGEARC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__BORLANDC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__CODEGEARC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h1"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_clang"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_clang"><code class="computeroutput"><span class="identifier">BOOST_COMP_CLANG</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Clang" target="_top">Clang</a> compiler. Version
+ number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__clang__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__clang_major__</span></code>,
+ <code class="computeroutput"><span class="identifier">__clang_minor__</span></code>,
+ <code class="computeroutput"><span class="identifier">__clang_patchlevel__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h2"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_como"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_como"><code class="computeroutput"><span class="identifier">BOOST_COMP_COMO</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Comeau_C/C%2B%2B" target="_top">Comeau C++</a>
+ compiler. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__COMO__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__COMO_VERSION__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h3"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_dec"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_dec"><code class="computeroutput"><span class="identifier">BOOST_COMP_DEC</span></code></a>
+ </h5>
+<p>
+ <a href="http://www.openvms.compaq.com/openvms/brochures/deccplus/" target="_top">Compaq
+ C/C++</a> compiler. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__DECCXX</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__DECC</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__DECCXX_VER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__DECC_VER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h4"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_diab"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_diab"><code class="computeroutput"><span class="identifier">BOOST_COMP_DIAB</span></code></a>
+ </h5>
+<p>
+ <a href="http://www.windriver.com/products/development_suite/wind_river_compiler/" target="_top">Diab
+ C/C++</a> compiler. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__DCC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__VERSION_NUMBER__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h5"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_dmc"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_dmc"><code class="computeroutput"><span class="identifier">BOOST_COMP_DMC</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Digital_Mars" target="_top">Digital Mars</a>
+ compiler. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__DMC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__DMC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h6"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_sysc"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_sysc"><code class="computeroutput"><span class="identifier">BOOST_COMP_SYSC</span></code></a>
+ </h5>
+<p>
+ <a href="http://www.dignus.com/dcxx/" target="_top">Dignus Systems/C++</a> compiler.
+ Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SYSC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SYSC_VER__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h7"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_edg"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_edg"><code class="computeroutput"><span class="identifier">BOOST_COMP_EDG</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Edison_Design_Group" target="_top">EDG C++ Frontend</a>
+ compiler. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__EDG__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__EDG_VERSION__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h8"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_path"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_path"><code class="computeroutput"><span class="identifier">BOOST_COMP_PATH</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/PathScale" target="_top">EKOpath</a> compiler.
+ Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__PATHCC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__PATHCC__</span></code>, <code class="computeroutput"><span class="identifier">__PATHCC_MINOR__</span></code>, <code class="computeroutput"><span class="identifier">__PATHCC_PATCHLEVEL__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h9"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_gnuc"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_gnuc"><code class="computeroutput"><span class="identifier">BOOST_COMP_GNUC</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/GNU_Compiler_Collection" target="_top">Gnu GCC
+ C/C++</a> compiler. Version number available as major, minor, and patch
+ (if available).
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__GNUC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__GNUC__</span></code>, <code class="computeroutput"><span class="identifier">__GNUC_MINOR__</span></code>, <code class="computeroutput"><span class="identifier">__GNUC_PATCHLEVEL__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__GNUC__</span></code>, <code class="computeroutput"><span class="identifier">__GNUC_MINOR__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h10"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_gccxml"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_gccxml"><code class="computeroutput"><span class="identifier">BOOST_COMP_GCCXML</span></code></a>
+ </h5>
+<p>
+ <a href="http://www.gccxml.org/" target="_top">GCC XML</a> compiler.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__GCCXML__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h11"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_ghs"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_ghs"><code class="computeroutput"><span class="identifier">BOOST_COMP_GHS</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Green_Hills_Software" target="_top">Green Hills
+ C/C++</a> compiler. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ghs</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ghs__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__GHS_VERSION_NUMBER__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ghs</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h12"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_hpacc"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_hpacc"><code class="computeroutput"><span class="identifier">BOOST_COMP_HPACC</span></code></a>
+ </h5>
+<p>
+ HP aC++ compiler. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__HP_aCC</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__HP_aCC</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h13"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_iar"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_iar"><code class="computeroutput"><span class="identifier">BOOST_COMP_IAR</span></code></a>
+ </h5>
+<p>
+ IAR C/C++ compiler. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__IAR_SYSTEMS_ICC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__VER__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h14"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_ibm"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_ibm"><code class="computeroutput"><span class="identifier">BOOST_COMP_IBM</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/VisualAge" target="_top">IBM XL C/C++</a>
+ compiler. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__IBMCPP__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__xlC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__xlc__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__COMPILER_VER__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__xlC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__xlc__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__IBMCPP__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h15"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_intel"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_intel"><code class="computeroutput"><span class="identifier">BOOST_COMP_INTEL</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Intel_C%2B%2B" target="_top">Intel C/C++</a>
+ compiler. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__INTEL_COMPILER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ICL</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ICC</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ECC</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__INTEL_COMPILER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h16"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_kcc"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_kcc"><code class="computeroutput"><span class="identifier">BOOST_COMP_KCC</span></code></a>
+ </h5>
+<p>
+ Kai C++ compiler. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__KCC</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__KCC_VERSION</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h17"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_llvm"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_llvm"><code class="computeroutput"><span class="identifier">BOOST_COMP_LLVM</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/LLVM" target="_top">LLVM</a> compiler.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__llvm__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h18"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_highc"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_highc"><code class="computeroutput"><span class="identifier">BOOST_COMP_HIGHC</span></code></a>
+ </h5>
+<p>
+ MetaWare High C/C++ compiler.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__HIGHC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h19"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_mwerks"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_mwerks"><code class="computeroutput"><span class="identifier">BOOST_COMP_MWERKS</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/CodeWarrior" target="_top">Metrowerks CodeWarrior</a>
+ compiler. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MWERKS__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__CWCC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__CWCC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MWERKS__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P &gt;= 4.2.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MWERKS__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 9.R.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MWERKS__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 8.R.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h20"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_mri"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_mri"><code class="computeroutput"><span class="identifier">BOOST_COMP_MRI</span></code></a>
+ </h5>
+<p>
+ <a href="http://www.mentor.com/microtec/" target="_top">Microtec C/C++</a> compiler.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_MRI</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h21"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_mpw"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_mpw"><code class="computeroutput"><span class="identifier">BOOST_COMP_MPW</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Macintosh_Programmer%27s_Workshop" target="_top">MPW
+ C++</a> compiler. Version number available as major, and minor.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MRC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">MPW_C</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">MPW_CPLUS</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MRC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h22"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_palm"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_palm"><code class="computeroutput"><span class="identifier">BOOST_COMP_PALM</span></code></a>
+ </h5>
+<p>
+ Palm C/C++ compiler. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_PACC_VER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_PACC_VER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h23"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_pgi"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_pgi"><code class="computeroutput"><span class="identifier">BOOST_COMP_PGI</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/The_Portland_Group" target="_top">Portland Group
+ C/C++</a> compiler.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__PGI</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__PGIC__</span></code>, <code class="computeroutput"><span class="identifier">__PGIC_MINOR__</span></code>, <code class="computeroutput"><span class="identifier">__PGIC_PATCHLEVEL__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h24"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_sgi"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_sgi"><code class="computeroutput"><span class="identifier">BOOST_COMP_SGI</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/MIPSpro" target="_top">SGI MIPSpro</a> compiler.
+ Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__sgi</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">sgi</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_SGI_COMPILER_VERSION</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_COMPILER_VERSION</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h25"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_sunpro"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_sunpro"><code class="computeroutput"><span class="identifier">BOOST_COMP_SUNPRO</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Oracle_Solaris_Studio" target="_top">Oracle Solaris
+ Studio</a> compiler. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SUNPRO_CC</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SUNPRO_C</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SUNPRO_CC</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SUNPRO_C</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SUNPRO_CC</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ VV.RR.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SUNPRO_C</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ VV.RR.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h26"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_tendra"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_tendra"><code class="computeroutput"><span class="identifier">BOOST_COMP_TENDRA</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/TenDRA_Compiler" target="_top">TenDRA C/C++</a>
+ compiler.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__TenDRA__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h27"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_msvc"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_msvc"><code class="computeroutput"><span class="identifier">BOOST_COMP_MSVC</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Visual_studio" target="_top">Microsoft Visual
+ C/C++</a> compiler. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_MSC_VER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_MSC_FULL_VER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_MSC_VER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_comp_compiler_macros.h28"></a>
+ <span class="phrase"><a name="predef.reference.boost_comp_compiler_macros.boost_comp_watcom"></a></span><a class="link" href="reference.html#predef.reference.boost_comp_compiler_macros.boost_comp_watcom"><code class="computeroutput"><span class="identifier">BOOST_COMP_WATCOM</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Watcom" target="_top">Watcom C++</a> compiler.
+ Version number available as major, and minor.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__WATCOMC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__WATCOMC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="predef.reference.boost_lang_language_standards_ma"></a><a class="link" href="reference.html#predef.reference.boost_lang_language_standards_ma" title="BOOST_LANG language standards macros"><code class="computeroutput"><span class="identifier">BOOST_LANG</span></code> language standards macros</a>
+</h3></div></div></div>
+<h5>
+<a name="predef.reference.boost_lang_language_standards_ma.h0"></a>
+ <span class="phrase"><a name="predef.reference.boost_lang_language_standards_ma.boost_lang_objc"></a></span><a class="link" href="reference.html#predef.reference.boost_lang_language_standards_ma.boost_lang_objc"><code class="computeroutput"><span class="identifier">BOOST_LANG_OBJC</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Objective-C" target="_top">Objective-C</a>
+ language.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__OBJC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_lang_language_standards_ma.h1"></a>
+ <span class="phrase"><a name="predef.reference.boost_lang_language_standards_ma.boost_lang_stdc"></a></span><a class="link" href="reference.html#predef.reference.boost_lang_language_standards_ma.boost_lang_stdc"><code class="computeroutput"><span class="identifier">BOOST_LANG_STDC</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/C_(programming_language)" target="_top">Standard
+ C</a> language. If available, the year of the standard is detected as
+ YYYY.MM.1 from the Epoc date.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__STDC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__STDC_VERSION__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_lang_language_standards_ma.h2"></a>
+ <span class="phrase"><a name="predef.reference.boost_lang_language_standards_ma.boost_lang_stdcpp"></a></span><a class="link" href="reference.html#predef.reference.boost_lang_language_standards_ma.boost_lang_stdcpp"><code class="computeroutput"><span class="identifier">BOOST_LANG_STDCPP</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/C%2B%2B" target="_top">Standard C++</a> language.
+ If available, the year of the standard is detected as YYYY.MM.1 from the
+ Epoc date. Because of the way the C++ standardization process works the defined
+ version year will not be the commonly known year of the standard. Specifically
+ the defined versions are:
+ </p>
+<div class="table">
+<a name="predef.reference.boost_lang_language_standards_ma.detected_version_number_vs_c_sta"></a><p class="title"><b>Table&#160;26.1.&#160;Detected Version Number vs. C++ Standard Year</b></p>
+<div class="table-contents"><table class="table" summary="Detected Version Number vs. C++ Standard Year">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Detected Version Number
+ </p>
+ </th>
+<th>
+ <p>
+ Standard Year
+ </p>
+ </th>
+<th>
+ <p>
+ C++ Standard
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 27.11.1
+ </p>
+ </td>
+<td>
+ <p>
+ 1998
+ </p>
+ </td>
+<td>
+ <p>
+ ISO/IEC 14882:1998
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 41.12.1
+ </p>
+ </td>
+<td>
+ <p>
+ 2011
+ </p>
+ </td>
+<td>
+ <p>
+ ISO/IEC 14882:2011
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__cplusplus</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__cplusplus</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ YYYY.MM.1
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_lang_language_standards_ma.h3"></a>
+ <span class="phrase"><a name="predef.reference.boost_lang_language_standards_ma.boost_lang_stdcppcli"></a></span><a class="link" href="reference.html#predef.reference.boost_lang_language_standards_ma.boost_lang_stdcppcli"><code class="computeroutput"><span class="identifier">BOOST_LANG_STDCPPCLI</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/C%2B%2B/CLI" target="_top">Standard C++/CLI</a>
+ language. If available, the year of the standard is detected as YYYY.MM.1
+ from the Epoc date.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__cplusplus_cli</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__cplusplus_cli</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ YYYY.MM.1
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_lang_language_standards_ma.h4"></a>
+ <span class="phrase"><a name="predef.reference.boost_lang_language_standards_ma.boost_lang_stdecpp"></a></span><a class="link" href="reference.html#predef.reference.boost_lang_language_standards_ma.boost_lang_stdecpp"><code class="computeroutput"><span class="identifier">BOOST_LANG_STDECPP</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Embedded_C%2B%2B" target="_top">Standard Embedded
+ C++</a> language.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__embedded_cplusplus</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="predef.reference.boost_lib_library_macros"></a><a class="link" href="reference.html#predef.reference.boost_lib_library_macros" title="BOOST_LIB library macros"><code class="computeroutput"><span class="identifier">BOOST_LIB</span></code> library macros</a>
+</h3></div></div></div>
+<h5>
+<a name="predef.reference.boost_lib_library_macros.h0"></a>
+ <span class="phrase"><a name="predef.reference.boost_lib_library_macros.boost_lib_c_gnu"></a></span><a class="link" href="reference.html#predef.reference.boost_lib_library_macros.boost_lib_c_gnu"><code class="computeroutput"><span class="identifier">BOOST_LIB_C_GNU</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Glibc" target="_top">GNU glibc</a> Standard
+ C library. Version number available as major, and minor.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__GLIBC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__GNU_LIBRARY__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__GLIBC__</span></code>, <code class="computeroutput"><span class="identifier">__GLIBC_MINOR__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__GNU_LIBRARY__</span></code>,
+ <code class="computeroutput"><span class="identifier">__GNU_LIBRARY_MINOR__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_lib_library_macros.h1"></a>
+ <span class="phrase"><a name="predef.reference.boost_lib_library_macros.boost_lib_c_uc"></a></span><a class="link" href="reference.html#predef.reference.boost_lib_library_macros.boost_lib_c_uc"><code class="computeroutput"><span class="identifier">BOOST_LIB_C_UC</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Uclibc" target="_top">uClibc</a> Standard
+ C library.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__UCLIBC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__UCLIBC_MAJOR__</span></code>,
+ <code class="computeroutput"><span class="identifier">__UCLIBC_MINOR__</span></code>,
+ <code class="computeroutput"><span class="identifier">__UCLIBC_SUBLEVEL__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_lib_library_macros.h2"></a>
+ <span class="phrase"><a name="predef.reference.boost_lib_library_macros.boost_lib_c_vms"></a></span><a class="link" href="reference.html#predef.reference.boost_lib_library_macros.boost_lib_c_vms"><code class="computeroutput"><span class="identifier">BOOST_LIB_C_VMS</span></code></a>
+ </h5>
+<p>
+ VMS libc Standard C library. Version number available as major, minor, and
+ patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__CRTL_VER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__CRTL_VER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_lib_library_macros.h3"></a>
+ <span class="phrase"><a name="predef.reference.boost_lib_library_macros.boost_lib_c_zos"></a></span><a class="link" href="reference.html#predef.reference.boost_lib_library_macros.boost_lib_c_zos"><code class="computeroutput"><span class="identifier">BOOST_LIB_C_ZOS</span></code></a>
+ </h5>
+<p>
+ z/OS libc Standard C library. Version number available as major, minor, and
+ patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__LIBREL__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__LIBREL__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__TARGET_LIB__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_lib_library_macros.h4"></a>
+ <span class="phrase"><a name="predef.reference.boost_lib_library_macros.boost_lib_std_cxx"></a></span><a class="link" href="reference.html#predef.reference.boost_lib_library_macros.boost_lib_std_cxx"><code class="computeroutput"><span class="identifier">BOOST_LIB_STD_CXX</span></code></a>
+ </h5>
+<p>
+ <a href="http://libcxx.llvm.org/" target="_top">libc++</a> C++ Standard Library.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_LIBCPP_VERSION</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_LIBCPP_VERSION</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.0.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_lib_library_macros.h5"></a>
+ <span class="phrase"><a name="predef.reference.boost_lib_library_macros.boost_lib_std_dinkumware"></a></span><a class="link" href="reference.html#predef.reference.boost_lib_library_macros.boost_lib_std_dinkumware"><code class="computeroutput"><span class="identifier">BOOST_LIB_STD_DINKUMWARE</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Dinkumware" target="_top">Dinkumware</a> Standard
+ C++ Library. If available version number as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_YVALS</span></code>, <code class="computeroutput"><span class="identifier">__IBMCPP__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_CPPLIB_VER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_CPPLIB_VER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_lib_library_macros.h6"></a>
+ <span class="phrase"><a name="predef.reference.boost_lib_library_macros.boost_lib_std_como"></a></span><a class="link" href="reference.html#predef.reference.boost_lib_library_macros.boost_lib_std_como"><code class="computeroutput"><span class="identifier">BOOST_LIB_STD_COMO</span></code></a>
+ </h5>
+<p>
+ <a href="http://www.comeaucomputing.com/libcomo/" target="_top">Comeau Computing</a>
+ Standard C++ Library. Version number available as major.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__LIBCOMO__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__LIBCOMO_VERSION__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.0.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_lib_library_macros.h7"></a>
+ <span class="phrase"><a name="predef.reference.boost_lib_library_macros.boost_lib_std_msipl"></a></span><a class="link" href="reference.html#predef.reference.boost_lib_library_macros.boost_lib_std_msipl"><code class="computeroutput"><span class="identifier">BOOST_LIB_STD_MSIPL</span></code></a>
+ </h5>
+<p>
+ <a href="http://modena.us/" target="_top">Modena Software Lib++</a> Standard C++
+ Library.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">MSIPL_COMPILE_H</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MSIPL_COMPILE_H</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_lib_library_macros.h8"></a>
+ <span class="phrase"><a name="predef.reference.boost_lib_library_macros.boost_lib_std_msl"></a></span><a class="link" href="reference.html#predef.reference.boost_lib_library_macros.boost_lib_std_msl"><code class="computeroutput"><span class="identifier">BOOST_LIB_STD_MSL</span></code></a>
+ </h5>
+<p>
+ <a href="http://www.freescale.com/" target="_top">Metrowerks</a> Standard C++ Library.
+ Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MSL_CPP__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MSL__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MSL_CPP__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MSL__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_lib_library_macros.h9"></a>
+ <span class="phrase"><a name="predef.reference.boost_lib_library_macros.boost_lib_std_rw"></a></span><a class="link" href="reference.html#predef.reference.boost_lib_library_macros.boost_lib_std_rw"><code class="computeroutput"><span class="identifier">BOOST_LIB_STD_RW</span></code></a>
+ </h5>
+<p>
+ <a href="http://stdcxx.apache.org/" target="_top">Roguewave</a> Standard C++ library.
+ If available version number as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__STD_RWCOMPILER_H__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_RWSTD_VER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_RWSTD_VER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_lib_library_macros.h10"></a>
+ <span class="phrase"><a name="predef.reference.boost_lib_library_macros.boost_lib_std_sgi"></a></span><a class="link" href="reference.html#predef.reference.boost_lib_library_macros.boost_lib_std_sgi"><code class="computeroutput"><span class="identifier">BOOST_LIB_STD_SGI</span></code></a>
+ </h5>
+<p>
+ <a href="http://www.sgi.com/tech/stl/" target="_top">SGI</a> Standard C++ library.
+ If available version number as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__STL_CONFIG_H</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SGI_STL</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_lib_library_macros.h11"></a>
+ <span class="phrase"><a name="predef.reference.boost_lib_library_macros.boost_lib_std_gnu"></a></span><a class="link" href="reference.html#predef.reference.boost_lib_library_macros.boost_lib_std_gnu"><code class="computeroutput"><span class="identifier">BOOST_LIB_STD_GNU</span></code></a>
+ </h5>
+<p>
+ <a href="http://gcc.gnu.org/libstdc++/" target="_top">GNU libstdc++</a> Standard
+ C++ library. Version number available as year (from 1970), month, and day.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__GLIBCXX__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__GLIBCPP__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__GLIBCXX__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__GLIBCPP__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_lib_library_macros.h12"></a>
+ <span class="phrase"><a name="predef.reference.boost_lib_library_macros.boost_lib_std_stlport"></a></span><a class="link" href="reference.html#predef.reference.boost_lib_library_macros.boost_lib_std_stlport"><code class="computeroutput"><span class="identifier">BOOST_LIB_STD_STLPORT</span></code></a>
+ </h5>
+<p>
+ <a href="http://sourceforge.net/projects/stlport/" target="_top">STLport Standard C++</a>
+ library. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SGI_STL_PORT</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_STLPORT_VERSION</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_STLPORT_MAJOR</span></code>,
+ <code class="computeroutput"><span class="identifier">_STLPORT_MINOR</span></code>,
+ <code class="computeroutput"><span class="identifier">_STLPORT_PATCHLEVEL</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_STLPORT_VERSION</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SGI_STL_PORT</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_lib_library_macros.h13"></a>
+ <span class="phrase"><a name="predef.reference.boost_lib_library_macros.boost_lib_std_ibm"></a></span><a class="link" href="reference.html#predef.reference.boost_lib_library_macros.boost_lib_std_ibm"><code class="computeroutput"><span class="identifier">BOOST_LIB_STD_IBM</span></code></a>
+ </h5>
+<p>
+ <a href="http://www.ibm.com/software/awdtools/xlcpp/" target="_top">IBM VACPP Standard
+ C++</a> library.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__IBMCPP__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="predef.reference.boost_os_operating_system_macros"></a><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros" title="BOOST_OS operating system macros"><code class="computeroutput"><span class="identifier">BOOST_OS</span></code> operating system macros</a>
+</h3></div></div></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h0"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_aix"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_aix"><code class="computeroutput"><span class="identifier">BOOST_OS_AIX</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/AIX_operating_system" target="_top">IBM AIX</a>
+ operating system. Version number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_AIX</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__TOS_AIX__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_AIX43</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.3.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_AIX41</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.1.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_AIX32</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.2.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_AIX3</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.0.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h1"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_amigaos"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_amigaos"><code class="computeroutput"><span class="identifier">BOOST_OS_AMIGAOS</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/AmigaOS" target="_top">AmigaOS</a> operating
+ system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">AMIGA</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__amigaos__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h2"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_android"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_android"><code class="computeroutput"><span class="identifier">BOOST_OS_ANDROID</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Android_%28operating_system%29" target="_top">Android</a>
+ operating system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ANDROID__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h3"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_beos"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_beos"><code class="computeroutput"><span class="identifier">BOOST_OS_BEOS</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/BeOS" target="_top">BeOS</a> operating system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__BEOS__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h4"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_bsd"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_bsd"><code class="computeroutput"><span class="identifier">BOOST_OS_BSD</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Berkeley_Software_Distribution" target="_top">BSD</a>
+ operating system.
+ </p>
+<p>
+ BSD has various branch operating systems possible and each detected individually.
+ This detects the following variations and sets a specific version number
+ macro to match:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_OS_BSD_DRAGONFLY</span></code>
+ <a href="http://en.wikipedia.org/wiki/DragonFly_BSD" target="_top">DragonFly BSD</a>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_OS_BSD_FREE</span></code> <a href="http://en.wikipedia.org/wiki/Freebsd" target="_top">FreeBSD</a>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_OS_BSD_BSDI</span></code> <a href="http://en.wikipedia.org/wiki/BSD/OS" target="_top">BSDi BSD/OS</a>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_OS_BSD_NET</span></code> <a href="http://en.wikipedia.org/wiki/Netbsd" target="_top">NetBSD</a>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_OS_BSD_OPEN</span></code> <a href="http://en.wikipedia.org/wiki/Openbsd" target="_top">OpenBSD</a>
+ </li>
+</ul></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The general <code class="computeroutput"><span class="identifier">BOOST_OS_BSD</span></code>
+ is set in all cases to indicate some form of BSD. If the above variants
+ is detected the corresponding macro is also set.
+ </p></td></tr>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BSD</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_SYSTYPE_BSD</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BSD4_2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.2.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BSD4_3</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.3.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BSD4_4</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.4.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BSD</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h5"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_cygwin"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_cygwin"><code class="computeroutput"><span class="identifier">BOOST_OS_CYGWIN</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Cygwin" target="_top">Cygwin</a> evironment.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__CYGWIN__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h6"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_haiku"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_haiku"><code class="computeroutput"><span class="identifier">BOOST_OS_HAIKU</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Haiku_(operating_system)" target="_top">Haiku</a>
+ operating system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__HAIKU__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h7"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_hpux"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_hpux"><code class="computeroutput"><span class="identifier">BOOST_OS_HPUX</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/HP-UX" target="_top">HP-UX</a> operating system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">hpux</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_hpux</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__hpux</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h8"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_ios"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_ios"><code class="computeroutput"><span class="identifier">BOOST_OS_IOS</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/iOS" target="_top">iOS</a> operating system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__APPLE__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MACH__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__*1000
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h9"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_irix"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_irix"><code class="computeroutput"><span class="identifier">BOOST_OS_IRIX</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Irix" target="_top">IRIX</a> operating system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">sgi</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__sgi</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h10"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_linux"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_linux"><code class="computeroutput"><span class="identifier">BOOST_OS_LINUX</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Linux" target="_top">Linux</a> operating system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">linux</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__linux</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h11"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_macos"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_macos"><code class="computeroutput"><span class="identifier">BOOST_OS_MACOS</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Mac_OS" target="_top">Mac OS</a> operating
+ system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">macintosh</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Macintosh</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__APPLE__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MACH__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__APPLE__</span></code>, <code class="computeroutput"><span class="identifier">__MACH__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 10.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="emphasis"><em>otherwise</em></span>
+ </p>
+ </td>
+<td>
+ <p>
+ 9.0.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h12"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_os400"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_os400"><code class="computeroutput"><span class="identifier">BOOST_OS_OS400</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/IBM_i" target="_top">IBM OS/400</a> operating
+ system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__OS400__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h13"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_qnx"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_qnx"><code class="computeroutput"><span class="identifier">BOOST_OS_QNX</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/QNX" target="_top">QNX</a> operating system.
+ Version number available as major, and minor if possible. And version 4 is
+ specifically detected.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__QNX__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__QNXNTO__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_NTO_VERSION</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__QNX__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.0.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h14"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_solaris"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_solaris"><code class="computeroutput"><span class="identifier">BOOST_OS_SOLARIS</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Solaris_Operating_Environment" target="_top">Solaris</a>
+ operating system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">sun</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__sun</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h15"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_unix"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_unix"><code class="computeroutput"><span class="identifier">BOOST_OS_UNIX</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Unix" target="_top">Unix Environment</a> operating
+ system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unix</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__unix</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_XOPEN_SOURCE</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_POSIX_SOURCE</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h16"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_svr4"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_svr4"><code class="computeroutput"><span class="identifier">BOOST_OS_SVR4</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/UNIX_System_V" target="_top">SVR4 Environment</a>
+ operating system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__sysv__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SVR4</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__svr4__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_SYSTYPE_SVR4</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h17"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_vms"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_vms"><code class="computeroutput"><span class="identifier">BOOST_OS_VMS</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Vms" target="_top">VMS</a> operating system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">VMS</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__VMS</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__VMS_VER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h18"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_windows"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_windows"><code class="computeroutput"><span class="identifier">BOOST_OS_WINDOWS</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Category:Microsoft_Windows" target="_top">Microsoft
+ Windows</a> operating system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_WIN32</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_WIN64</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__WIN32__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__TOS_WIN__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__WINDOWS__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h19"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_bsd_bsdi"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_bsd_bsdi"><code class="computeroutput"><span class="identifier">BOOST_OS_BSD_BSDI</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/BSD/OS" target="_top">BSDi BSD/OS</a> operating
+ system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__bsdi__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h20"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_bsd_dragonfly"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_bsd_dragonfly"><code class="computeroutput"><span class="identifier">BOOST_OS_BSD_DRAGONFLY</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/DragonFly_BSD" target="_top">DragonFly BSD</a>
+ operating system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__DragonFly__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h21"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_bsd_free"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_bsd_free"><code class="computeroutput"><span class="identifier">BOOST_OS_BSD_FREE</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Freebsd" target="_top">FreeBSD</a> operating
+ system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__FreeBSD__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__FreeBSD_version</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h22"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_bsd_net"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_bsd_net"><code class="computeroutput"><span class="identifier">BOOST_OS_BSD_NET</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Netbsd" target="_top">NetBSD</a> operating
+ system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__NETBSD__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__NetBSD__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__NETBSD_version</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">NetBSD0_8</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 0.8.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">NetBSD0_9</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 0.9.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">NetBSD1_0</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 1.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__NetBSD_Version</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.P
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_os_operating_system_macros.h23"></a>
+ <span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_bsd_open"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_bsd_open"><code class="computeroutput"><span class="identifier">BOOST_OS_BSD_OPEN</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Openbsd" target="_top">OpenBSD</a> operating
+ system.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__OpenBSD__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD2_0</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD2_1</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.1.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD2_2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.2.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD2_3</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.3.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD2_4</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.4.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD2_5</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.5.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD2_6</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.6.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD2_7</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.7.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD2_8</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.8.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD2_9</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.9.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD3_0</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD3_1</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.1.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD3_2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.2.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD3_3</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.3.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD3_4</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.4.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD3_5</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.5.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD3_6</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.6.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD3_7</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.7.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD3_8</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.8.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD3_9</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.9.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD4_0</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.0.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD4_1</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.1.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD4_2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.2.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD4_3</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.3.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD4_4</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.4.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD4_5</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.5.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD4_6</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.6.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD4_7</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.7.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD4_8</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.8.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">OpenBSD4_9</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 4.9.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="predef.reference.boost_plat_platform_macros"></a><a class="link" href="reference.html#predef.reference.boost_plat_platform_macros" title="BOOST_PLAT platform macros"><code class="computeroutput"><span class="identifier">BOOST_PLAT</span></code> platform macros</a>
+</h3></div></div></div>
+<h5>
+<a name="predef.reference.boost_plat_platform_macros.h0"></a>
+ <span class="phrase"><a name="predef.reference.boost_plat_platform_macros.boost_plat_mingw"></a></span><a class="link" href="reference.html#predef.reference.boost_plat_platform_macros.boost_plat_mingw"><code class="computeroutput"><span class="identifier">BOOST_PLAT_MINGW</span></code></a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/MinGW" target="_top">MinGW</a> platform. Version
+ number available as major, minor, and patch.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MINGW32__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MINGW64__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MINGW64_VERSION_MAJOR</span></code>,
+ <code class="computeroutput"><span class="identifier">__MINGW64_VERSION_MINOR</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__MINGW32_VERSION_MAJOR</span></code>,
+ <code class="computeroutput"><span class="identifier">__MINGW32_VERSION_MINOR</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ V.R.0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_plat_platform_macros.h1"></a>
+ <span class="phrase"><a name="predef.reference.boost_plat_platform_macros.boost_plat_windows_desktop"></a></span><a class="link" href="reference.html#predef.reference.boost_plat_platform_macros.boost_plat_windows_desktop"><code class="computeroutput"><span class="identifier">BOOST_PLAT_WINDOWS_DESKTOP</span></code></a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">!</span><span class="identifier">WINAPI_FAMILY</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">WINAPI_FAMILY</span> <span class="special">==</span> <span class="identifier">WINAPI_FAMILY_DESKTOP_APP</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_plat_platform_macros.h2"></a>
+ <span class="phrase"><a name="predef.reference.boost_plat_platform_macros.boost_plat_windows_phone"></a></span><a class="link" href="reference.html#predef.reference.boost_plat_platform_macros.boost_plat_windows_phone"><code class="computeroutput"><span class="identifier">BOOST_PLAT_WINDOWS_PHONE</span></code></a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">WINAPI_FAMILY</span> <span class="special">==</span> <span class="identifier">WINAPI_FAMILY_PHONE_APP</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_plat_platform_macros.h3"></a>
+ <span class="phrase"><a name="predef.reference.boost_plat_platform_macros.boost_plat_windows_runtime"></a></span><a class="link" href="reference.html#predef.reference.boost_plat_platform_macros.boost_plat_windows_runtime"><code class="computeroutput"><span class="identifier">BOOST_PLAT_WINDOWS_RUNTIME</span></code></a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">WINAPI_FAMILY</span> <span class="special">==</span> <span class="identifier">WINAPI_FAMILY_APP</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">WINAPI_FAMILY</span> <span class="special">==</span> <span class="identifier">WINAPI_FAMILY_PHONE_APP</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="predef.reference.boost_plat_platform_macros.h4"></a>
+ <span class="phrase"><a name="predef.reference.boost_plat_platform_macros.boost_plat_windows_store"></a></span><a class="link" href="reference.html#predef.reference.boost_plat_platform_macros.boost_plat_windows_store"><code class="computeroutput"><span class="identifier">BOOST_PLAT_WINDOWS_STORE</span></code></a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">WINAPI_FAMILY</span> <span class="special">==</span> <span class="identifier">WINAPI_FAMILY_APP</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="predef.reference.boost_hw_hardware_macros"></a><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros" title="BOOST_HW hardware macros"><code class="computeroutput"><span class="identifier">BOOST_HW</span></code> hardware macros</a>
+</h3></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="reference.html#predef.reference.boost_hw_hardware_macros.using_the_boost_hw_simd_predefs">Using
+ the <code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_</span><span class="special">*</span></code>
+ predefs</a></span></dt>
+<dt><span class="section"><a href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_</span><span class="special">*</span></code></a></span></dt>
+<dt><span class="section"><a href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_</span><span class="special">*</span><span class="identifier">_VERSION</span></code></a></span></dt>
+<dt><span class="section"><a href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_amd_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_AMD_</span><span class="special">*</span><span class="identifier">_VERSION</span></code></a></span></dt>
+<dt><span class="section"><a href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_arm_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_ARM_</span><span class="special">*</span><span class="identifier">_VERSION</span></code></a></span></dt>
+<dt><span class="section"><a href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_ppc_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_PPC_</span><span class="special">*</span><span class="identifier">_VERSION</span></code></a></span></dt>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="predef.reference.boost_hw_hardware_macros.using_the_boost_hw_simd_predefs"></a><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.using_the_boost_hw_simd_predefs" title="Using the BOOST_HW_SIMD_* predefs">Using
+ the <code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_</span><span class="special">*</span></code>
+ predefs</a>
+</h4></div></div></div>
+<p>
+ SIMD predefs depend on compiler options. For example, you will have to
+ add the option <code class="computeroutput"><span class="special">-</span><span class="identifier">msse3</span></code>
+ to clang or gcc to enable SSE3. SIMD predefs are also inclusive. This means
+ that if SSE3 is enabled, then every other extensions with a lower version
+ number will implicitly be enabled and detected. However, some extensions
+ are CPU specific, they may not be detected nor enabled when an upper version
+ is enabled.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ SSE(1) and SSE2 are automatically enabled by default when using x86-64
+ architecture.
+ </p></td></tr>
+</table></div>
+<p>
+ To check if any SIMD extension has been enabled, you can use:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">/</span><span class="identifier">hardware</span><span class="special">/</span><span class="identifier">simd</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+<span class="preprocessor">#if</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_HW_SIMD_AVAILABLE</span><span class="special">)</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"SIMD detected!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ When writing SIMD specific code, you may want to check if a particular
+ extension has been detected. To do so you have to use the right architecture
+ predef and compare it. Those predef are of the form <code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_</span><span class="string">"ARCH"</span></code> (where <code class="computeroutput"><span class="string">"ARCH"</span></code>
+ is either <code class="computeroutput"><span class="identifier">ARM</span></code>, <code class="computeroutput"><span class="identifier">PPC</span></code>, or <code class="computeroutput"><span class="identifier">X86</span></code>).
+ For example, if you compile code for x86 architecture, you will have to
+ use <code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86</span></code>.
+ Its value will be the version number of the most recent SIMD extension
+ detected for the architecture.
+ </p>
+<p>
+ To check if an extension has been enabled:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">/</span><span class="identifier">hardware</span><span class="special">/</span><span class="identifier">simd</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+<span class="preprocessor">#if</span> <span class="identifier">BOOST_HW_SIMD_X86</span> <span class="special">&gt;=</span> <span class="identifier">BOOST_HW_SIMD_X86_SSE3_VERSION</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"This is SSE3!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The <span class="bold"><strong>_VERSION</strong></span> defines that map version
+ number to actual real identifiers. This way it is easier to write comparisons
+ without messing up with version numbers.
+ </p></td></tr>
+</table></div>
+<p>
+ To <span class="bold"><strong>"stricly"</strong></span> check the most
+ recent detected extension:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">/</span><span class="identifier">hardware</span><span class="special">/</span><span class="identifier">simd</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+<span class="preprocessor">#if</span> <span class="identifier">BOOST_HW_SIMD_X86</span> <span class="special">==</span> <span class="identifier">BOOST_HW_SIMD_X86_SSE3_VERSION</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"This is SSE3 and this is the most recent enabled extension!"</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Because of the version systems of predefs and of the inclusive property
+ of SIMD extensions macros, you can easily check for ranges of supported
+ extensions:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">/</span><span class="identifier">hardware</span><span class="special">/</span><span class="identifier">simd</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+<span class="preprocessor">#if</span> <span class="identifier">BOOST_HW_SIMD_X86</span> <span class="special">&gt;=</span> <span class="identifier">BOOST_HW_SIMD_X86_SSE2_VERSION</span> <span class="special">&amp;&amp;\</span>
+ <span class="identifier">BOOST_HW_SIMD_X86</span> <span class="special">&lt;=</span> <span class="identifier">BOOST_HW_SIMD_X86_SSSE3_VERSION</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"This is SSE2, SSE3 and SSSE3!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Unlike gcc and clang, Visual Studio does not allow you to specify precisely
+ the SSE variants you want to use, the only detections that will take
+ place are SSE, SSE2, AVX and AVX2. For more informations, see <a href="https://msdn.microsoft.com/en-us/library/b0084kay.aspx" target="_top">here</a>.
+ </p></td></tr>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd"></a><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd" title="BOOST_HW_SIMD_*"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_</span><span class="special">*</span></code></a>
+</h4></div></div></div>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd.h0"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd.boost_hw_simd"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd.boost_hw_simd"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD</span></code></a>
+ </h6>
+<p>
+ The SIMD extension detected for a specific architectures. Version number
+ depends on the detected extension.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_AVAILABLE</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_AMD_AVAILABLE</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_ARM_AVAILABLE</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_PPC_AVAILABLE</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd.h1"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd.boost_hw_simd_x86"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd.boost_hw_simd_x86"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86</span></code></a>
+ </h6>
+<p>
+ The SIMD extension for x86 (<span class="bold"><strong>if detected</strong></span>).
+ Version number depends on the most recent detected extension.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SSE__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_X64</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_IX86_FP</span> <span class="special">&gt;=</span>
+ <span class="number">1</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SSE2__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_X64</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_IX86_FP</span> <span class="special">&gt;=</span>
+ <span class="number">2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SSE3__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SSSE3__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SSE4_1__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SSE4_2__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__AVX__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__FMA__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__AVX2__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SSE__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_X86_SSE_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_X64</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_X86_SSE_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_IX86_FP</span> <span class="special">&gt;=</span>
+ <span class="number">1</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_X86_SSE_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SSE2__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_X86_SSE2_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_X64</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_X86_SSE2_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_IX86_FP</span> <span class="special">&gt;=</span>
+ <span class="number">2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_X86_SSE2_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SSE3__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_X86_SSE3_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SSSE3__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_X86_SSSE3_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SSE4_1__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_X86_SSE4_1_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SSE4_2__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_X86_SSE4_2_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__AVX__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_X86_AVX_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__FMA__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_X86_FMA3_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__AVX2__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_X86_AVX2_VERSION
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd.h2"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd.boost_hw_simd_x86_amd"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd.boost_hw_simd_x86_amd"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_AMD</span></code></a>
+ </h6>
+<p>
+ The SIMD extension for x86 (AMD) (<span class="bold"><strong>if detected</strong></span>).
+ Version number depends on the most recent detected extension.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SSE4A__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__FMA4__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__XOP__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__SSE4A__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_X86_SSE4A_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__FMA4__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_X86_FMA4_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__XOP__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_X86_XOP_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_X86
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ This predef includes every other x86 SIMD extensions and also has other
+ more specific extensions (FMA4, XOP, SSE4a). You should use this predef
+ instead of <code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86</span></code>
+ to test if those specific extensions have been detected.
+ </p></td></tr>
+</table></div>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd.h3"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd.boost_hw_simd_arm"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd.boost_hw_simd_arm"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_ARM</span></code></a>
+ </h6>
+<p>
+ The SIMD extension for ARM (<span class="bold"><strong>if detected</strong></span>).
+ Version number depends on the most recent detected extension.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ARM_NEON__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__aarch64__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_ARM</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ARM_NEON__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_ARM_NEON_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__aarch64__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_ARM_NEON_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_M_ARM</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_ARM_NEON_VERSION
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd.h4"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd.boost_hw_simd_ppc"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd.boost_hw_simd_ppc"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_PPC</span></code></a>
+ </h6>
+<p>
+ The SIMD extension for PowerPC (<span class="bold"><strong>if detected</strong></span>).
+ Version number depends on the most recent detected extension.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__VECTOR4DOUBLE__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ALTIVEC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__VEC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__VSX__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>detection</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Symbol
+ </p>
+ </th>
+<th>
+ <p>
+ Version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__VECTOR4DOUBLE__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_PPC_QPX_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__ALTIVEC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_PPC_VMX_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__VEC__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_PPC_VMX_VERSION
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">__VSX__</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ BOOST_HW_SIMD_PPC_VSX_VERSION
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version"></a><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version" title="BOOST_HW_SIMD_X86_*_VERSION"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_</span><span class="special">*</span><span class="identifier">_VERSION</span></code></a>
+</h4></div></div></div>
+<p>
+ Those defines represent x86 SIMD extensions versions.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You <span class="bold"><strong>MUST</strong></span> compare them with the predef
+ <code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86</span></code>.
+ </p></td></tr>
+</table></div>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.h0"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_mmx_version"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_mmx_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_MMX_VERSION</span></code></a>
+ </h6>
+<p>
+ The <a href="https://en.wikipedia.org/wiki/MMX_(instruction_set)" target="_top">MMX</a>
+ x86 extension version number.
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>0.99.0</strong></span>.
+ </p>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.h1"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_sse_version"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_sse_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_SSE_VERSION</span></code></a>
+ </h6>
+<p>
+ The <a href="https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions" target="_top">SSE</a>
+ x86 extension version number.
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>1.0.0</strong></span>.
+ </p>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.h2"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_sse2_version"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_sse2_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_SSE2_VERSION</span></code></a>
+ </h6>
+<p>
+ The <a href="https://en.wikipedia.org/wiki/SSE2" target="_top">SSE2</a> x86 extension
+ version number.
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>2.0.0</strong></span>.
+ </p>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.h3"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_sse3_version"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_sse3_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_SSE3_VERSION</span></code></a>
+ </h6>
+<p>
+ The <a href="https://en.wikipedia.org/wiki/SSE3" target="_top">SSE3</a> x86 extension
+ version number.
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>3.0.0</strong></span>.
+ </p>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.h4"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_ssse3_version"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_ssse3_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_SSSE3_VERSION</span></code></a>
+ </h6>
+<p>
+ The <a href="https://en.wikipedia.org/wiki/SSSE3" target="_top">SSSE3</a> x86
+ extension version number.
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>3.1.0</strong></span>.
+ </p>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.h5"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_sse4_1_version"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_sse4_1_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_SSE4_1_VERSION</span></code></a>
+ </h6>
+<p>
+ The <a href="https://en.wikipedia.org/wiki/SSE4#SSE4.1" target="_top">SSE4_1</a>
+ x86 extension version number.
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>4.1.0</strong></span>.
+ </p>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.h6"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_sse4_2_version"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_sse4_2_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_SSE4_2_VERSION</span></code></a>
+ </h6>
+<p>
+ The <a href="https://en.wikipedia.org/wiki/SSE4##SSE4.2" target="_top">SSE4_2</a>
+ x86 extension version number.
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>4.2.0</strong></span>.
+ </p>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.h7"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_avx_version"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_avx_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_AVX_VERSION</span></code></a>
+ </h6>
+<p>
+ The <a href="https://en.wikipedia.org/wiki/Advanced_Vector_Extensions" target="_top">AVX</a>
+ x86 extension version number.
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>5.0.0</strong></span>.
+ </p>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.h8"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_fma3_version"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_fma3_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_FMA3_VERSION</span></code></a>
+ </h6>
+<p>
+ The <a href="https://en.wikipedia.org/wiki/FMA_instruction_set" target="_top">FMA3</a>
+ x86 extension version number.
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>5.2.0</strong></span>.
+ </p>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.h9"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_avx2_version"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_avx2_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_AVX2_VERSION</span></code></a>
+ </h6>
+<p>
+ The <a href="https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2" target="_top">AVX2</a>
+ x86 extension version number.
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>5.3.0</strong></span>.
+ </p>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.h10"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_mic_version"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_version.boost_hw_simd_x86_mic_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_MIC_VERSION</span></code></a>
+ </h6>
+<p>
+ The <a href="https://en.wikipedia.org/wiki/Xeon_Phi" target="_top">MIC</a> (Xeon
+ Phi) x86 extension version number.
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>9.0.0</strong></span>.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_amd_version"></a><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_amd_version" title="BOOST_HW_SIMD_X86_AMD_*_VERSION"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_AMD_</span><span class="special">*</span><span class="identifier">_VERSION</span></code></a>
+</h4></div></div></div>
+<p>
+ Those defines represent x86 (AMD specific) SIMD extensions versions.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You <span class="bold"><strong>MUST</strong></span> compare them with the predef
+ <code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_AMD</span></code>.
+ </p></td></tr>
+</table></div>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_amd_version.h0"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_amd_version.boost_hw_simd_x86_amd_sse4a_vers"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_amd_version.boost_hw_simd_x86_amd_sse4a_vers"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_AMD_SSE4A_VERSION</span></code></a>
+ </h6>
+<p>
+ <a href="https://en.wikipedia.org/wiki/SSE4##SSE4A" target="_top">SSE4A</a> x86
+ extension (AMD specific).
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>4.0.0</strong></span>.
+ </p>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_amd_version.h1"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_amd_version.boost_hw_simd_x86_amd_fma4_versi"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_amd_version.boost_hw_simd_x86_amd_fma4_versi"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_AMD_FMA4_VERSION</span></code></a>
+ </h6>
+<p>
+ <a href="https://en.wikipedia.org/wiki/FMA_instruction_set#FMA4_instruction_set" target="_top">FMA4</a>
+ x86 extension (AMD specific).
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>5.1.0</strong></span>.
+ </p>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_amd_version.h2"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_amd_version.boost_hw_simd_x86_amd_xop_versio"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_x86_amd_version.boost_hw_simd_x86_amd_xop_versio"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_X86_AMD_XOP_VERSION</span></code></a>
+ </h6>
+<p>
+ <a href="https://en.wikipedia.org/wiki/XOP_instruction_set" target="_top">XOP</a>
+ x86 extension (AMD specific).
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>5.1.1</strong></span>.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_arm_version"></a><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_arm_version" title="BOOST_HW_SIMD_ARM_*_VERSION"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_ARM_</span><span class="special">*</span><span class="identifier">_VERSION</span></code></a>
+</h4></div></div></div>
+<p>
+ Those defines represent ARM SIMD extensions versions.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You <span class="bold"><strong>MUST</strong></span> compare them with the predef
+ <code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_ARM</span></code>.
+ </p></td></tr>
+</table></div>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_arm_version.h0"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_arm_version.boost_hw_simd_arm_neon_version"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_arm_version.boost_hw_simd_arm_neon_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_ARM_NEON_VERSION</span></code></a>
+ </h6>
+<p>
+ The <a href="https://en.wikipedia.org/wiki/ARM_architecture#Advanced_SIMD_.28NEON.29" target="_top">NEON</a>
+ ARM extension version number.
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>1.0.0</strong></span>.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_ppc_version"></a><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_ppc_version" title="BOOST_HW_SIMD_PPC_*_VERSION"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_PPC_</span><span class="special">*</span><span class="identifier">_VERSION</span></code></a>
+</h4></div></div></div>
+<p>
+ Those defines represent Power PC SIMD extensions versions.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You <span class="bold"><strong>MUST</strong></span> compare them with the predef
+ <code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_PPC</span></code>.
+ </p></td></tr>
+</table></div>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_ppc_version.h0"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_ppc_version.boost_hw_simd_ppc_vmx_version"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_ppc_version.boost_hw_simd_ppc_vmx_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_PPC_VMX_VERSION</span></code></a>
+ </h6>
+<p>
+ The <a href="https://en.wikipedia.org/wiki/AltiVec#VMX128" target="_top">VMX</a>
+ powerpc extension version number.
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>1.0.0</strong></span>.
+ </p>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_ppc_version.h1"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_ppc_version.boost_hw_simd_ppc_vsx_version"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_ppc_version.boost_hw_simd_ppc_vsx_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_PPC_VSX_VERSION</span></code></a>
+ </h6>
+<p>
+ The <a href="https://en.wikipedia.org/wiki/AltiVec#VSX" target="_top">VSX</a>
+ powerpc extension version number.
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>1.1.0</strong></span>.
+ </p>
+<h6>
+<a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_ppc_version.h2"></a>
+ <span class="phrase"><a name="predef.reference.boost_hw_hardware_macros.boost_hw_simd_ppc_version.boost_hw_simd_ppc_qpx_version"></a></span><a class="link" href="reference.html#predef.reference.boost_hw_hardware_macros.boost_hw_simd_ppc_version.boost_hw_simd_ppc_qpx_version"><code class="computeroutput"><span class="identifier">BOOST_HW_SIMD_PPC_QPX_VERSION</span></code></a>
+ </h6>
+<p>
+ The QPX powerpc extension version number.
+ </p>
+<p>
+ Version number is: <span class="bold"><strong>2.0.0</strong></span>.
+ </p>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="predef.reference.other_macros"></a><a class="link" href="reference.html#predef.reference.other_macros" title="Other macros">Other macros</a>
+</h3></div></div></div>
+<h5>
+<a name="predef.reference.other_macros.h0"></a>
+ <span class="phrase"><a name="predef.reference.other_macros.boost_endian"></a></span><a class="link" href="reference.html#predef.reference.other_macros.boost_endian"><code class="computeroutput"><span class="identifier">BOOST_ENDIAN_</span><span class="special">*</span></code></a>
+ </h5>
+<p>
+ Detection of endian memory ordering. There are four defined macros in this
+ header that define the various generally possible endian memory orderings:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_ENDIAN_BIG_BYTE</span></code>,
+ byte-swapped big-endian.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_ENDIAN_BIG_WORD</span></code>,
+ word-swapped big-endian.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_ENDIAN_LITTLE_BYTE</span></code>,
+ byte-swapped little-endian.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_ENDIAN_LITTLE_WORD</span></code>,
+ word-swapped little-endian.
+ </li>
+</ul></div>
+<p>
+ The detection is conservative in that it only identifies endianness that
+ it knows for certain. In particular bi-endianness is not indicated as is
+ it not practically possible to determine the endianness from anything but
+ an operating system provided header. And the currently known headers do not
+ define that programatic bi-endianness is available.
+ </p>
+<p>
+ This implementation is a compilation of various publicly available information
+ and acquired knowledge:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ The indispensable documentation of "Pre-defined Compiler Macros"
+ <a href="http://sourceforge.net/p/predef/wiki/Endianness" target="_top">Endianness</a>.
+ </li>
+<li class="listitem">
+ The various endian specifications available in the <a href="http://wikipedia.org/" target="_top">Wikipedia</a>
+ computer architecture pages.
+ </li>
+<li class="listitem">
+ Generally available searches for headers that define endianness.
+ </li>
+</ol></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="predef.reference.version_definition_macros"></a><a class="link" href="reference.html#predef.reference.version_definition_macros" title="Version definition macros">Version definition
+ macros</a>
+</h3></div></div></div>
+<h5>
+<a name="predef.reference.version_definition_macros.h0"></a>
+ <span class="phrase"><a name="predef.reference.version_definition_macros.boost_version_number"></a></span><a class="link" href="reference.html#predef.reference.version_definition_macros.boost_version_number"><code class="computeroutput"><span class="identifier">BOOST_VERSION_NUMBER</span></code></a>
+ </h5>
+<pre class="programlisting"><span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="identifier">major</span><span class="special">,</span><span class="identifier">minor</span><span class="special">,</span><span class="identifier">patch</span><span class="special">)</span>
+</pre>
+<p>
+ Defines standard version numbers, with these properties:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Decimal base whole numbers in the range [0,1000000000). The number range
+ is designed to allow for a (2,2,5) triplet. Which fits within a 32 bit
+ value.
+ </li>
+<li class="listitem">
+ The <code class="computeroutput"><span class="identifier">major</span></code> number can
+ be in the [0,99] range.
+ </li>
+<li class="listitem">
+ The <code class="computeroutput"><span class="identifier">minor</span></code> number can
+ be in the [0,99] range.
+ </li>
+<li class="listitem">
+ The <code class="computeroutput"><span class="identifier">patch</span></code> number can
+ be in the [0,99999] range.
+ </li>
+<li class="listitem">
+ Values can be specified in any base. As the defined value is an constant
+ expression.
+ </li>
+<li class="listitem">
+ Value can be directly used in both preprocessor and compiler expressions
+ for comparison to other similarly defined values.
+ </li>
+<li class="listitem">
+ The implementation enforces the individual ranges for the major, minor,
+ and patch numbers. And values over the ranges are truncated (modulo).
+ </li>
+</ul></div>
+<h5>
+<a name="predef.reference.version_definition_macros.h1"></a>
+ <span class="phrase"><a name="predef.reference.version_definition_macros.boost_predef_make_macros"></a></span><a class="link" href="reference.html#predef.reference.version_definition_macros.boost_predef_make_macros"><code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_</span><span class="special">..</span></code>
+ macros</a>
+ </h5>
+<p>
+ These set of macros decompose common vendor version number macros which are
+ composed version, revision, and patch digits. The naming convention indicates:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The base of the specified version number. "<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_0X</span></code>"
+ for hexadecimal digits, and "<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_10</span></code>"
+ for decimal digits.
+ </li>
+<li class="listitem">
+ The format of the vendor version number. Where "<code class="computeroutput"><span class="identifier">V</span></code>"
+ indicates the version digits, "<code class="computeroutput"><span class="identifier">R</span></code>"
+ indicates the revision digits, "<code class="computeroutput"><span class="identifier">P</span></code>"
+ indicates the patch digits, and "<code class="computeroutput"><span class="number">0</span></code>"
+ indicates an ignored digit.
+ </li>
+</ul></div>
+<p>
+ Macros are:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_0X_VRP</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_0X_VVRP</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_0X_VRPP</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_0X_VVRR</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_0X_VRRPPPP</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_0X_VVRRP</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_0X_VRRPP000</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_0X_VVRRPP</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_10_VPPP</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_10_VRP</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_10_VRP000</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_10_VRPP</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_10_VRR</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_10_VRRPP</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_10_VRR000</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_10_VV00</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_10_VVRR</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_10_VVRRPP</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_10_VVRR0PP00</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_10_VVRR0PPPP</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_10_VVRR00PP00</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<h5>
+<a name="predef.reference.version_definition_macros.h2"></a>
+ <span class="phrase"><a name="predef.reference.version_definition_macros.boost_predef_make_date_macros"></a></span><a class="link" href="reference.html#predef.reference.version_definition_macros.boost_predef_make_date_macros"><code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_</span><span class="special">*..</span></code>
+ date macros</a>
+ </h5>
+<p>
+ Date decomposition macros return a date in the relative to the 1970 Epoch
+ date. If the month is not available, January 1st is used as the month and
+ day. If the day is not available, but the month is, the 1st of the month
+ is used as the day.
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_DATE</span><span class="special">(</span><span class="identifier">Y</span><span class="special">,</span><span class="identifier">M</span><span class="special">,</span><span class="identifier">D</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_YYYYMMDD</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_YYYY</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_YYYYMM</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2016 Rene Rivera<br>Copyright &#169; 2015 Charly Chevalier<br>Copyright &#169; 2015 Joel Falcou<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="adding_new_predefs.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../predef.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="check_utilities.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/predef/to_do.html b/doc/html/predef/to_do.html
new file mode 100644
index 0000000000..bd42016c55
--- /dev/null
+++ b/doc/html/predef/to_do.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>To Do</title>
+<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
+<link rel="up" href="../predef.html" title="Chapter&#160;26.&#160;Boost.Predef 1.4.1">
+<link rel="prev" href="history.html" title="History">
+<link rel="next" href="acknoledgements.html" title="Acknoledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.html">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../predef.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknoledgements.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="predef.to_do"></a><a class="link" href="to_do.html" title="To Do">To Do</a>
+</h2></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Improve reference documentation.
+ </li>
+<li class="listitem">
+ Provide BOOST_WORKAROUND style macros for public use.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2016 Rene Rivera<br>Copyright &#169; 2015 Charly Chevalier<br>Copyright &#169; 2015 Joel Falcou<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../predef.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknoledgements.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/predef/using_the_predefs.html b/doc/html/predef/using_the_predefs.html
new file mode 100644
index 0000000000..e9509ecf87
--- /dev/null
+++ b/doc/html/predef/using_the_predefs.html
@@ -0,0 +1,243 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Using the predefs</title>
+<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
+<link rel="up" href="../predef.html" title="Chapter&#160;26.&#160;Boost.Predef 1.4.1">
+<link rel="prev" href="../predef.html" title="Chapter&#160;26.&#160;Boost.Predef 1.4.1">
+<link rel="next" href="adding_new_predefs.html" title="Adding new predefs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.html">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../predef.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../predef.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adding_new_predefs.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="predef.using_the_predefs"></a><a class="link" href="using_the_predefs.html" title="Using the predefs">Using the predefs</a>
+</h2></div></div></div>
+<p>
+ To use the automatically defined predefs one needs to only include the single
+ top-level header:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span>
+</pre>
+<p>
+ This defines <span class="bold"><strong>all</strong></span> the version macros known
+ to the library. For each macro it will be defined to either a <span class="emphasis"><em>zero</em></span>
+ valued expression for when the particular item is not detected, and to a <span class="emphasis"><em>positive</em></span>
+ value if it is detected. The predef macros fall onto five categories each with
+ macros of a particular prefix:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_ARCH_</span></code>for system/CPU
+ architecture one is compiling for.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_COMP_</span></code> for the compiler
+ one is using.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_LANG_</span></code> for language
+ standards one is compiling against.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_LIB_C_</span></code> and <code class="computeroutput"><span class="identifier">BOOST_LIB_STD_</span></code> for the C and C++ standard
+ library in use.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_OS_</span></code> for the operating
+ system we are compiling to.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_PLAT_</span></code> for platforms
+ on top of operating system or compilers.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_ENDIAN_</span></code> for endianness
+ of the os and architecture combination.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_HW_</span></code> for hardware
+ specific features.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_HW_SIMD</span></code> for SIMD
+ (Single Instruction Multiple Data) detection.
+ </li>
+</ul></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The detected definitions are for the configuration one is targeting during
+ the compile. In particular in a cross-compile this means the target system,
+ and not the host system.
+ </p></td></tr>
+</table></div>
+<p>
+ One uses the individual definitions to compare against specific versions by
+ comparing against the <code class="computeroutput"><span class="identifier">BOOST_VERSION_NUMBER</span></code>
+ macro. For example, to make a choice based on the version of the GCC C++ compiler
+ one would:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">BOOST_COMP_GNUC</span> <span class="special">&gt;=</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="number">4</span><span class="special">,</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">))</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"GCC compiler is at least version 4.0.0"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">else</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"GCC compiler is at older than version 4.0.0, or not a GCC compiler"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ As you might notice above the <code class="computeroutput"><span class="keyword">else</span></code>
+ clause also covers the case where the particular compiler is not detected.
+ But one can make the test also test for the detection. All predef definitions
+ are defined as a zero (0) expression when not detected. Hence one could use
+ the detection with a natural single condition. For example:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">BOOST_COMP_GNUC</span><span class="special">)</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"This is GNU GCC!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">else</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Not GNU GCC."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ And since the predef's are preprocessor definitions the same is possible from
+ the preprocessor:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+
+<span class="preprocessor">#if</span> <span class="identifier">BOOST_COMP_GNUC</span>
+ <span class="preprocessor">#if</span> <span class="identifier">BOOST_COMP_GNUC</span> <span class="special">&gt;=</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="number">4</span><span class="special">,</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">)</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">the_compiler</span> <span class="special">=</span> <span class="string">"GNU GCC, of at least version 4."</span>
+ <span class="preprocessor">#else</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">the_compiler</span> <span class="special">=</span> <span class="string">"GNU GCC, less than version 4."</span>
+ <span class="preprocessor">#endif</span>
+<span class="preprocessor">#else</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">the_compiler</span> <span class="special">=</span> <span class="string">"Not GNU GCC."</span>
+<span class="preprocessor">#endif</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">the_compiler</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ In addition, for each version macro defined there is an <code class="computeroutput"><span class="special">*</span><span class="identifier">_AVAILABLE</span></code> macro defined only when the particular
+ aspect is detected. I.e. a definition equivalent to:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#if</span> <span class="identifier">BOOST_PREDEF_ABC</span>
+ <span class="preprocessor">#define</span> <span class="identifier">BOOST_PREDEF_ABC_AVAILABLE</span>
+<span class="preprocessor">#endif</span>
+</pre>
+<p>
+ Also for each aspect there is a macro defined with a descriptive name of what
+ the detection is.
+ </p>
+<h4>
+<a name="predef.using_the_predefs.h0"></a>
+ <span class="phrase"><a name="predef.using_the_predefs.the_emulated_macros"></a></span><a class="link" href="using_the_predefs.html#predef.using_the_predefs.the_emulated_macros">The
+ <code class="computeroutput"><span class="special">*</span><span class="identifier">_EMULATED</span></code>
+ macros</a>
+ </h4>
+<p>
+ Predef definitions are guaranteed to be uniquely detected within one category.
+ But there are contexts under which multiple underlying detections are possible.
+ The well known example of this is detection of GCC and MSVC compilers which
+ are commonly emulated by other compilers by defining the same base macros.
+ To account for this detection headers are allowed to define <code class="computeroutput"><span class="special">*</span><span class="identifier">_EMULATED</span></code> predefs when this situation is
+ detected. The emulated predefs will be set to the version number of the detection
+ instead of the regular predef macro for that detection. For example MSVC will
+ set <code class="computeroutput"><span class="identifier">BOOST_COMP_MSVC_EMULATED</span></code>
+ but not set <code class="computeroutput"><span class="identifier">BOOST_COM_MSVC</span></code>,
+ and it will also set <code class="computeroutput"><span class="identifier">BOOST_COMP_MSVC_AVAILABLE</span></code>.
+ </p>
+<h4>
+<a name="predef.using_the_predefs.h1"></a>
+ <span class="phrase"><a name="predef.using_the_predefs.using_the_boost_version_number_m"></a></span><a class="link" href="using_the_predefs.html#predef.using_the_predefs.using_the_boost_version_number_m">Using the
+ <code class="computeroutput"><span class="identifier">BOOST_VERSION_NUMBER</span></code> macro</a>
+ </h4>
+<p>
+ All the predefs are defined to be a use of the <code class="computeroutput"><span class="identifier">BOOST_VERSION_NUMBER</span></code>
+ macro. The macro takes individual major, minor, and patch value expressions:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span> <span class="identifier">major</span><span class="special">,</span> <span class="identifier">minor</span><span class="special">,</span> <span class="identifier">patch</span> <span class="special">)</span> <span class="special">...</span>
+</pre>
+<p>
+ The arguments are:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Major version number, as a constant value expression in the range [0,99].
+ </li>
+<li class="listitem">
+ Minor version number, as a constant value expression in the range [0,99].
+ </li>
+<li class="listitem">
+ Patch-level version number, as a constant value expression in the range
+ [0,99999].
+ </li>
+</ol></div>
+<p>
+ The ranges for each are "enforced" by the use of a modulo ("%"),
+ i.e. truncation, as opposed to a clamp. And hence this means that the limits
+ are enforced only enough to keep from having out-of-range problems. But not
+ enough to prevent other kinds of problems. Like exceeding the range and getting
+ false detections, or non-detections. It is up to the individual predefs to
+ ensure correct usage beyond the range guarantee.
+ </p>
+<p>
+ The values for the arguments can be any preprocessor valid constant value expression.
+ Only constant value arithmetic is used in the definition of the <code class="computeroutput"><span class="identifier">BOOST_VERSION_NUMBER</span></code> macro and in any of
+ the other predef macros. This means that any allowed base is possible, i.e.
+ binary, octal, decimal, and hexadecimal. For example:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">MY_APPLICATION_VERSION_NUMBER</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">0xA</span><span class="special">,</span><span class="number">015</span><span class="special">)</span>
+</pre>
+<p>
+ Is equivalent to:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">MY_APPLICATION_VERSION_NUMBER</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">10</span><span class="special">,</span><span class="number">13</span><span class="special">)</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2016 Rene Rivera<br>Copyright &#169; 2015 Charly Chevalier<br>Copyright &#169; 2015 Joel Falcou<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../predef.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../predef.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adding_new_predefs.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>