Merge pull request #6 from boostorg/develop

Merging to master for version 1.1 release. And for Boost 1.56 release.
This commit is contained in:
Rene Rivera
2014-06-03 22:46:39 -05:00
148 changed files with 1796 additions and 384 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
/bin
/boost-build.jam

View File

@ -1,9 +1,10 @@
# Copyright Redshift Software, Inc. 2011
# Copyright Rene Rivera 2011
# 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)
using quickbook ;
using boostbook ;
import path ;
if ! $(BOOST_ROOT)

27
doc/history.qbk Normal file
View File

@ -0,0 +1,27 @@
[/
Copyright 2014 Rene Rivera
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)
]
[section History]
[heading 1.1]
* Addition of `BOOST_PLAT_*` platform definitions for MinGW and
Windows platform variants.
* Detection of ARM architecture for Windows compilers to target
mobile devices of WIndows 8.
* Improved ARM detection for 64 bit ARM.
* Added detection of iOS an an operating system.
* Improved detection of endianess on some platforms.
* Addition of exclusive plus emulated definitions for platform
and compiler detection.
[warning The big change for this version is the restructuring of the
definitions to avoid duplicate definitions in one category. That is, only one
`BOOST_OS_*`, `BOOST_COMP_*`, and `BOOST_PLAT_*` variant will be detected
(except for sub-categories).]
[endsect]

3
doc/html/.gitignore vendored
View File

@ -1 +1,4 @@
/standalone_HTML.manifest
/docutils.css
/minimal.css
/reference.css

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Predef 1.0</title>
<title>Predef 1.1</title>
<link rel="stylesheet" href="boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Predef 1.0">
<link rel="home" href="index.html" title="Predef 1.1">
<link rel="next" href="predef/introduction.html" title="Introduction">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@ -13,12 +13,11 @@
<div class="titlepage">
<div>
<div><h2 class="title">
<a name="predef"></a>Predef 1.0</h2></div>
<a name="predef"></a>Predef 1.1</h2></div>
<div><div class="authorgroup"><div class="author"><h3 class="author">
<span class="firstname">Rene</span> <span class="surname">Rivera</span>
</h3></div></div></div>
<div><p class="copyright">Copyright &#169; 2005 Rene Rivera</p></div>
<div><p class="copyright">Copyright &#169; 2008-2013 Redshift Software Inc</p></div>
<div><p class="copyright">Copyright &#169; 2005, 2008-2014 Rene Rivera</p></div>
<div><div class="legalnotice">
<a name="predef.legal"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
@ -41,16 +40,19 @@
<dt><span class="section"><a href="predef/reference/boost_lang_language_standards_ma.html"><code class="computeroutput"><span class="identifier">BOOST_LANG</span></code> language standards macros</a></span></dt>
<dt><span class="section"><a href="predef/reference/boost_lib_library_macros.html"><code class="computeroutput"><span class="identifier">BOOST_LIB</span></code> library macros</a></span></dt>
<dt><span class="section"><a href="predef/reference/boost_os_operating_system_macros.html"><code class="computeroutput"><span class="identifier">BOOST_OS</span></code> operating system macros</a></span></dt>
<dt><span class="section"><a href="predef/reference/boost_plat_platform_macros.html"><code class="computeroutput"><span class="identifier">BOOST_PLAT</span></code> platform macros</a></span></dt>
<dt><span class="section"><a href="predef/reference/other_macros.html">Other macros</a></span></dt>
<dt><span class="section"><a href="predef/reference/version_definition_macros.html">Version definition
macros</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="predef/history.html">History</a></span></dt>
<dt><span class="section"><a href="predef/to_do.html">To Do</a></span></dt>
<dt><span class="section"><a href="predef/acknoledgements.html">Acknoledgements</a></span></dt>
</dl>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: October 15, 2013 at 04:40:06 GMT</small></p></td>
<td align="left"><p><small>Last revised: June 04, 2014 at 03:28:01 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>

View File

@ -4,13 +4,13 @@
<title>Acknoledgements</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../index.html" title="Predef 1.0">
<link rel="up" href="../index.html" title="Predef 1.0">
<link rel="prev" href="reference/version_definition_macros.html" title="Version definition macros">
<link rel="home" href="../index.html" title="Predef 1.1">
<link rel="up" href="../index.html" title="Predef 1.1">
<link rel="prev" href="to_do.html" title="To Do">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="spirit-nav">
<a accesskey="p" href="reference/version_definition_macros.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a>
<a accesskey="p" href="to_do.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
@ -35,7 +35,7 @@
</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 Rene Rivera<br>Copyright &#169; 2008-2013 Redshift Software Inc<p>
<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2014 Rene Rivera<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>
@ -43,7 +43,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="reference/version_definition_macros.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a>
<a accesskey="p" href="to_do.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a>
</div>
</body>
</html>

View File

@ -4,8 +4,8 @@
<title>Adding new predefs</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../index.html" title="Predef 1.0">
<link rel="up" href="../index.html" title="Predef 1.0">
<link rel="home" href="../index.html" title="Predef 1.1">
<link rel="up" href="../index.html" title="Predef 1.1">
<link rel="prev" href="using_the_predefs.html" title="Using the predefs">
<link rel="next" href="reference.html" title="Reference">
</head>
@ -37,20 +37,21 @@
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</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">0</span><span class="special">)</span></code>.
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</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></code> when the predef is detected.
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.
macros as needed.
</li>
<li class="listitem">
The predef must define a symbolic constant string name macro.
@ -58,6 +59,16 @@
<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:
@ -97,6 +108,12 @@ http://www.boost.org/LICENSE_1_0.txt)
<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
@ -120,7 +137,7 @@ http://www.boost.org/LICENSE_1_0.txt)
Documentation about what is detected.
*/</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">0</span><span class="special">)</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
@ -130,27 +147,29 @@ Documentation about what is detected.
<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</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></code>" as the fallback to minimally indicate
that the predef was detected:
<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</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"># 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. And for
convenience we also want to provide a <code class="computeroutput"><span class="special">*</span><span class="identifier">_NAME</span></code> macro:
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>
<span class="preprocessor">#define</span> <span class="identifier">BOOST_catagory_tag_NAME</span> <span class="string">"Name"</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
@ -168,6 +187,84 @@ Documentation about what is detected.
</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>
@ -192,7 +289,7 @@ Documentation about what is detected.
</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 Rene Rivera<br>Copyright &#169; 2008-2013 Redshift Software Inc<p>
<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2014 Rene Rivera<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>

View File

@ -0,0 +1,74 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>History</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../index.html" title="Predef 1.1">
<link rel="up" href="../index.html" title="Predef 1.1">
<link rel="prev" href="reference/version_definition_macros.html" title="Version definition macros">
<link rel="next" href="to_do.html" title="To Do">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="spirit-nav">
<a accesskey="p" href="reference/version_definition_macros.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="to_do.html"><img 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_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="../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-2014 Rene Rivera<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/version_definition_macros.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="to_do.html"><img src="../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -4,9 +4,9 @@
<title>Introduction</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../index.html" title="Predef 1.0">
<link rel="up" href="../index.html" title="Predef 1.0">
<link rel="prev" href="../index.html" title="Predef 1.0">
<link rel="home" href="../index.html" title="Predef 1.1">
<link rel="up" href="../index.html" title="Predef 1.1">
<link rel="prev" href="../index.html" title="Predef 1.1">
<link rel="next" href="using_the_predefs.html" title="Using the predefs">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@ -191,7 +191,7 @@
</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 Rene Rivera<br>Copyright &#169; 2008-2013 Redshift Software Inc<p>
<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2014 Rene Rivera<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>

View File

@ -4,8 +4,8 @@
<title>Reference</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../index.html" title="Predef 1.0">
<link rel="up" href="../index.html" title="Predef 1.0">
<link rel="home" href="../index.html" title="Predef 1.1">
<link rel="up" href="../index.html" title="Predef 1.1">
<link rel="prev" href="adding_new_predefs.html" title="Adding new predefs">
<link rel="next" href="reference/boost_arch_architecture_macros.html" title="BOOST_ARCH architecture macros">
</head>
@ -23,6 +23,7 @@
<dt><span class="section"><a href="reference/boost_lang_language_standards_ma.html"><code class="computeroutput"><span class="identifier">BOOST_LANG</span></code> language standards macros</a></span></dt>
<dt><span class="section"><a href="reference/boost_lib_library_macros.html"><code class="computeroutput"><span class="identifier">BOOST_LIB</span></code> library macros</a></span></dt>
<dt><span class="section"><a href="reference/boost_os_operating_system_macros.html"><code class="computeroutput"><span class="identifier">BOOST_OS</span></code> operating system macros</a></span></dt>
<dt><span class="section"><a href="reference/boost_plat_platform_macros.html"><code class="computeroutput"><span class="identifier">BOOST_PLAT</span></code> platform macros</a></span></dt>
<dt><span class="section"><a href="reference/other_macros.html">Other macros</a></span></dt>
<dt><span class="section"><a href="reference/version_definition_macros.html">Version definition
macros</a></span></dt>
@ -30,7 +31,7 @@
</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 Rene Rivera<br>Copyright &#169; 2008-2013 Redshift Software Inc<p>
<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2014 Rene Rivera<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>

View File

@ -4,7 +4,7 @@
<title>BOOST_ARCH architecture macros</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../../index.html" title="Predef 1.0">
<link rel="home" href="../../index.html" title="Predef 1.1">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="../reference.html" title="Reference">
<link rel="next" href="boost_comp_compiler_macros.html" title="BOOST_COMP compiler macros">
@ -154,6 +154,18 @@
</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>
@ -190,6 +202,30 @@
</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>
@ -213,6 +249,18 @@
</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>
@ -2089,7 +2137,7 @@
</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 Rene Rivera<br>Copyright &#169; 2008-2013 Redshift Software Inc<p>
<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2014 Rene Rivera<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>

View File

@ -4,7 +4,7 @@
<title>BOOST_COMP compiler macros</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../../index.html" title="Predef 1.0">
<link rel="home" href="../../index.html" title="Predef 1.1">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="boost_arch_architecture_macros.html" title="BOOST_ARCH architecture macros">
<link rel="next" href="boost_lang_language_standards_ma.html" title="BOOST_LANG language standards macros">
@ -1765,7 +1765,7 @@
</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 Rene Rivera<br>Copyright &#169; 2008-2013 Redshift Software Inc<p>
<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2014 Rene Rivera<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>

View File

@ -4,7 +4,7 @@
<title>BOOST_LANG language standards macros</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../../index.html" title="Predef 1.0">
<link rel="home" href="../../index.html" title="Predef 1.1">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="boost_comp_compiler_macros.html" title="BOOST_COMP compiler macros">
<link rel="next" href="boost_lib_library_macros.html" title="BOOST_LIB library macros">
@ -320,7 +320,7 @@
</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 Rene Rivera<br>Copyright &#169; 2008-2013 Redshift Software Inc<p>
<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2014 Rene Rivera<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>

View File

@ -4,7 +4,7 @@
<title>BOOST_LIB library macros</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../../index.html" title="Predef 1.0">
<link rel="home" href="../../index.html" title="Predef 1.1">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="boost_lang_language_standards_ma.html" title="BOOST_LANG language standards macros">
<link rel="next" href="boost_os_operating_system_macros.html" title="BOOST_OS operating system macros">
@ -882,7 +882,7 @@
</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 Rene Rivera<br>Copyright &#169; 2008-2013 Redshift Software Inc<p>
<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2014 Rene Rivera<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>

View File

@ -4,14 +4,14 @@
<title>BOOST_OS operating system macros</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../../index.html" title="Predef 1.0">
<link rel="home" href="../../index.html" title="Predef 1.1">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="boost_lib_library_macros.html" title="BOOST_LIB library macros">
<link rel="next" href="other_macros.html" title="Other macros">
<link rel="next" href="boost_plat_platform_macros.html" title="BOOST_PLAT platform macros">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="spirit-nav">
<a accesskey="p" href="boost_lib_library_macros.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="other_macros.html"><img src="../../images/next.png" alt="Next"></a>
<a accesskey="p" href="boost_lib_library_macros.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="boost_plat_platform_macros.html"><img src="../../images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
@ -480,6 +480,81 @@
</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_ios"></a></span><a class="link" href="boost_os_operating_system_macros.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.h8"></a>
<span class="phrase"><a name="predef.reference.boost_os_operating_system_macros.boost_os_irix"></a></span><a class="link" href="boost_os_operating_system_macros.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>
@ -530,7 +605,7 @@
</tbody>
</table></div>
<h5>
<a name="predef.reference.boost_os_operating_system_macros.h8"></a>
<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_linux"></a></span><a class="link" href="boost_os_operating_system_macros.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>
@ -581,7 +656,7 @@
</tbody>
</table></div>
<h5>
<a name="predef.reference.boost_os_operating_system_macros.h9"></a>
<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_macos"></a></span><a class="link" href="boost_os_operating_system_macros.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>
@ -681,7 +756,7 @@
</tbody>
</table></div>
<h5>
<a name="predef.reference.boost_os_operating_system_macros.h10"></a>
<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_os400"></a></span><a class="link" href="boost_os_operating_system_macros.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>
@ -719,7 +794,7 @@
</tr></tbody>
</table></div>
<h5>
<a name="predef.reference.boost_os_operating_system_macros.h11"></a>
<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_qnx"></a></span><a class="link" href="boost_os_operating_system_macros.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>
@ -796,7 +871,7 @@
</tbody>
</table></div>
<h5>
<a name="predef.reference.boost_os_operating_system_macros.h12"></a>
<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_solaris"></a></span><a class="link" href="boost_os_operating_system_macros.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>
@ -848,7 +923,7 @@
</tbody>
</table></div>
<h5>
<a name="predef.reference.boost_os_operating_system_macros.h13"></a>
<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_unix"></a></span><a class="link" href="boost_os_operating_system_macros.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>
@ -924,7 +999,7 @@
</tbody>
</table></div>
<h5>
<a name="predef.reference.boost_os_operating_system_macros.h14"></a>
<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_svr4"></a></span><a class="link" href="boost_os_operating_system_macros.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>
@ -1000,7 +1075,7 @@
</tbody>
</table></div>
<h5>
<a name="predef.reference.boost_os_operating_system_macros.h15"></a>
<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_vms"></a></span><a class="link" href="boost_os_operating_system_macros.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>
@ -1063,7 +1138,7 @@
</tbody>
</table></div>
<h5>
<a name="predef.reference.boost_os_operating_system_macros.h16"></a>
<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_windows"></a></span><a class="link" href="boost_os_operating_system_macros.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>
@ -1151,7 +1226,7 @@
</tbody>
</table></div>
<h5>
<a name="predef.reference.boost_os_operating_system_macros.h17"></a>
<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_bsd_bsdi"></a></span><a class="link" href="boost_os_operating_system_macros.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>
@ -1189,7 +1264,7 @@
</tr></tbody>
</table></div>
<h5>
<a name="predef.reference.boost_os_operating_system_macros.h18"></a>
<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_dragonfly"></a></span><a class="link" href="boost_os_operating_system_macros.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>
@ -1227,7 +1302,7 @@
</tr></tbody>
</table></div>
<h5>
<a name="predef.reference.boost_os_operating_system_macros.h19"></a>
<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_free"></a></span><a class="link" href="boost_os_operating_system_macros.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>
@ -1279,7 +1354,7 @@
</tbody>
</table></div>
<h5>
<a name="predef.reference.boost_os_operating_system_macros.h20"></a>
<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_net"></a></span><a class="link" href="boost_os_operating_system_macros.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>
@ -1391,7 +1466,7 @@
</tbody>
</table></div>
<h5>
<a name="predef.reference.boost_os_operating_system_macros.h21"></a>
<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_open"></a></span><a class="link" href="boost_os_operating_system_macros.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>
@ -1793,7 +1868,7 @@
</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 Rene Rivera<br>Copyright &#169; 2008-2013 Redshift Software Inc<p>
<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2014 Rene Rivera<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>
@ -1801,7 +1876,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost_lib_library_macros.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="other_macros.html"><img src="../../images/next.png" alt="Next"></a>
<a accesskey="p" href="boost_lib_library_macros.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="boost_plat_platform_macros.html"><img src="../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,276 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>BOOST_PLAT platform macros</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../../index.html" title="Predef 1.1">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="boost_os_operating_system_macros.html" title="BOOST_OS operating system macros">
<link rel="next" href="other_macros.html" title="Other macros">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="spirit-nav">
<a accesskey="p" href="boost_os_operating_system_macros.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="other_macros.html"><img src="../../images/next.png" alt="Next"></a>
</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="boost_plat_platform_macros.html" 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="boost_plat_platform_macros.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="boost_plat_platform_macros.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="boost_plat_platform_macros.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="boost_plat_platform_macros.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="boost_plat_platform_macros.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>
<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-2014 Rene Rivera<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="boost_os_operating_system_macros.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="other_macros.html"><img src="../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -4,14 +4,14 @@
<title>Other macros</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../../index.html" title="Predef 1.0">
<link rel="home" href="../../index.html" title="Predef 1.1">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="boost_os_operating_system_macros.html" title="BOOST_OS operating system macros">
<link rel="prev" href="boost_plat_platform_macros.html" title="BOOST_PLAT platform macros">
<link rel="next" href="version_definition_macros.html" title="Version definition macros">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="spirit-nav">
<a accesskey="p" href="boost_os_operating_system_macros.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="version_definition_macros.html"><img src="../../images/next.png" alt="Next"></a>
<a accesskey="p" href="boost_plat_platform_macros.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="version_definition_macros.html"><img src="../../images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
@ -70,7 +70,7 @@
</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 Rene Rivera<br>Copyright &#169; 2008-2013 Redshift Software Inc<p>
<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2014 Rene Rivera<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>
@ -78,7 +78,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost_os_operating_system_macros.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="version_definition_macros.html"><img src="../../images/next.png" alt="Next"></a>
<a accesskey="p" href="boost_plat_platform_macros.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="version_definition_macros.html"><img src="../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -4,14 +4,14 @@
<title>Version definition macros</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../../index.html" title="Predef 1.0">
<link rel="home" href="../../index.html" title="Predef 1.1">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="other_macros.html" title="Other macros">
<link rel="next" href="../acknoledgements.html" title="Acknoledgements">
<link rel="next" href="../history.html" title="History">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="spirit-nav">
<a accesskey="p" href="other_macros.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../acknoledgements.html"><img src="../../images/next.png" alt="Next"></a>
<a accesskey="p" href="other_macros.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../history.html"><img src="../../images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
@ -170,7 +170,7 @@
</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 Rene Rivera<br>Copyright &#169; 2008-2013 Redshift Software Inc<p>
<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2014 Rene Rivera<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>
@ -178,7 +178,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="other_macros.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../acknoledgements.html"><img src="../../images/next.png" alt="Next"></a>
<a accesskey="p" href="other_macros.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../history.html"><img src="../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,37 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>To Do</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../index.html" title="Predef 1.1">
<link rel="up" href="../index.html" title="Predef 1.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">
<div class="spirit-nav">
<a accesskey="p" href="history.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="acknoledgements.html"><img 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></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-2014 Rene Rivera<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="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="acknoledgements.html"><img src="../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -4,8 +4,8 @@
<title>Using the predefs</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../index.html" title="Predef 1.0">
<link rel="up" href="../index.html" title="Predef 1.0">
<link rel="home" href="../index.html" title="Predef 1.1">
<link rel="up" href="../index.html" title="Predef 1.1">
<link rel="prev" href="introduction.html" title="Introduction">
<link rel="next" href="adding_new_predefs.html" title="Adding new predefs">
</head>
@ -51,6 +51,10 @@
<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.
@ -128,7 +132,7 @@
<span class="special">}</span>
</pre>
<p>
In addition, for each version macro defined there is a <code class="computeroutput"><span class="special">*</span><span class="identifier">_AVAILABLE</span></code> macro defined only when the particular
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>
@ -141,6 +145,24 @@
</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>
@ -189,7 +211,7 @@
</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 Rene Rivera<br>Copyright &#169; 2008-2013 Redshift Software Inc<p>
<td align="right"><div class="copyright-footer">Copyright &#169; 2005, 2008-2014 Rene Rivera<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>

View File

@ -1,8 +1,8 @@
[article Predef
[quickbook 1.7]
[version 1.0]
[version 1.1]
[authors [Rivera, Rene]]
[copyright 2005 Rene Rivera, 2008-2013 Redshift Software Inc]
[copyright 2005, 2008-2014 Rene Rivera]
[purpose Identification and specification of predefined macros.]
[license
Distributed under the Boost Software License, Version 1.0.
@ -141,6 +141,7 @@ macros of a particular prefix:
* `BOOST_LIB_C_` and `BOOST_LIB_STD_` for the C and C++ standard library
in use.
* `BOOST_OS_` for the operating system we are compiling to.
* `BOOST_PLAT_` for platforms on top of operating system or compilers.
* `BOOST_ENDIAN_` for endianness of the os and architecture combination.
[note The detected definitions are for the configuration one is targeting
@ -209,7 +210,7 @@ from the preprocessor:
}
``
In addition, for each version macro defined there is a
In addition, for each version macro defined there is an
`*_AVAILABLE` macro defined only when the particular aspect is
detected. I.e. a definition equivalent to:
@ -222,6 +223,17 @@ detected. I.e. a definition equivalent to:
Also for each aspect there is a macro defined with a descriptive
name of what the detection is.
[heading The `*_EMULATED` macros]
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 `*_EMULATED` 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 `BOOST_COMP_MSVC_EMULATED` but not set `BOOST_COM_MSVC`, and it will also set `BOOST_COMP_MSVC_AVAILABLE`.
[heading Using the `BOOST_VERSION_NUMBER` macro]
All the predefs are defined to be a use of the `BOOST_VERSION_NUMBER` macro.
@ -275,15 +287,21 @@ the same structure and requirements.
All predefs need to follow a set of requirements:
* The headers must use the Boost Software License.
* The predef must, by default, be defined as `BOOST_VERSION_NUMBER(0,0,0)`.
* The predef must, by default, be defined as `BOOST_VERSION_NUMBER_NOT_AVAILABLE`.
* The predef must be redefined to a non-zero value once detected.
* The predef must, by default, be defined to `BOOST_VERSION_NUMBER(0,0,1)`
* The predef must, by default, be defined to `BOOST_VERSION_NUMBER_AVAILABLE`
when the predef is detected.
* If possible, the predef will be defined as the version number detected.
* The predef must define `*_AVAILABLE` macros.
* The predef must define `*_AVAILABLE` macros as needed.
* The predef must define a symbolic constant string name macro.
* The predef must declare itself, after being defined, for the testing
system.
* The predef must guarantee that it is the only one defined as detected
per category.
* But a predef can define `*_EMULATED` macros to indicate that it was
previously detected by another header and is being "emulated" by the
system. Note that the `*_AVAILABLE` macros must still be defined in this
situation.
And there are some extra guidelines that predef headers should follow:
@ -314,6 +332,13 @@ http://www.boost.org/LICENSE_1_0.txt)
#define BOOST_PREDEF_category_tag_H
``
If the detection depends on the detection of another predef you should
include those headers here.
``
#include <boost/predef/CATEGORY_TAG/DEPENDENCY.h>
``
Depending on how you are defining the predef you will at minimum have
to include the `version_number.h` header. But you might also want to
include the `make.h` header for the version number decomposing utility
@ -339,7 +364,7 @@ for the macro. In particular this works for the popular Eclipse IDE:
Documentation about what is detected.
*/
#define BOOST_category_tag BOOST_VERSION_NUMBER(0,0,0)
#define BOOST_category_tag BOOST_VERSION_NUMBER_NOT_AVAILABLE
``
Next is the detection and definition of the particular predef. The
@ -348,7 +373,7 @@ place further version detection inside this. The first action inside
the overall check is to "`#undef BOOST_category_tag`" 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
"`#define BOOST_category_tag BOOST_VERSION_NUMBER(0,0,1)`" as the fallback
"`#define BOOST_category_tag BOOST_VERSION_NUMBER_AVAILABLE`" as the fallback
to minimally indicate that the predef was detected:
``
@ -357,19 +382,22 @@ to minimally indicate that the predef was detected:
# if (condition_b)
# define BOOST_category_tag BOOST_VERSION_NUMBER(major,minor,patch)
# else
# define BOOST_category_tag BOOST_VERSION_NUMBER(0,0,1)
# define BOOST_category_tag BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
``
We also need to provide the `*_AVAILABLE` versions of the predef. And
for convenience we also want to provide a `*_NAME` macro:
We also need to provide the `*_AVAILABLE` versions of the predef.
``
#if BOOST_category_tag
# define BOOST_category_tag_AVAILABLE
#endif
``
And for convenience we also want to provide a `*_NAME` macro:
``
#define BOOST_catagory_tag_NAME "Name"
``
@ -390,6 +418,78 @@ And, of course, we last need to close out the include guard:
#endif
``
[heading Adding exclusive predefs]
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.
Internally compiler, operating system, and platforms define
`BOOST_PREDEF_DETAIL_COMP_DETECTED`, `BOOST_PREDEF_DEFAIL_OS_DETECTED`, and
`BOOST_PREDEF_DETAIL_PLAT_DETECTED` 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:
``
#if !BOOST_PREDEF_DETAIL_category_DETECTED && (condition_a)
# undef BOOST_category_tag
# if (condition_b)
# define BOOST_category_tag BOOST_VERSION_NUMBER(major,minor,patch)
# else
# define BOOST_category_tag BOOST_VERSION_NUMBER(0,0,1)
# endif
#endif
``
And we also include a header that defines the `*_DETECTED` macro when we have
the detection:
``
#if BOOST_category_tag
# define BOOST_category_tag_AVAILABLE
# include <boost/predef/detail/CATEGORY_detected.h>
#endif
``
Everything else about the header is the same as the basic detection header.
[heading Adding an exclusive but emulated predef]
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 `*_DETECTION` macro for the compiler detection. And conditionally
define either the base compiler predef `BOOST_COMP_compiler` or the alternate
`BOOST_COMP_compiler_EMULATED` predef.
The initial detection would look like:
``
#if (condition_a)
# if (condition_b)
# define BOOST_COMP_tag_DETECTION BOOST_VERSION_NUMBER(major,minor,patch)
# else
# define BOOST_COMP_tag_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
``
And then we can conditionally define the base or emulated predefs:
``
#ifdef BOOST_COMP_tag_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_tag_EMULATED BOOST_COMP_tag_DETECTION
# else
# undef BOOST_COMP_tag
# define BOOST_COMP_tag BOOST_COMP_tag_DETECTION
# endif
# define BOOST_category_tag_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
``
[heading Using utility pattern macros]
By including:
@ -443,6 +543,10 @@ and "Y", "M", "D" for dates.
[include ../include/boost/predef/os/bsd/*.h]
[endsect]
[section `BOOST_PLAT` platform macros]
[include ../include/boost/predef/platform/*.h]
[endsect]
[section Other macros]
[include ../include/boost/predef/other/*.h]
[endsect]
@ -454,6 +558,9 @@ and "Y", "M", "D" for dates.
[endsect]
[include history.qbk]
[include todo.qbk]
[section Acknoledgements]
The comprehensiveness of this library would not be
@ -475,4 +582,4 @@ 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.
[endsect]
[endsect]

12
doc/todo.qbk Normal file
View File

@ -0,0 +1,12 @@
[/
Copyright 2014 Rene Rivera
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)
]
[section To Do]
* Improve reference documentation.
[endsect]

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,7 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
Copyright Franz Detro 2014
Copyright (c) Microsoft Corporation 2014
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)
@ -20,26 +22,37 @@ http://www.boost.org/LICENSE_1_0.txt)
[[__predef_symbol__] [__predef_version__]]
[[`__arm__`] [__predef_detection__]]
[[`__arm64`] [__predef_detection__]]
[[`__thumb__`] [__predef_detection__]]
[[`__TARGET_ARCH_ARM`] [__predef_detection__]]
[[`__TARGET_ARCH_THUMB`] [__predef_detection__]]
[[`_M_ARM`] [__predef_detection__]]
[[`__arm64`] [8.0.0]]
[[`__TARGET_ARCH_ARM`] [V.0.0]]
[[`__TARGET_ARCH_THUMB`] [V.0.0]]
[[`_M_ARM`] [V.0.0]]
]
*/
#define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__arm__) || defined(__thumb__) || \
defined(__TARGET_ARCH_ARM) || defined(__TARGET_ARCH_THUMB)
#if defined(__arm__) || defined(__arm64) || defined(__thumb__) || \
defined(__TARGET_ARCH_ARM) || defined(__TARGET_ARCH_THUMB) || \
defined(_M_ARM)
# undef BOOST_ARCH_ARM
# if !defined(BOOST_ARCH_ARM) && defined(__arm64)
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(8,0,0)
# endif
# if !defined(BOOST_ARCH_ARM) && defined(__TARGET_ARCH_ARM)
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__TARGET_ARCH_ARM,0,0)
# endif
# if !defined(BOOST_ARCH_ARM) && defined(__TARGET_ARCH_THUMB)
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__TARGET_ARCH_THUMB,0,0)
# endif
# if !defined(BOOST_ARCH_ARM) && defined(_M_ARM)
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(_M_ARM,0,0)
# endif
# if !defined(BOOST_ARCH_ARM)
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_AVAILABLE
# endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software Inc 2013
Copyright Rene Rivera 2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software Inc 2011-2013
Copyright Rene Rivera 2011-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software Inc 2011-2013
Copyright Rene Rivera 2011-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -34,10 +34,10 @@ http://www.boost.org/LICENSE_1_0.txt)
# if !defined(BOOST_ARCH_SPARC) && defined(__sparcv9)
# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(9,0,0)
# endif
# if !defined(BOOST_ARCH_SPARC) && defined(__sparcv8)
# if !defined(BOOST_ARCH_SPARC) && defined(__sparcv8)
# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(8,0,0)
# endif
# if !defined(BOOST_ARCH_SPARC) &&
# if !defined(BOOST_ARCH_SPARC)
# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -31,17 +31,23 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_BORLAND BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__BORLANDC__) || defined(__CODEGEARC__)
# undef BOOST_COMP_BORLAND
# if !defined(BOOST_COMP_BORLAND) && (defined(__CODEGEARC__))
# define BOOST_COMP_BORLAND BOOST_PREDEF_MAKE_0X_VVRP(__CODEGEARC__)
# if !defined(BOOST_COMP_BORLAND_DETECTION) && (defined(__CODEGEARC__))
# define BOOST_COMP_BORLAND_DETECTION BOOST_PREDEF_MAKE_0X_VVRP(__CODEGEARC__)
# endif
# if !defined(BOOST_COMP_BORLAND)
# define BOOST_COMP_BORLAND BOOST_PREDEF_MAKE_0X_VVRP(__BORLANDC__)
# if !defined(BOOST_COMP_BORLAND_DETECTION)
# define BOOST_COMP_BORLAND_DETECTION BOOST_PREDEF_MAKE_0X_VVRP(__BORLANDC__)
# endif
#endif
#if BOOST_COMP_BORLAND
#ifdef BOOST_COMP_BORLAND_DETECTION
# define BOOST_COMP_BORLAND_AVAILABLE
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_BORLAND_EMULATED BOOST_COMP_BORLAND_DETECTION
# else
# undef BOOST_COMP_BORLAND
# define BOOST_COMP_BORLAND BOOST_COMP_BORLAND_DETECTION
# endif
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_BORLAND_NAME "Borland C++"
@ -49,5 +55,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_BORLAND,BOOST_COMP_BORLAND_NAME)
#ifdef BOOST_COMP_BORLAND_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_BORLAND_EMULATED,BOOST_COMP_BORLAND_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -29,12 +29,18 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_CLANG BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__clang__)
# undef BOOST_COMP_CLANG
# define BOOST_COMP_CLANG BOOST_VERSION_NUMBER(__clang_major__,__clang_minor__,__clang_patchlevel__)
# define BOOST_COMP_CLANG_DETECTION BOOST_VERSION_NUMBER(__clang_major__,__clang_minor__,__clang_patchlevel__)
#endif
#if BOOST_COMP_CLANG
#ifdef BOOST_COMP_CLANG_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_CLANG_EMULATED BOOST_COMP_CLANG_DETECTION
# else
# undef BOOST_COMP_CLANG
# define BOOST_COMP_CLANG BOOST_COMP_CLANG_DETECTION
# endif
# define BOOST_COMP_CLANG_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_CLANG_NAME "Clang"
@ -42,5 +48,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_CLANG,BOOST_COMP_CLANG_NAME)
#ifdef BOOST_COMP_CLANG_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_CLANG_EMULATED,BOOST_COMP_CLANG_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -29,17 +29,23 @@ Version number available as major, minor, and patch.
*/
#if defined(__COMO__)
# undef BOOST_COMP_COMO
# if !defined(BOOST_COMP_COMO) && defined(__CONO_VERSION__)
# define BOOST_COMP_COMO BOOST_PREDEF_MAKE_0X_VRP(__COMO_VERSION__)
# if !defined(BOOST_COMP_COMO_DETECTION) && defined(__CONO_VERSION__)
# define BOOST_COMP_COMO_DETECTION BOOST_PREDEF_MAKE_0X_VRP(__COMO_VERSION__)
# endif
# if !defined(BOOST_COMP_COMO)
# define BOOST_COMP_COMO BOOST_VERSION_NUMBER_AVAILABLE
# if !defined(BOOST_COMP_COMO_DETECTION)
# define BOOST_COMP_COMO_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#if BOOST_COMP_COMO
#ifdef BOOST_COMP_COMO_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_COMO_EMULATED BOOST_COMP_COMO_DETECTION
# else
# undef BOOST_COMP_COMO
# define BOOST_COMP_COMO BOOST_COMP_COMO_DETECTION
# endif
# define BOOST_COMP_COMO_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_COMO_NAME "Comeau C++"
@ -47,5 +53,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_COMO,BOOST_COMP_COMO_NAME)
#ifdef BOOST_COMP_COMO_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_COMO_EMULATED,BOOST_COMP_COMO_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -31,20 +31,26 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_DEC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__DECC) || defined(__DECCXX)
# undef BOOST_COMP_DEC
# if !defined(BOOST_COMP_DEC) && defined(__DECCXX_VER)
# define BOOST_COMP_DEC BOOST_PREDEF_MAKE_10_VVRR0PP00(__DECCXX_VER)
# if !defined(BOOST_COMP_DEC_DETECTION) && defined(__DECCXX_VER)
# define BOOST_COMP_DEC_DETECTION BOOST_PREDEF_MAKE_10_VVRR0PP00(__DECCXX_VER)
# endif
# if !defined(BOOST_COMP_DEC) && defined(__DECC_VER)
# define BOOST_COMP_DEC BOOST_PREDEF_MAKE_10_VVRR0PP00(__DECC_VER)
# if !defined(BOOST_COMP_DEC_DETECTION) && defined(__DECC_VER)
# define BOOST_COMP_DEC_DETECTION BOOST_PREDEF_MAKE_10_VVRR0PP00(__DECC_VER)
# endif
# if !defined(BOOST_COMP_DEC)
# define BOOST_COM_DEV BOOST_VERSION_NUMBER_AVAILABLE
# if !defined(BOOST_COMP_DEC_DETECTION)
# define BOOST_COM_DEC_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#if BOOST_COMP_DEC
#ifdef BOOST_COMP_DEC_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_DEC_EMULATED BOOST_COMP_DEC_DETECTION
# else
# undef BOOST_COMP_DEC
# define BOOST_COMP_DEC BOOST_COMP_DEC_DETECTION
# endif
# define BOOST_COMP_DEC_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_DEC_NAME "Compaq C/C++"
@ -52,5 +58,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_DEC,BOOST_COMP_DEC_NAME)
#ifdef BOOST_COMP_DEC_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_DEC_EMULATED,BOOST_COMP_DEC_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -29,12 +29,18 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_DIAB BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__DCC__)
# undef BOOST_COMP_DIAB
# define BOOST_COMP_DIAB BOOST_PREDEF_MAKE_10_VRPP(__VERSION_NUMBER__)
# define BOOST_COMP_DIAB_DETECTION BOOST_PREDEF_MAKE_10_VRPP(__VERSION_NUMBER__)
#endif
#if BOOST_COMP_DIAB
#ifdef BOOST_COMP_DIAB_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_DIAB_EMULATED BOOST_COMP_DIAB_DETECTION
# else
# undef BOOST_COMP_DIAB
# define BOOST_COMP_DIAB BOOST_COMP_DIAB_DETECTION
# endif
# define BOOST_COMP_DIAB_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_DIAB_NAME "Diab C/C++"
@ -42,5 +48,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_DIAB,BOOST_COMP_DIAB_NAME)
#ifdef BOOST_COMP_DIAB_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_DIAB_EMULATED,BOOST_COMP_DIAB_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -29,12 +29,18 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_DMC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__DMC__)
# undef BOOST_COMP_DMC
# define BOOST_COMP_DMC BOOST_PREDEF_MAKE_0X_VRP(__DMC__)
# define BOOST_COMP_DMC_DETECTION BOOST_PREDEF_MAKE_0X_VRP(__DMC__)
#endif
#if BOOST_COMP_DMC
#ifdef BOOST_COMP_DMC_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_DMC_EMULATED BOOST_COMP_DMC_DETECTION
# else
# undef BOOST_COMP_DMC
# define BOOST_COMP_DMC BOOST_COMP_DMC_DETECTION
# endif
# define BOOST_COMP_DMC_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_DMC_NAME "Digital Mars"
@ -42,5 +48,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_DMC,BOOST_COMP_DMC_NAME)
#ifdef BOOST_COMP_DMC_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_DMC_EMULATED,BOOST_COMP_DMC_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -29,12 +29,18 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_SYSC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__SYSC__)
# undef BOOST_COMP_SYSC
# define BOOST_COMP_SYSC BOOST_PREDEF_MAKE_10_VRRPP(__SYSC_VER__)
# define BOOST_COMP_SYSC_DETECTION BOOST_PREDEF_MAKE_10_VRRPP(__SYSC_VER__)
#endif
#if BOOST_COMP_SYSC
#ifdef BOOST_COMP_SYSC_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_SYSC_EMULATED BOOST_COMP_SYSC_DETECTION
# else
# undef BOOST_COMP_SYSC
# define BOOST_COMP_SYSC BOOST_COMP_SYSC_DETECTION
# endif
# define BOOST_COMP_SYSC_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_SYSC_NAME "Dignus Systems/C++"
@ -42,5 +48,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SYSC,BOOST_COMP_SYSC_NAME)
#ifdef BOOST_COMP_SYSC_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SYSC_EMULATED,BOOST_COMP_SYSC_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -29,12 +29,18 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_EDG BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__EDG__)
# undef BOOST_COMP_EDG
# define BOOST_COMP_EDG BOOST_PREDEF_MAKE_10_VRR(__EDG_VERSION__)
# define BOOST_COMP_EDG_DETECTION BOOST_PREDEF_MAKE_10_VRR(__EDG_VERSION__)
#endif
#if BOOST_COMP_EDG
#ifdef BOOST_COMP_EDG_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_EDG_EMULATED BOOST_COMP_EDG_DETECTION
# else
# undef BOOST_COMP_EDG
# define BOOST_COMP_EDG BOOST_COMP_EDG_DETECTION
# endif
# define BOOST_COMP_EDG_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_EDG_NAME "EDG C++ Frontend"
@ -42,5 +48,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_EDG,BOOST_COMP_EDG_NAME)
#ifdef BOOST_COMP_EDG_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_EDG_EMULATED,BOOST_COMP_EDG_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -29,13 +29,19 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_PATH BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__PATHCC__)
# undef BOOST_COMP_PATH
# define BOOST_COMP_PATH \
# define BOOST_COMP_PATH_DETECTION \
BOOST_VERSION_NUMBER(__PATHCC__,__PATHCC_MINOR__,__PATHCC_PATCHLEVEL__)
#endif
#if BOOST_COMP_PATH
#ifdef BOOST_COMP_PATH_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_PATH_EMULATED BOOST_COMP_PATH_DETECTION
# else
# undef BOOST_COMP_PATH
# define BOOST_COMP_PATH BOOST_COMP_PATH_DETECTION
# endif
# define BOOST_COMP_PATH_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_PATH_NAME "EKOpath"
@ -43,5 +49,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_PATH,BOOST_COMP_PATH_NAME)
#ifdef BOOST_COMP_PATH_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_PATH_EMULATED,BOOST_COMP_PATH_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -8,6 +8,10 @@ http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_PREDEF_COMPILER_GCC_H
#define BOOST_PREDEF_COMPILER_GCC_H
/* Other compilers that emulate this one need to be detected first. */
#include <boost/predef/compiler/clang.h>
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
@ -30,19 +34,25 @@ Version number available as major, minor, and patch (if available).
#define BOOST_COMP_GNUC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__GNUC__)
# undef BOOST_COMP_GNUC
# if !defined(BOOST_COMP_GNUC) && defined(__GNUC_PATCHLEVEL__)
# define BOOST_COMP_GNUC \
# if !defined(BOOST_COMP_GNUC_DETECTION) && defined(__GNUC_PATCHLEVEL__)
# define BOOST_COMP_GNUC_DETECTION \
BOOST_VERSION_NUMBER(__GNUC__,__GNUC_MINOR__,__GNUC_PATCHLEVEL__)
# endif
# if !defined(BOOST_COMP_GNUC)
# define BOOST_COMP_GNUC \
# if !defined(BOOST_COMP_GNUC_DETECTION)
# define BOOST_COMP_GNUC_DETECTION \
BOOST_VERSION_NUMBER(__GNUC__,__GNUC_MINOR__,0)
# endif
#endif
#if BOOST_COMP_GNUC
#ifdef BOOST_COMP_GNUC_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_GNUC_EMULATED BOOST_COMP_GNUC_DETECTION
# else
# undef BOOST_COMP_GNUC
# define BOOST_COMP_GNUC BOOST_COMP_GNUC_DETECTION
# endif
# define BOOST_COMP_GNUC_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_GNUC_NAME "Gnu GCC C/C++"
@ -50,5 +60,10 @@ Version number available as major, minor, and patch (if available).
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_GNUC,BOOST_COMP_GNUC_NAME)
#ifdef BOOST_COMP_GNUC_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_GNUC_EMULATED,BOOST_COMP_GNUC_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -26,12 +26,18 @@ http://www.boost.org/LICENSE_1_0.txt)
#define BOOST_COMP_GCCXML BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__GCCXML__)
# undef BOOST_COMP_GCCXML
# define BOOST_COMP_GCCXML BOOST_VERSION_NUMBER_AVAILABLE
# define BOOST_COMP_GCCXML_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
#endif
#if BOOST_COMP_GCCXML
#ifdef BOOST_COMP_GCCXML_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_GCCXML_EMULATED BOOST_COMP_GCCXML_DETECTION
# else
# undef BOOST_COMP_GCCXML
# define BOOST_COMP_GCCXML BOOST_COMP_GCCXML_DETECTION
# endif
# define BOOST_COMP_GCCXML_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_GCCXML_NAME "GCC XML"
@ -39,4 +45,9 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_GCCXML,BOOST_COMP_GCCXML_NAME)
#ifdef BOOST_COMP_GCCXML_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_GCCXML_EMULATED,BOOST_COMP_GCCXML_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -31,20 +31,26 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_GHS BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__ghs) || defined(__ghs__)
# undef BOOST_COMP_GHS
# if !defined(BOOST_COMP_GHS) && defined(__GHS_VERSION_NUMBER__)
# define BOOST_COMP_GHS BOOST_PREDEF_MAKE_10_VRP(__GHS_VERSION_NUMBER__)
# if !defined(BOOST_COMP_GHS_DETECTION) && defined(__GHS_VERSION_NUMBER__)
# define BOOST_COMP_GHS_DETECTION BOOST_PREDEF_MAKE_10_VRP(__GHS_VERSION_NUMBER__)
# endif
# if !defined(BOOST_COMP_GHS) && defined(__ghs)
# define BOOST_COMP_GHS BOOST_PREDEF_MAKE_10_VRP(__ghs)
# if !defined(BOOST_COMP_GHS_DETECTION) && defined(__ghs)
# define BOOST_COMP_GHS_DETECTION BOOST_PREDEF_MAKE_10_VRP(__ghs)
# endif
# if !defined(BOOST_COMP_GHS)
# define BOOST_COMP_GHS BOOST_VERSION_NUMBER_AVAILABLE
# if !defined(BOOST_COMP_GHS_DETECTION)
# define BOOST_COMP_GHS_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#if BOOST_COMP_GHS
#ifdef BOOST_COMP_GHS_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_GHS_EMULATED BOOST_COMP_GHS_DETECTION
# else
# undef BOOST_COMP_GHS
# define BOOST_COMP_GHS BOOST_COMP_GHS_DETECTION
# endif
# define BOOST_COMP_GHS_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_GHS_NAME "Green Hills C/C++"
@ -52,5 +58,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_GHS,BOOST_COMP_GHS_NAME)
#ifdef BOOST_COMP_GHS_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_GHS_EMULATED,BOOST_COMP_GHS_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -29,17 +29,23 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_HPACC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__HP_aCC)
# undef BOOST_COMP_HPACC
# if !defined(BOOST_COMP_HPACC) && (__HP_aCC > 1)
# define BOOST_COMP_HPACC BOOST_PREDEF_MAKE_10_VVRRPP(__HP_aCC)
# if !defined(BOOST_COMP_HPACC_DETECTION) && (__HP_aCC > 1)
# define BOOST_COMP_HPACC_DETECTION BOOST_PREDEF_MAKE_10_VVRRPP(__HP_aCC)
# endif
# if !defined(BOOST_COMP_HPACC)
# define BOOST_COMP_HPACC BOOST_VERSION_NUMBER_AVAILABLE
# if !defined(BOOST_COMP_HPACC_DETECTION)
# define BOOST_COMP_HPACC_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#if BOOST_COMP_HPACC
#ifdef BOOST_COMP_HPACC_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_HPACC_EMULATED BOOST_COMP_HPACC_DETECTION
# else
# undef BOOST_COMP_HPACC
# define BOOST_COMP_HPACC BOOST_COMP_HPACC_DETECTION
# endif
# define BOOST_COMP_HPACC_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_HPACC_NAME "HP aC++"
@ -47,5 +53,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_HPACC,BOOST_COMP_HPACC_NAME)
#ifdef BOOST_COMP_HPACC_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_HPACC_EMULATED,BOOST_COMP_HPACC_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -29,12 +29,18 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_IAR BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__IAR_SYSTEMS_ICC__)
# undef BOOST_COMP_IAR
# define BOOST_COMP_IAR BOOST_PREDEF_MAKE_10_VVRR(__VER__)
# define BOOST_COMP_IAR_DETECTION BOOST_PREDEF_MAKE_10_VVRR(__VER__)
#endif
#if BOOST_COMP_IAR
#ifdef BOOST_COMP_IAR_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_IAR_EMULATED BOOST_COMP_IAR_DETECTION
# else
# undef BOOST_COMP_IAR
# define BOOST_COMP_IAR BOOST_COMP_IAR_DETECTION
# endif
# define BOOST_COMP_IAR_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_IAR_NAME "IAR C/C++"
@ -42,5 +48,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_IAR,BOOST_COMP_IAR_NAME)
#ifdef BOOST_COMP_IAR_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_IAR_EMULATED,BOOST_COMP_IAR_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -34,23 +34,29 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_IBM BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__IBMCPP__) || defined(__xlC__) || defined(__xlc__)
# undef BOOST_COMP_IBM
# if !defined(BOOST_COMP_IBM) && defined(__COMPILER_VER__)
# define BOOST_COMP_IBM BOOST_PREDEF_MAKE_0X_VRRPPPP(__COMPILER_VER__)
# if !defined(BOOST_COMP_IBM_DETECTION) && defined(__COMPILER_VER__)
# define BOOST_COMP_IBM_DETECTION BOOST_PREDEF_MAKE_0X_VRRPPPP(__COMPILER_VER__)
# endif
# if !defined(BOOST_COMP_IBM) && defined(__xlC__)
# define BOOST_COMP_IBM BOOST_PREDEF_MAKE_0X_VVRR(__xlC__)
# if !defined(BOOST_COMP_IBM_DETECTION) && defined(__xlC__)
# define BOOST_COMP_IBM_DETECTION BOOST_PREDEF_MAKE_0X_VVRR(__xlC__)
# endif
# if !defined(BOOST_COMP_IBM) && defined(__xlc__)
# define BOOST_COMP_IBM BOOST_PREDEF_MAKE_0X_VVRR(__xlc__)
# if !defined(BOOST_COMP_IBM_DETECTION) && defined(__xlc__)
# define BOOST_COMP_IBM_DETECTION BOOST_PREDEF_MAKE_0X_VVRR(__xlc__)
# endif
# if !defined(BOOST_COMP_IBM)
# define BOOST_COMP_IBM BOOST_PREDEF_MAKE_10_VRP(__IBMCPP__)
# if !defined(BOOST_COMP_IBM_DETECTION)
# define BOOST_COMP_IBM_DETECTION BOOST_PREDEF_MAKE_10_VRP(__IBMCPP__)
# endif
#endif
#if BOOST_COMP_IBM
#ifdef BOOST_COMP_IBM_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_IBM_EMULATED BOOST_COMP_IBM_DETECTION
# else
# undef BOOST_COMP_IBM
# define BOOST_COMP_IBM BOOST_COMP_IBM_DETECTION
# endif
# define BOOST_COMP_IBM_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_IBM_NAME "IBM XL C/C++"
@ -58,5 +64,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_IBM,BOOST_COMP_IBM_NAME)
#ifdef BOOST_COMP_IBM_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_IBM_EMULATED,BOOST_COMP_IBM_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -33,17 +33,23 @@ Version number available as major, minor, and patch.
#if defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || \
defined(__ECC)
# undef BOOST_COMP_INTEL
# if !defined(BOOST_COMP_INTEL) && defined(__INTEL_COMPILER)
# define BOOST_COMP_INTEL BOOST_PREDEF_MAKE_10_VRP(__INTEL_COMPILER)
# if !defined(BOOST_COMP_INTEL_DETECTION) && defined(__INTEL_COMPILER)
# define BOOST_COMP_INTEL_DETECTION BOOST_PREDEF_MAKE_10_VRP(__INTEL_COMPILER)
# endif
# if !defined(BOOST_COMP_INTEL)
# define BOOST_COMP_INTEL BOOST_VERSION_NUMBER_AVAILABLE
# if !defined(BOOST_COMP_INTEL_DETECTION)
# define BOOST_COMP_INTEL_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#if BOOST_COMP_INTEL
#ifdef BOOST_COMP_INTEL_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_INTEL_EMULATED BOOST_COMP_INTEL_DETECTION
# else
# undef BOOST_COMP_INTEL
# define BOOST_COMP_INTEL BOOST_COMP_INTEL_DETECTION
# endif
# define BOOST_COMP_INTEL_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_INTEL_NAME "Intel C/C++"
@ -51,5 +57,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_INTEL,BOOST_COMP_INTEL_NAME)
#ifdef BOOST_COMP_INTEL_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_INTEL_EMULATED,BOOST_COMP_INTEL_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -29,12 +29,18 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_KCC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__KCC)
# undef BOOST_COMP_KCC
# define BOOST_COMP_KCC BOOST_PREDEF_MAKE_0X_VRPP(__KCC_VERSION)
# define BOOST_COMP_KCC_DETECTION BOOST_PREDEF_MAKE_0X_VRPP(__KCC_VERSION)
#endif
#if BOOST_COMP_KCC
#ifdef BOOST_COMP_KCC_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_KCC_EMULATED BOOST_COMP_KCC_DETECTION
# else
# undef BOOST_COMP_KCC
# define BOOST_COMP_KCC BOOST_COMP_KCC_DETECTION
# endif
# define BOOST_COMP_KCC_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_KCC_NAME "Kai C++"
@ -42,5 +48,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_KCC,BOOST_COMP_KCC_NAME)
#ifdef BOOST_COMP_KCC_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_KCC_EMULATED,BOOST_COMP_KCC_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -8,6 +8,10 @@ http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_PREDEF_COMPILER_LLVM_H
#define BOOST_PREDEF_COMPILER_LLVM_H
/* Other compilers that emulate this one need to be detected first. */
#include <boost/predef/compiler/clang.h>
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
@ -26,12 +30,18 @@ http://www.boost.org/LICENSE_1_0.txt)
#define BOOST_COMP_LLVM BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__llvm__)
# undef BOOST_COMP_LLVM
# define BOOST_COMP_LLVM BOOST_VERSION_NUMBER_AVAILABLE
# define BOOST_COMP_LLVM_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
#endif
#if BOOST_COMP_LLVM
#ifdef BOOST_COMP_LLVM_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_LLVM_EMULATED BOOST_COMP_LLVM_DETECTION
# else
# undef BOOST_COMP_LLVM
# define BOOST_COMP_LLVM BOOST_COMP_LLVM_DETECTION
# endif
# define BOOST_COMP_LLVM_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_LLVM_NAME "LLVM"
@ -39,5 +49,10 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_LLVM,BOOST_COMP_LLVM_NAME)
#ifdef BOOST_COMP_LLVM_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_LLVM_EMULATED,BOOST_COMP_LLVM_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -26,12 +26,18 @@ MetaWare High C/C++ compiler.
#define BOOST_COMP_HIGHC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__HIGHC__)
# undef BOOST_COMP_HIGHC
# define BOOST_COMP_HIGHC BOOST_VERSION_NUMBER_AVAILABLE
# define BOOST_COMP_HIGHC_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
#endif
#if BOOST_COMP_HIGHC
#ifdef BOOST_COMP_HIGHC_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_HIGHC_EMULATED BOOST_COMP_HIGHC_DETECTION
# else
# undef BOOST_COMP_HIGHC
# define BOOST_COMP_HIGHC BOOST_COMP_HIGHC_DETECTION
# endif
# define BOOST_COMP_HIGHC_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_HIGHC_NAME "MetaWare High C/C++"
@ -39,5 +45,10 @@ MetaWare High C/C++ compiler.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_HIGHC,BOOST_COMP_HIGHC_NAME)
#ifdef BOOST_COMP_HIGHC_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_HIGHC_EMULATED,BOOST_COMP_HIGHC_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -33,29 +33,35 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__MWERKS__) || defined(__CWCC__)
# undef BOOST_COMP_MWERKS
# if !defined(BOOST_COMP_MWERKS) && defined(__CWCC__)
# define BOOST_COMP_MWERKS BOOST_PREDEF_MAKE_0X_VRPP(__CWCC__)
# if !defined(BOOST_COMP_MWERKS_DETECTION) && defined(__CWCC__)
# define BOOST_COMP_MWERKS_DETECTION BOOST_PREDEF_MAKE_0X_VRPP(__CWCC__)
# endif
# if !defined(BOOST_COMP_MWERKS) && (__MWERKS__ >= 0x4200)
# define BOOST_COMP_MWERKS BOOST_PREDEF_MAKE_0X_VRPP(__MWERKS__)
# if !defined(BOOST_COMP_MWERKS_DETECTION) && (__MWERKS__ >= 0x4200)
# define BOOST_COMP_MWERKS_DETECTION BOOST_PREDEF_MAKE_0X_VRPP(__MWERKS__)
# endif
# if !defined(BOOST_COMP_MWERKS) && (__MWERKS__ >= 0x3204) // note the "skip": 04->9.3
# define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER(9,(__MWERKS__)%100-1,0)
# if !defined(BOOST_COMP_MWERKS_DETECTION) && (__MWERKS__ >= 0x3204) // note the "skip": 04->9.3
# define BOOST_COMP_MWERKS_DETECTION BOOST_VERSION_NUMBER(9,(__MWERKS__)%100-1,0)
# endif
# if !defined(BOOST_COMP_MWERKS) && (__MWERKS__ >= 0x3200)
# define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER(9,(__MWERKS__)%100,0)
# if !defined(BOOST_COMP_MWERKS_DETECTION) && (__MWERKS__ >= 0x3200)
# define BOOST_COMP_MWERKS_DETECTION BOOST_VERSION_NUMBER(9,(__MWERKS__)%100,0)
# endif
# if !defined(BOOST_COMP_MWERKS) && (__MWERKS__ >= 0x3000)
# define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER(8,(__MWERKS__)%100,0)
# if !defined(BOOST_COMP_MWERKS_DETECTION) && (__MWERKS__ >= 0x3000)
# define BOOST_COMP_MWERKS_DETECTION BOOST_VERSION_NUMBER(8,(__MWERKS__)%100,0)
# endif
# if !defined(BOOST_COMP_MWERKS)
# define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER_AVAILABLE
# if !defined(BOOST_COMP_MWERKS_DETECTION)
# define BOOST_COMP_MWERKS_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#if BOOST_COMP_MWERKS
#ifdef BOOST_COMP_MWERKS_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_MWERKS_EMULATED BOOST_COMP_MWERKS_DETECTION
# else
# undef BOOST_COMP_MWERKS
# define BOOST_COMP_MWERKS BOOST_COMP_MWERKS_DETECTION
# endif
# define BOOST_COMP_MWERKS_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_MWERKS_NAME "Metrowerks CodeWarrior"
@ -63,5 +69,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_MWERKS,BOOST_COMP_MWERKS_NAME)
#ifdef BOOST_COMP_MWERKS_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_MWERKS_EMULATED,BOOST_COMP_MWERKS_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -26,12 +26,18 @@ http://www.boost.org/LICENSE_1_0.txt)
#define BOOST_COMP_MRI BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(_MRI)
# undef BOOST_COMP_MRI
# define BOOST_COMP_MRI BOOST_VERSION_NUMBER_AVAILABLE
# define BOOST_COMP_MRI_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
#endif
#if BOOST_COMP_MRI
#ifdef BOOST_COMP_MRI_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_MRI_EMULATED BOOST_COMP_MRI_DETECTION
# else
# undef BOOST_COMP_MRI
# define BOOST_COMP_MRI BOOST_COMP_MRI_DETECTION
# endif
# define BOOST_COMP_MRI_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_MRI_NAME "Microtec C/C++"
@ -39,5 +45,10 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_MRI,BOOST_COMP_MRI_NAME)
#ifdef BOOST_COMP_MRI_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_MRI_EMULATED,BOOST_COMP_MRI_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -31,17 +31,23 @@ Version number available as major, and minor.
#define BOOST_COMP_MPW BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__MRC__) || defined(MPW_C) || defined(MPW_CPLUS)
# undef BOOST_COMP_MPW
# if !defined(BOOST_COMP_MPW) && defined(__MRC__)
# define BOOST_COMP_MPW BOOST_PREDEF_MAKE_0X_VVRR(__MRC__)
# if !defined(BOOST_COMP_MPW_DETECTION) && defined(__MRC__)
# define BOOST_COMP_MPW_DETECTION BOOST_PREDEF_MAKE_0X_VVRR(__MRC__)
# endif
# if !defined(BOOST_COMP_MPW)
# define BOOST_COMP_MPW BOOST_VERSION_NUMBER_AVAILABLE
# if !defined(BOOST_COMP_MPW_DETECTION)
# define BOOST_COMP_MPW_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#if BOOST_COMP_MPW
#ifdef BOOST_COMP_MPW_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_MPW_EMULATED BOOST_COMP_MPW_DETECTION
# else
# undef BOOST_COMP_MPW
# define BOOST_COMP_MPW BOOST_COMP_MPW_DETECTION
# endif
# define BOOST_COMP_MPW_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_MPW_NAME "MPW C++"
@ -49,5 +55,10 @@ Version number available as major, and minor.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_MPW,BOOST_COMP_MPW_NAME)
#ifdef BOOST_COMP_MPW_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_MPW_EMULATED,BOOST_COMP_MPW_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -29,12 +29,18 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_PALM BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(_PACC_VER)
# undef BOOST_COMP_PALM
# define BOOST_COMP_PALM BOOST_PREDEF_MAKE_0X_VRRPP000(_PACC_VER)
# define BOOST_COMP_PALM_DETECTION BOOST_PREDEF_MAKE_0X_VRRPP000(_PACC_VER)
#endif
#if BOOST_COMP_PALM
#ifdef BOOST_COMP_PALM_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_PALM_EMULATED BOOST_COMP_PALM_DETECTION
# else
# undef BOOST_COMP_PALM
# define BOOST_COMP_PALM BOOST_COMP_PALM_DETECTION
# endif
# define BOOST_COMP_PALM_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_PALM_NAME "Palm C/C++"
@ -42,5 +48,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_PALM,BOOST_COMP_PALM_NAME)
#ifdef BOOST_COMP_PALM_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_PALM_EMULATED,BOOST_COMP_PALM_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -28,17 +28,23 @@ http://www.boost.org/LICENSE_1_0.txt)
#define BOOST_COMP_PGI BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__PGI)
# undef BOOST_COMP_PGI
# if !defined(BOOST_COMP_PGI) && (defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__))
# define BOOST_COMP_PGI BOOST_VERSION_NUMBER(__PGIC__,__PGIC_MINOR__,__PGIC_PATCHLEVEL__)
# if !defined(BOOST_COMP_PGI_DETECTION) && (defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__))
# define BOOST_COMP_PGI_DETECTION BOOST_VERSION_NUMBER(__PGIC__,__PGIC_MINOR__,__PGIC_PATCHLEVEL__)
# endif
# if !defined(BOOST_COMP_PGI)
# define BOOST_COMP_PGI BOOST_VERSION_NUMBER_AVAILABLE
# if !defined(BOOST_COMP_PGI_DETECTION)
# define BOOST_COMP_PGI_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#if BOOST_COMP_PGI
#ifdef BOOST_COMP_PGI_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_PGI_EMULATED BOOST_COMP_PGI_DETECTION
# else
# undef BOOST_COMP_PGI
# define BOOST_COMP_PGI BOOST_COMP_PGI_DETECTION
# endif
# define BOOST_COMP_PGI_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_PGI_NAME "Portland Group C/C++"
@ -46,5 +52,10 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_PGI,BOOST_COMP_PGI_NAME)
#ifdef BOOST_COMP_PGI_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_PGI_EMULATED,BOOST_COMP_PGI_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -31,20 +31,26 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_SGI BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__sgi) || defined(sgi)
# undef BOOST_COMP_SGI
# if !defined(BOOST_COMP_SGI) && defined(_SGI_COMPILER_VERSION)
# define BOOST_COMP_SGI BOOST_PREDEF_MAKE_10_VRP(_SGI_COMPILER_VERSION)
# if !defined(BOOST_COMP_SGI_DETECTION) && defined(_SGI_COMPILER_VERSION)
# define BOOST_COMP_SGI_DETECTION BOOST_PREDEF_MAKE_10_VRP(_SGI_COMPILER_VERSION)
# endif
# if !defined(BOOST_COMP_SGI) && defined(_COMPILER_VERSION)
# define BOOST_COMP_SGI BOOST_PREDEF_MAKE_10_VRP(_COMPILER_VERSION)
# if !defined(BOOST_COMP_SGI_DETECTION) && defined(_COMPILER_VERSION)
# define BOOST_COMP_SGI_DETECTION BOOST_PREDEF_MAKE_10_VRP(_COMPILER_VERSION)
# endif
# if !defined(BOOST_COMP_SGI)
# define BOOST_COMP_SGI BOOST_VERSION_NUMBER_AVAILABLE
# if !defined(BOOST_COMP_SGI_DETECTION)
# define BOOST_COMP_SGI_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#if BOOST_COMP_SGI
#ifdef BOOST_COMP_SGI_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_SGI_EMULATED BOOST_COMP_SGI_DETECTION
# else
# undef BOOST_COMP_SGI
# define BOOST_COMP_SGI BOOST_COMP_SGI_DETECTION
# endif
# define BOOST_COMP_SGI_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_SGI_NAME "SGI MIPSpro"
@ -52,5 +58,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SGI,BOOST_COMP_SGI_NAME)
#ifdef BOOST_COMP_SGI_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SGI_EMULATED,BOOST_COMP_SGI_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -31,20 +31,26 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_SUNPRO BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__SUNPRO_CC) || defined(__SUNPRO_C)
# undef BOOST_COMP_SUNPRO
# if !defined(BOOST_COMP_SUNPRO) && defined(__SUNPRO_CC)
# define BOOST_COMP_SUNPRO BOOST_PREDEF_MAKE_0X_VRP(__SUNPRO_CC)
# if !defined(BOOST_COMP_SUNPRO_DETECTION) && defined(__SUNPRO_CC)
# define BOOST_COMP_SUNPRO_DETECTION BOOST_PREDEF_MAKE_0X_VRP(__SUNPRO_CC)
# endif
# if !defined(BOOST_COMP_SUNPRO) && defined(__SUNPRO_C)
# define BOOST_COMP_SUNPRO BOOST_PREDEF_MAKE_0X_VRP(__SUNPRO_C)
# if !defined(BOOST_COMP_SUNPRO_DETECTION) && defined(__SUNPRO_C)
# define BOOST_COMP_SUNPRO_DETECTION BOOST_PREDEF_MAKE_0X_VRP(__SUNPRO_C)
# endif
# if !defined(BOOST_COMP_SUNPRO)
# define BOOST_COMP_SUNPRO BOOST_VERSION_NUMBER_AVAILABLE
# if !defined(BOOST_COMP_SUNPRO_DETECTION)
# define BOOST_COMP_SUNPRO_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#if BOOST_COMP_SUNPRO
#ifdef BOOST_COMP_SUNPRO_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_SUNPRO_EMULATED BOOST_COMP_SUNPRO_DETECTION
# else
# undef BOOST_COMP_SUNPRO
# define BOOST_COMP_SUNPRO BOOST_COMP_SUNPRO_DETECTION
# endif
# define BOOST_COMP_SUNPRO_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_SUNPRO_NAME "Sun Studio"
@ -52,5 +58,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SUNPRO,BOOST_COMP_SUNPRO_NAME)
#ifdef BOOST_COMP_SUNPRO_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SUNPRO_EMULATED,BOOST_COMP_SUNPRO_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -26,12 +26,18 @@ http://www.boost.org/LICENSE_1_0.txt)
#define BOOST_COMP_TENDRA BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__TenDRA__)
# undef BOOST_COMP_TENDRA
# define BOOST_COMP_TENDRA BOOST_VERSION_NUMBER_AVAILABLE
# define BOOST_COMP_TENDRA_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
#endif
#if BOOST_COMP_TENDRA
#ifdef BOOST_COMP_TENDRA_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_TENDRA_EMULATED BOOST_COMP_TENDRA_DETECTION
# else
# undef BOOST_COMP_TENDRA
# define BOOST_COMP_TENDRA BOOST_COMP_TENDRA_DETECTION
# endif
# define BOOST_COMP_TENDRA_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_TENDRA_NAME "TenDRA C/C++"
@ -39,5 +45,10 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_TENDRA,BOOST_COMP_TENDRA_NAME)
#ifdef BOOST_COMP_TENDRA_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_TENDRA_EMULATED,BOOST_COMP_TENDRA_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -8,6 +8,10 @@ http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_PREDEF_COMPILER_VISUALC_H
#define BOOST_PREDEF_COMPILER_VISUALC_H
/* Other compilers that emulate this one need to be detected first. */
#include <boost/predef/compiler/clang.h>
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
@ -30,7 +34,6 @@ Version number available as major, minor, and patch.
#define BOOST_COMP_MSVC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(_MSC_VER)
# undef BOOST_COMP_MSVC
# if !defined (_MSC_FULL_VER)
# define BOOST_COMP_MSVC_BUILD 0
# else
@ -45,14 +48,21 @@ Version number available as major, minor, and patch.
# error "Cannot determine build number from _MSC_FULL_VER"
# endif
# endif
# define BOOST_COMP_MSVC BOOST_VERSION_NUMBER(\
# define BOOST_COMP_MSVC_DETECTION BOOST_VERSION_NUMBER(\
_MSC_VER/100-6,\
_MSC_VER%100,\
BOOST_COMP_MSVC_BUILD)
#endif
#if BOOST_COMP_MSVC
#ifdef BOOST_COMP_MSVC_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_MSVC_EMULATED BOOST_COMP_MSVC_DETECTION
# else
# undef BOOST_COMP_MSVC
# define BOOST_COMP_MSVC BOOST_COMP_MSVC_DETECTION
# endif
# define BOOST_COMP_MSVC_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_MSVC_NAME "Microsoft Visual C/C++"
@ -60,5 +70,10 @@ Version number available as major, minor, and patch.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_MSVC,BOOST_COMP_MSVC_NAME)
#ifdef BOOST_COMP_MSVC_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_MSVC_EMULATED,BOOST_COMP_MSVC_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2014
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)
@ -29,12 +29,18 @@ Version number available as major, and minor.
#define BOOST_COMP_WATCOM BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__WATCOMC__)
# undef BOOST_COMP_WATCOM
# define BOOST_COMP_WATCOM BOOST_PREDEF_MAKE_10_VVRR(__WATCOMC__)
# define BOOST_COMP_WATCOM_DETECTION BOOST_PREDEF_MAKE_10_VVRR(__WATCOMC__)
#endif
#if BOOST_COMP_WATCOM
#ifdef BOOST_COMP_WATCOM_DETECTION
# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
# define BOOST_COMP_WATCOM_EMULATED BOOST_COMP_WATCOM_DETECTION
# else
# undef BOOST_COMP_WATCOM
# define BOOST_COMP_WATCOM BOOST_COMP_WATCOM_DETECTION
# endif
# define BOOST_COMP_WATCOM_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_WATCOM_NAME "Watcom C++"
@ -42,5 +48,10 @@ Version number available as major, and minor.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_WATCOM,BOOST_COMP_WATCOM_NAME)
#ifdef BOOST_COMP_WATCOM_EMULATED
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_WATCOM_EMULATED,BOOST_COMP_WATCOM_NAME)
#endif
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2011-2012
Copyright Rene Rivera 2011-2012
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2011-2012
Copyright Rene Rivera 2011-2012
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)

View File

@ -0,0 +1,10 @@
/*
Copyright Rene Rivera 2014
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)
*/
#ifndef BOOST_PREDEF_DETAIL_COMP_DETECTED
#define BOOST_PREDEF_DETAIL_COMP_DETECTED 1
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2013
Copyright Rene Rivera 2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2013
Copyright Rene Rivera 2013
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)

View File

@ -0,0 +1,10 @@
/*
Copyright Rene Rivera 2014
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)
*/
#ifndef BOOST_PREDEF_DETAIL_PLAT_DETECTED
#define BOOST_PREDEF_DETAIL_PLAT_DETECTED 1
#endif

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software Inc. 2011-2012
Copyright Rene Rivera 2011-2012
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software Inc. 2011-2012
Copyright Rene Rivera 2011-2012
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software Inc. 2011-2013
Copyright Rene Rivera 2011-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software Inc. 2011-2012
Copyright Rene Rivera 2011-2012
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software Inc. 2011-2013
Copyright Rene Rivera 2011-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2012
Copyright Rene Rivera 2008-2012
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2012
Copyright Rene Rivera 2008-2012
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software Inc 2011-2013
Copyright Rene Rivera 2011-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

View File

@ -1,5 +1,5 @@
/*
Copyright Redshift Software, Inc. 2008-2013
Copyright Rene Rivera 2008-2013
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)

Some files were not shown because too many files have changed in this diff Show More