<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Boost Macro Reference</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="../index.html" title="Boost.Config">
<link rel="next" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_config.boost_macro_reference"></a><a class="link" href="boost_macro_reference.html" title="Boost Macro Reference">Boost Macro Reference</a>
</h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_defects">Macros
      that describe defects</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features">Macros
      that describe optional features</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features">Macros
      that describe possible C++0x features</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported">Macros
      that describe C++0x features not supported</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros">Boost
      Helper Macros</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros">Boost
      Informational Macros</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code">Macros
      for libraries with separate source code</a></span></dt>
</dl></div>
<a name="config_defects"></a><p>
    </p>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.macros_that_describe_defects"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_defects" title="Macros that describe defects">Macros
      that describe defects</a>
</h3></div></div></div>
<p>
        The following macros all describe features that are required by the C++ standard,
        if one of the following macros is defined, then it represents a defect in
        the compiler's conformance with the standard.
      </p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Macro
                </p>
              </th>
<th>
                <p>
                  Section
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_BCB_PARTIAL_SPECIALIZATION_BUG</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler exibits certain partial specialisation bug - probably
                  Borland C++ Builder specific.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  Argument dependent lookup fails if there is a using declaration
                  for the symbol being looked up in the current scope. For example,
                  using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">get_pointer</span></code>; prevents ADL from
                  finding overloads of <code class="computeroutput"><span class="identifier">get_pointer</span></code>
                  in namespaces nested inside boost (but not elsewhere). Probably
                  Borland specific.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_ADL_BARRIER</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler locates and searches namespaces that it should <span class="emphasis"><em>*not*</em></span>
                  in fact search when performing argument dependent lookup.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  Compiler does not implement argument-dependent lookup (also named
                  Koenig lookup); see std::3.4.2 [basic.koenig.lookup]
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_AUTO_PTR</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  If the compiler / library supplies non-standard or broken <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">auto_ptr</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_COMPLETE_VALUE_INITIALIZATION</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  Compiler has not completely implemented value-initialization. See
                  also <a href="../../../../utility/value_init.htm#compiler_issues" target="_top">The
                  Utility/Value Init docs</a>
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_CTYPE_FUNCTIONS</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The Platform does not provide functions for the character-classifying
                  operations <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">ctype</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code> and <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">cctype</span><span class="special">&gt;</span></code>,
                  only macros.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_CV_SPECIALIZATIONS</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  If template specialisations for cv-qualified types conflict with
                  a specialisation for a cv-unqualififed type.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_CV_VOID_SPECIALIZATIONS</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  If template specialisations for cv-void types conflict with a specialisation
                  for void.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_CWCHAR</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The Platform does not provide <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">wchar</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>
                  and <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">cwchar</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_CWCTYPE</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The Platform does not provide <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">wctype</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>
                  and <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">cwctype</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_DEPENDENT_NESTED_DERIVATIONS</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler fails to compile a nested class that has a dependent
                  base class: 
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">foo</span> <span class="special">:</span> <span class="special">{</span>
   <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span>
   <span class="keyword">struct</span> <span class="identifier">bar</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">U</span> <span class="special">{};</span>
</pre>
<p>
                  };
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  Template value parameters cannot have a dependent type, for example:
                  
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">value</span><span class="special">&gt;</span> 
<span class="keyword">class</span> <span class="identifier">X</span> <span class="special">{</span> <span class="special">...</span> <span class="special">};</span>
</pre>
<p>
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_EXCEPTION_STD_NAMESPACE</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard Library
                </p>
              </td>
<td>
                <p>
                  The standard library does not put some or all of the contents of
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">exception</span><span class="special">&gt;</span></code> in namespace std.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_EXCEPTIONS</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler does not support exception handling (this setting
                  is typically required by many C++ compilers for embedded platforms).
                  Note that there is no requirement for boost libraries to honor
                  this configuration setting - indeed doing so may be impossible
                  in some cases. Those libraries that do honor this will typically
                  abort if a critical error occurs - you have been warned!
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  Can only use deduced template arguments when calling function template
                  instantiations.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_FUNCTION_TEMPLATE_ORDERING</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler does not perform function template ordering or its
                  function template ordering is incorrect. 
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="comment">// #1
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">T</span><span class="special">);</span>

<span class="comment">// #2
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">T</span><span class="special">(*)(</span><span class="identifier">U</span><span class="special">));</span>

<span class="keyword">void</span> <span class="identifier">bar</span><span class="special">(</span><span class="keyword">int</span><span class="special">);</span>

<span class="identifier">f</span><span class="special">(&amp;</span><span class="identifier">bar</span><span class="special">);</span> <span class="comment">// should choose #2.
</span></pre>
<p>
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_INCLASS_MEMBER_INITIALIZATION</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  Compiler violates std::9.4.2/4.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_INTRINSIC_WCHAR_T</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The C++ implementation does not provide <code class="computeroutput"><span class="keyword">wchar_t</span></code>,
                  or it is really a synonym for another integral type. Use this symbol
                  to decide whether it is appropriate to explicitly specialize a
                  template on <code class="computeroutput"><span class="keyword">wchar_t</span></code>
                  if there is already a specialization for other integer types.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_IOSFWD</span></code>
                </p>
              </td>
<td>
                <p>
                  std lib
                </p>
              </td>
<td>
                <p>
                  The standard library lacks <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">iosfwd</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_IOSTREAM</span></code>
                </p>
              </td>
<td>
                <p>
                  std lib
                </p>
              </td>
<td>
                <p>
                  The standard library lacks <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span></code>,
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">istream</span><span class="special">&gt;</span></code> or <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">ostream</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_IS_ABSTRACT</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The C++ compiler does not support SFINAE with abstract types, this
                  is covered by <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#337" target="_top">Core
                  Language DR337</a>, but is not part of the current standard.
                  Fortunately most compilers that support SFINAE also support this
                  DR.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_LIMITS</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The C++ implementation does not provide the <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span></code>
                  header. Never check for this symbol in library code; always include
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">limits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>, which guarantees to provide
                  <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_NUMERIC_LIMITS_LOWEST</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  Static function <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">lowest</span><span class="special">()</span></code> is not available for use.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  Constants such as <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">is_signed</span></code>
                  are not available for use at compile-time.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_LONG_LONG_NUMERIC_LIMITS</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  There is no specialization for <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">long</span>
                  <span class="keyword">long</span><span class="special">&gt;</span></code>
                  and <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">unsigned</span>
                  <span class="keyword">long</span> <span class="keyword">long</span><span class="special">&gt;</span></code>. <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">limits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
                  will then add these specializations as a standard library "fix"
                  only if the compiler supports the <code class="computeroutput"><span class="keyword">long</span>
                  <span class="keyword">long</span></code> datatype.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler does not support the specialization of individual
                  member functions of template classes.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_MEMBER_TEMPLATE_KEYWORD</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  If the compiler supports member templates, but not the template
                  keyword when accessing member template classes.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_MEMBER_TEMPLATE_FRIENDS</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  Member template friend syntax (<code class="computeroutput"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span>
                  <span class="identifier">P</span><span class="special">&gt;</span>
                  <span class="keyword">friend</span> <span class="keyword">class</span>
                  <span class="identifier">frd</span><span class="special">;</span></code>)
                  described in the C++ Standard, 14.5.3, not supported.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_MEMBER_TEMPLATES</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  Member template functions not fully supported.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_MS_INT64_NUMERIC_LIMITS</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  There is no specialization for <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">__int64</span><span class="special">&gt;</span></code> and <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">unsigned</span>
                  <span class="identifier">__int64</span><span class="special">&gt;</span></code>.
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">limits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> will then add these specializations
                  as a standard library "fix", only if the compiler supports
                  the <code class="computeroutput"><span class="identifier">__int64</span></code> datatype.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_NESTED_FRIENDSHIP</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  Compiler doesn't allow a nested class to access private members
                  of its containing class. Probably Borland/CodeGear specific.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_OPERATORS_IN_NAMESPACE</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  Compiler requires inherited operator friend functions to be defined
                  at namespace scope, then using'ed to boost. Probably GCC specific.
                  See <a href="../../../../../boost/operators.hpp" target="_top"><code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">operators</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a> for example.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler does not correctly handle partial specializations
                  which depend upon default arguments in the primary template.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_POINTER_TO_MEMBER_CONST</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler does not correctly handle pointers to const member
                  functions, preventing use of these in overloaded function templates.
                  See <a href="../../../../../boost/functional.hpp" target="_top"><code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">functional</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a> for example.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  Pointers to members don't work when used as template parameters.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_PRIVATE_IN_AGGREGATE</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler misreads 8.5.1, treating classes as non-aggregate
                  if they contain private or protected member functions.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_RTTI</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler may (or may not) have the typeid operator, but RTTI
                  on the dynamic type of an object is not supported.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_SFINAE</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler does not support the "Substitution Failure Is
                  Not An Error" meta-programming idiom.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_SFINAE_EXPR</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler does not support usage of SFINAE with arbitrary expressions.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_ALLOCATOR</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The C++ standard library does not provide a standards conforming
                  <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_DISTANCE</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The platform does not have a conforming version of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">distance</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_ITERATOR</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The C++ implementation fails to provide the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>
                  class.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_ITERATOR_TRAITS</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The compiler does not provide a standard compliant implementation
                  of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span></code>. Note that the
                  compiler may still have a non-standard implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_LOCALE</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The standard library lacks <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_MESSAGES</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The standard library lacks a conforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">messages</span></code>
                  facet.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_MIN_MAX</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The C++ standard library does not provide the <code class="computeroutput"><span class="identifier">min</span><span class="special">()</span></code> and <code class="computeroutput"><span class="identifier">max</span><span class="special">()</span></code> template functions that should
                  be in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">algorithm</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  Defined if the standard library's output iterators are not assignable.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_TYPEINFO</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The &lt;typeinfo&gt; header declares <code class="computeroutput"><span class="identifier">type_info</span></code>
                  in the global namespace instead of namespace std.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_USE_FACET</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The standard library lacks a conforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">use_facet</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_WSTREAMBUF</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The standard library's implementation of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span><span class="keyword">wchar_t</span><span class="special">&gt;</span></code> is either missing, incomplete,
                  or buggy.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_WSTRING</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The standard library lacks <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">wstring</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_STDC_NAMESPACE</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler, Platform
                </p>
              </td>
<td>
                <p>
                  The contents of C++ standard headers for C library functions (the
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">c</span><span class="special">...&gt;</span></code> headers) have not been placed
                  in namespace std. This test is difficult - some libraries "fake"
                  the std C functions by adding using declarations to import them
                  into namespace std, unfortunately they don't necessarily catch
                  all of them...
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_STRINGSTREAM</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The C++ implementation does not provide the <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">sstream</span><span class="special">&gt;</span></code>
                  header.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_SWPRINTF</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The platform does not have a conforming version of <code class="computeroutput"><span class="identifier">swprintf</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  Class template partial specialization (14.5.4 [temp.class.spec])
                  not supported.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATED_IOSTREAMS</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide templated iostream classes.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide templated iterator constructors
                  for its containers.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATE_TEMPLATES</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler does not support template template parameters.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_TYPEID</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler does not support the typeid operator at all.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_TYPENAME_WITH_CTOR</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The typename keyword cannot be used when creating a temporary of
                  a Dependent type.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_UNREACHABLE_RETURN_DETECTION</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  If a return is unreachable, then no return statement should be
                  required, however some compilers insist on it, while other issue
                  a bunch of warnings if it is in fact present.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler will not accept a using declaration that brings a
                  function from a typename used as a base class into a derived class
                  if functions of the same name are present in the derived class.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_USING_TEMPLATE</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler will not accept a using declaration that imports a
                  template class or function from another namespace. Originally a
                  Borland specific problem with imports to/from the global namespace,
                  extended to MSVC6 which has a specific issue with importing template
                  classes (but not functions).
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_VOID_RETURNS</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler does not allow a void function to return the result
                  of calling another void function. 
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">()</span> <span class="special">{}</span>
<span class="keyword">void</span> <span class="identifier">g</span><span class="special">()</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">f</span><span class="special">();</span> <span class="special">}</span>
</pre>
<p>
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<a name="config_features"></a><p>
    </p>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.macros_that_describe_optional_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features" title="Macros that describe optional features">Macros
      that describe optional features</a>
</h3></div></div></div>
<p>
        The following macros describe features that are not required by the C++ standard.
        The macro is only defined if the feature is present.
      </p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Macro
                </p>
              </th>
<th>
                <p>
                  Section
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_BETHREADS</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The platform supports BeOS style threads.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_CLOCK_GETTIME</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The platform has the POSIX API <code class="computeroutput"><span class="identifier">clock_gettime</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_DIRENT_H</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The platform has the POSIX header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">dirent</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_EXPM1</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The platform has the functions <code class="computeroutput"><span class="identifier">expm1</span></code>,
                  <code class="computeroutput"><span class="identifier">expm1f</span></code> and <code class="computeroutput"><span class="identifier">expm1l</span></code> in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">math</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_FTIME</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The platform has the Win32 API <code class="computeroutput"><span class="identifier">GetSystemTimeAsFileTime</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_GETTIMEOFDAY</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The platform has the POSIX API <code class="computeroutput"><span class="identifier">gettimeofday</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_HASH</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The C++ implementation provides the (SGI) hash_set and hash_map
                  classes. When defined, <code class="computeroutput"><span class="identifier">BOOST_HASH_SET_HEADER</span></code>
                  and <code class="computeroutput"><span class="identifier">BOOST_HASH_LIST_HEADER</span></code>
                  will contain the names of the header needed to access hash_set
                  and hash_map; <code class="computeroutput"><span class="identifier">BOOST_STD_EXTENSION_NAMESPACE</span></code>
                  will provide the namespace in which the two class templates reside.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_LOG1P</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The platform has the functions <code class="computeroutput"><span class="identifier">log1p</span></code>,
                  <code class="computeroutput"><span class="identifier">log1pf</span></code> and <code class="computeroutput"><span class="identifier">log1pl</span></code> in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">math</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_MACRO_USE_FACET</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The standard library lacks a conforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">use_facet</span></code>,
                  but has a macro <code class="computeroutput"><span class="identifier">_USE</span><span class="special">(</span><span class="identifier">loc</span><span class="special">,</span> <span class="identifier">Type</span><span class="special">)</span></code> that does the job. This is primarily
                  for the Dinkumware std lib.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_MS_INT64</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  The compiler supports the <code class="computeroutput"><span class="identifier">__int64</span></code>
                  data type.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_NANOSLEEP</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The platform has the POSIX API nanosleep.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_NL_TYPES_H</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The platform has an <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">nl_types</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_NRVO</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  Indicated that the compiler supports the named return value optimization
                  (NRVO). Used to select the most efficient implementation for some
                  function. See <a href="../../../../../boost/operators.hpp" target="_top"><code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">operators</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a> for example.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_PARTIAL_STD_ALLOCATOR</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard Library
                </p>
              </td>
<td>
                <p>
                  The standard library has a partially conforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span></code>
                  class, but without any of the member templates.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_PTHREAD_DELAY_NP</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The platform has the POSIX API <code class="computeroutput"><span class="identifier">pthread_delay_np</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The platform has the POSIX API <code class="computeroutput"><span class="identifier">pthread_mutexattr_settype</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_PTHREAD_YIELD</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The platform has the POSIX API <code class="computeroutput"><span class="identifier">pthread_yield</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_PTHREADS</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The platform support POSIX style threads.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_SCHED_YIELD</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The platform has the POSIX API <code class="computeroutput"><span class="identifier">sched_yield</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_SGI_TYPE_TRAITS</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler, Standard library
                </p>
              </td>
<td>
                <p>
                  The compiler has native support for SGI style type traits.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_STDINT_H</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The platform has a <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_SLIST</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The C++ implementation provides the (SGI) slist class. When defined,
                  <code class="computeroutput"><span class="identifier">BOOST_SLIST_HEADER</span></code>
                  will contain the name of the header needed to access <code class="computeroutput"><span class="identifier">slist</span></code> and <code class="computeroutput"><span class="identifier">BOOST_STD_EXTENSION_NAMESPACE</span></code>
                  will provide the namespace in which <code class="computeroutput"><span class="identifier">slist</span></code>
                  resides.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_STLP_USE_FACET</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The standard library lacks a conforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">use_facet</span></code>,
                  but has a workaround class-version that does the job. This is primarily
                  for the STLport std lib.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_ARRAY</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The library has a TR1 conforming version of <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">array</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_COMPLEX_OVERLOADS</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The library has a version of <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">complex</span><span class="special">&gt;</span></code>
                  that supports passing scalars to the complex number algorithms.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The library has a version of <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">complex</span><span class="special">&gt;</span></code>
                  that includes the new inverse trig functions from TR1.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_REFERENCE_WRAPPER</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The library has TR1 conforming reference wrappers in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">functional</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_RESULT_OF</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The library has a TR1 conforming result_of template in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">functional</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_MEM_FN</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The library has a TR1 conforming mem_fn function template in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">functional</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_BIND</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The library has a TR1 conforming bind function template in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">functional</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_FUNCTION</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The library has a TR1 conforming function class template in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">functional</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_HASH</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The library has a TR1 conforming hash function template in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">functional</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_SHARED_PTR</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The library has a TR1 conforming <code class="computeroutput"><span class="identifier">shared_ptr</span></code>
                  class template in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">memory</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_RANDOM</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The library has a TR1 conforming version of <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">random</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_REGEX</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The library has a TR1 conforming version of <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">regex</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_TUPLE</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The library has a TR1 conforming version of <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">tuple</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_TYPE_TRAITS</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The library has a TR1 conforming version of <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">type_traits</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_UTILITY</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The library has the TR1 additions to <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">utility</span><span class="special">&gt;</span></code>
                  (tuple interface to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>).
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_UNORDERED_MAP</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The library has a TR1 conforming version of <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">unordered_map</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_UNORDERED_SET</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The library has a TR1 conforming version of <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">unordered_set</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  Implies all the other <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_</span><span class="special">*</span></code> macros should be set.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_THREADS</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform, Compiler
                </p>
              </td>
<td>
                <p>
                  Defined if the compiler, in its current translation mode, supports
                  multiple threads of execution.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TWO_ARG_USE_FACET</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  The standard library lacks a conforming std::use_facet, but has
                  a two argument version that does the job. This is primarily for
                  the Rogue Wave std lib.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_UNISTD_H</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The Platform provides <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">unistd</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_WINTHREADS</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  The platform supports MS Windows style threads.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_MSVC_STD_ITERATOR</span></code>
                </p>
              </td>
<td>
                <p>
                  Standard library
                </p>
              </td>
<td>
                <p>
                  Microsoft's broken version of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>
                  is being used. This implies that <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>
                  takes no more than two template parameters.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_MSVC6_MEMBER_TEMPLATES</span></code>
                </p>
              </td>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  Microsoft Visual C++ 6.0 has enough member template idiosyncrasies
                  (being polite) that <code class="computeroutput"><span class="identifier">BOOST_NO_MEMBER_TEMPLATES</span></code>
                  is defined for this compiler. <code class="computeroutput"><span class="identifier">BOOST_MSVC6_MEMBER_TEMPLATES</span></code>
                  is defined to allow compiler specific workarounds. This macro gets
                  defined automatically if <code class="computeroutput"><span class="identifier">BOOST_NO_MEMBER_TEMPLATES</span></code>
                  is not defined - in other words this is treated as a strict subset
                  of the features required by the standard.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_STDINT_H</span></code>
                </p>
              </td>
<td>
                <p>
                  Platform
                </p>
              </td>
<td>
                <p>
                  There are no 1998 C++ Standard headers <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>
                  or <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">cstdint</span><span class="special">&gt;</span></code>, although the 1999 C Standard
                  does include <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>.
                  If <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code> is present, <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>
                  can make good use of it, so a flag is supplied (signalling presence;
                  thus the default is not present, conforming to the current C++
                  standard).
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features" title="Macros that describe possible C++0x features">Macros
      that describe possible C++0x features</a>
</h3></div></div></div>
<p>
        The following macros describe features that are likely to be included in
        the upcoming ISO C++ standard, C++0x, but have not yet been approved for
        inclusion in the language.
      </p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Macro
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody><tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_CONCEPTS</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler supports concepts.
                </p>
              </td>
</tr></tbody>
</table></div>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported" title="Macros that describe C++0x features not supported">Macros
      that describe C++0x features not supported</a>
</h3></div></div></div>
<p>
        The following macros describe features in the upcoming ISO C++ standard,
        C++0x, that are not yet supported by a particular compiler or library.
      </p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Macro
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_ARRAY</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;array&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CHRONO</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;chrono&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CODECVT</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;codecvt&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CONCEPTS</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;concepts&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CONDITION_VARIABLE</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;condition_variable&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CONTAINER_CONCEPTS</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;container_concepts&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_FORWARD_LIST</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;forward_list&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_FUTURE</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;future&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_INITIALIZER_LIST</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;initializer_list&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_ITERATOR_CONCEPTS</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;iterator_concepts&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_MEMORY_CONCEPTS</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;memory_concepts&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_MUTEX</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;mutex&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_RANDOM</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;random&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_RATIO</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;ratio&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_REGEX</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;regex&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_SYSTEM_ERROR</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;system_error&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_THREAD</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;thread&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_TUPLE</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;tuple&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_TYPEINDEX</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;typeindex&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_TYPE_TRAITS</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;type_traits&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_UNORDERED_MAP</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;unordered_map&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_UNORDERED_SET</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not provide header &lt;unordered_set&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_AUTO_DECLARATIONS</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support type deduction for variables declared
                  with the <code class="computeroutput"><span class="keyword">auto</span></code> keyword
                  (<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span>
                  <span class="special">=</span> <span class="special">...;</span></code>).
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_AUTO_MULTIDECLARATIONS</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support type deduction for multiple variables
                  declared with the <code class="computeroutput"><span class="keyword">auto</span></code>
                  keyword (<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span>
                  <span class="special">=</span> <span class="special">...,</span>
                  <span class="special">*</span><span class="identifier">ptr</span>
                  <span class="special">=</span> <span class="special">...;</span></code>).
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_CHAR16_T</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support type <code class="computeroutput"><span class="identifier">char16_t</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_CHAR32_T</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support type <code class="computeroutput"><span class="identifier">char32_t</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_CONCEPTS</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support Concepts.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATE_ALIASES</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support template aliases.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_CONSTEXPR</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support <code class="computeroutput"><span class="identifier">constexpr</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_DECLTYPE</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support <code class="computeroutput"><span class="identifier">decltype</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_DEFAULTED_FUNCTIONS</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support defaulted (<code class="computeroutput"><span class="special">=</span>
                  <span class="keyword">default</span></code>) functions.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_DELETED_FUNCTIONS</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support deleted (<code class="computeroutput"><span class="special">=</span>
                  <span class="keyword">delete</span></code>) functions.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_EXPLICIT_CONVERSION_OPERATORS</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support explicit conversion operators (<code class="computeroutput"><span class="keyword">explicit</span> <span class="keyword">operator</span>
                  <span class="identifier">T</span><span class="special">()</span></code>).
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_EXTERN_TEMPLATE</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support explicit instantiation forward declarations
                  for templates (<code class="computeroutput"><span class="keyword">extern</span> <span class="keyword">template</span> <span class="special">...</span></code>).
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support default template arguments for function
                  templates.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_INITIALIZER_LISTS</span></code>
                </p>
              </td>
<td>
                <p>
                  The C++ compiler does not support C++0x initializer lists.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_LAMBDAS</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support Lambdas.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_LONG_LONG</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support <code class="computeroutput"><span class="keyword">long</span>
                  <span class="keyword">long</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_NULLPTR</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support 'nullptr'.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_RAW_LITERALS</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support raw string literals.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_RVALUE_REFERENCES</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support r-value references.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_SCOPED_ENUMS</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support scoped enumerations (<code class="computeroutput"><span class="keyword">enum</span> <span class="keyword">class</span></code>).
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_STATIC_ASSERT</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support <code class="computeroutput"><span class="identifier">static_assert</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_UNORDERD</span></code>
                </p>
              </td>
<td>
                <p>
                  The standard library does not support &lt;unordered_map&gt; and
                  &lt;unordered_set&gt;.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATE_ALIASES</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support template aliases.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_UNICODE_LITERALS</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support Unicode (<code class="computeroutput"><span class="identifier">u8</span></code>,
                  <code class="computeroutput"><span class="identifier">u</span></code>, <code class="computeroutput"><span class="identifier">U</span></code>) literals.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_VARIADIC_TEMPLATES</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support variadic templates.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_VARIADIC_MACROS</span></code>
                </p>
              </td>
<td>
                <p>
                  The compiler does not support variadic macros.
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<a name="config_helpers"></a><p>
    </p>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.boost_helper_macros"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros" title="Boost Helper Macros">Boost
      Helper Macros</a>
</h3></div></div></div>
<p>
        The following macros are either simple helpers, or macros that provide workarounds
        for compiler/standard library defects.
      </p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Macro
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_WORKAROUND</span></code>
                </p>
              </td>
<td>
                <p>
                  This macro is used where a compiler specific workaround is required
                  that is not otherwise described by one of the other Boost.Config
                  macros. To use the macro you must first 
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">workaround</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<p>
                  usage is then: 
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#if</span> <span class="identifier">BOOST_WORKAROUND</span><span class="special">(</span><span class="identifier">MACRONAME</span><span class="special">,</span> <span class="identifier">CONDITION</span><span class="special">)</span>
   <span class="comment">// workaround code goes here...
</span><span class="preprocessor">#else</span>
   <span class="comment">// Standard conforming code goes here...
</span><span class="preprocessor">#endif</span>
</pre>
<p>
                  where <code class="computeroutput"><span class="identifier">MACRONAME</span></code>
                  is a macro that usually describes the version number to be tested
                  against, and <code class="computeroutput"><span class="identifier">CONDITION</span></code>
                  is a comparison operator followed by a value. For example <code class="computeroutput"><span class="identifier">BOOST_WORKAROUND</span><span class="special">(</span><span class="identifier">BOOST_INTEL</span><span class="special">,</span>
                  <span class="special">&lt;=</span> <span class="number">1010</span><span class="special">)</span></code> would evaluate to <code class="computeroutput"><span class="number">1</span></code> for Intel C++ 10.1 and earlier.
                </p>
                <p>
                  The macro can also be used with <code class="computeroutput"><span class="identifier">BOOST_TESTED_AT</span></code>
                  if all current compiler versions exhibit the issue, but the issue
                  is expected to be fixed at some later point.
                </p>
                <p>
                  For example <code class="computeroutput"><span class="identifier">BOOST_WORKAROUND</span><span class="special">(</span><span class="identifier">__BORLANDC__</span><span class="special">,</span> <span class="identifier">BOOST_TESTED_AT</span><span class="special">(</span><span class="number">0x590</span><span class="special">))</span></code> would normally evaluate to <code class="computeroutput"><span class="number">1</span></code> for all values of <code class="computeroutput"><span class="identifier">__BORLANDC__</span></code> <span class="emphasis"><em>unless</em></span>
                  the macro <code class="computeroutput"><span class="identifier">BOOST_DETECT_OUTDATED_WORKAROUNDS</span></code>
                  is defined, in which case evaluates to <code class="computeroutput"><span class="special">(</span><span class="identifier">__BORLANDC__</span> <span class="special">&lt;=</span>
                  <span class="number">0x590</span><span class="special">)</span></code>.
                </p>
                <p>
                  <span class="bold"><strong>Note</strong></span>: the ultimate source of documentation
                  for this macro is in <a href="../../../../../boost/detail/workaround.hpp" target="_top">boost/detail/workaround.hpp</a>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_DEDUCED_TYPENAME</span></code>
                </p>
              </td>
<td>
                <p>
                  Some compilers don't support the use of typename for dependent
                  types in deduced contexts. This macro expands to nothing on those
                  compilers, and typename elsewhere. For example, replace: <code class="computeroutput"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">void</span>
                  <span class="identifier">f</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span>
                  <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">type</span><span class="special">);</span></code> with: <code class="computeroutput"><span class="keyword">template</span>
                  <span class="special">&lt;</span><span class="keyword">class</span>
                  <span class="identifier">T</span><span class="special">&gt;</span>
                  <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">BOOST_DEDUCED_TYPENAME</span>
                  <span class="identifier">T</span><span class="special">::</span><span class="identifier">type</span><span class="special">);</span></code>
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HASH_MAP_HEADER</span></code>
                </p>
              </td>
<td>
                <p>
                  The header to include to get the SGI <code class="computeroutput"><span class="identifier">hash_map</span></code>
                  class. This macro is only available if <code class="computeroutput"><span class="identifier">BOOST_HAS_HASH</span></code>
                  is defined.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HASH_SET_HEADER</span></code>
                </p>
              </td>
<td>
                <p>
                  The header to include to get the SGI <code class="computeroutput"><span class="identifier">hash_set</span></code>
                  class. This macro is only available if <code class="computeroutput"><span class="identifier">BOOST_HAS_HASH</span></code>
                  is defined.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_SLIST_HEADER</span></code>
                </p>
              </td>
<td>
                <p>
                  The header to include to get the SGI <code class="computeroutput"><span class="identifier">slist</span></code>
                  class. This macro is only available if <code class="computeroutput"><span class="identifier">BOOST_HAS_SLIST</span></code>
                  is defined.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_STD_EXTENSION_NAMESPACE</span></code>
                </p>
              </td>
<td>
                <p>
                  The namespace used for std library extensions (hashtable classes
                  etc).
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">assignment</span><span class="special">)</span></code>
                </p>
              </td>
<td>
                <p>
                  On compilers which don't allow in-class initialization of static
                  integral constant members, we must use enums as a workaround if
                  we want the constants to be available at compile-time. This macro
                  gives us a convenient way to declare such constants. For example
                  instead of: 
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">struct</span> <span class="identifier">foo</span><span class="special">{</span>
   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<p>
                  use: 
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">struct</span> <span class="identifier">foo</span><span class="special">{</span>
   <span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">2</span><span class="special">);</span>
<span class="special">};</span>
</pre>
<p>
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_UNREACHABLE_RETURN</span><span class="special">(</span><span class="identifier">result</span><span class="special">)</span></code>
                </p>
              </td>
<td>
                <p>
                  Normally evaluates to nothing, but evaluates to return x; if the
                  compiler requires a return, even when it can never be reached.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_EXPLICIT_TEMPLATE_TYPE</span><span class="special">(</span><span class="identifier">t</span><span class="special">)</span></code> <code class="computeroutput"><span class="identifier">BOOST_EXPLICIT_TEMPLATE_NON_TYPE</span><span class="special">(</span><span class="identifier">t</span><span class="special">,</span><span class="identifier">v</span><span class="special">)</span></code> <code class="computeroutput"><span class="identifier">BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE</span><span class="special">(</span><span class="identifier">t</span><span class="special">)</span></code> <code class="computeroutput"><span class="identifier">BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE</span><span class="special">(</span><span class="identifier">t</span><span class="special">,</span><span class="identifier">v</span><span class="special">)</span></code>
                </p>
              </td>
<td>
                <p>
                  Some compilers silently "fold" different function template
                  instantiations if some of the template parameters don't appear
                  in the function parameter list. For instance: 
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">ostream</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">typeinfo</span><span class="special">&gt;</span>

<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="identifier">f</span><span class="special">()</span> <span class="special">{</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">n</span> <span class="special">&lt;&lt;</span> <span class="char">' '</span><span class="special">;</span> <span class="special">}</span>

<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="identifier">g</span><span class="special">()</span> <span class="special">{</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">).</span><span class="identifier">name</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">' '</span><span class="special">;</span> <span class="special">}</span>

<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
  <span class="identifier">f</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;();</span>
  <span class="identifier">f</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;();</span>

  <span class="identifier">g</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;();</span>
  <span class="identifier">g</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;();</span>
<span class="special">}</span>
</pre>
<p>
                  incorrectly outputs <code class="literal">2 2 double double</code> on VC++
                  6. These macros, to be used in the function parameter list, fix
                  the problem without effects on the calling syntax. For instance,
                  in the case above write: 
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">BOOST_EXPLICIT_TEMPLATE_NON_TYPE</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">n</span><span class="special">))</span> <span class="special">{</span> <span class="special">...</span> <span class="special">}</span>

<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="identifier">g</span><span class="special">(</span><span class="identifier">BOOST_EXPLICIT_TEMPLATE_TYPE</span><span class="special">(</span><span class="identifier">T</span><span class="special">))</span> <span class="special">{</span> <span class="special">...</span> <span class="special">}</span>
</pre>
<p>
                  Beware that they can declare (for affected compilers) a dummy defaulted
                  parameter, so they
                </p>
                <p>
                  <span class="bold"><strong>a)</strong></span> should be always invoked <span class="bold"><strong>at the end</strong></span> of the parameter list
                </p>
                <p>
                  <span class="bold"><strong>b)</strong></span> can't be used if your function
                  template is multiply declared.
                </p>
                <p>
                  Furthermore, in order to add any needed comma separator, an <code class="computeroutput"><span class="identifier">APPEND_</span><span class="special">*</span></code>
                  version must be used when the macro invocation appears after a
                  normal parameter declaration or after the invocation of another
                  macro of this same group.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_USE_FACET</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">loc</span><span class="special">)</span></code>
                </p>
              </td>
<td>
                <p>
                  When the standard library does not have a comforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">use_facet</span></code> there are various workarounds
                  available, but they differ from library to library. This macro
                  provides a consistent way to access a locale's facets. For example,
                  replace: <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">use_facet</span><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">&gt;(</span><span class="identifier">loc</span><span class="special">);</span></code>
                  with: <code class="computeroutput"><span class="identifier">BOOST_USE_FACET</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">loc</span><span class="special">);</span></code> Note do not add a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span></code>
                  prefix to the front of <code class="computeroutput"><span class="identifier">BOOST_USE_FACET</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_HAS_FACET</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">loc</span><span class="special">)</span></code>
                </p>
              </td>
<td>
                <p>
                  When the standard library does not have a comforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">has_facet</span></code> there are various workarounds
                  available, but they differ from library to library. This macro
                  provides a consistent way to check a locale's facets. For example,
                  replace: <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">has_facet</span><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">&gt;(</span><span class="identifier">loc</span><span class="special">);</span></code>
                  with: <code class="computeroutput"><span class="identifier">BOOST_HAS_FACET</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">loc</span><span class="special">);</span></code> Note do not add a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span></code>
                  prefix to the front of <code class="computeroutput"><span class="identifier">BOOST_HAS_FACET</span></code>.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NESTED_TEMPLATE</span></code>
                </p>
              </td>
<td>
                <p>
                  Member templates are supported by some compilers even though they
                  can't use the <code class="computeroutput"><span class="identifier">A</span><span class="special">::</span><span class="keyword">template</span>
                  <span class="identifier">member</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">&gt;</span></code>
                  syntax, as a workaround replace: <code class="computeroutput"><span class="keyword">typedef</span>
                  <span class="keyword">typename</span> <span class="identifier">A</span><span class="special">::</span><span class="keyword">template</span>
                  <span class="identifier">rebind</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">&gt;</span>
                  <span class="identifier">binder</span><span class="special">;</span></code>
                  with: <code class="computeroutput"><span class="keyword">typedef</span> <span class="keyword">typename</span>
                  <span class="identifier">A</span><span class="special">::</span><span class="identifier">BOOST_NESTED_TEMPLATE</span> <span class="identifier">rebind</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">&gt;</span> <span class="identifier">binder</span><span class="special">;</span></code>
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_STRINGIZE</span><span class="special">(</span><span class="identifier">X</span><span class="special">)</span></code>
                </p>
              </td>
<td>
                <p>
                  Converts the parameter <code class="computeroutput"><span class="identifier">X</span></code>
                  to a string after macro replacement on <code class="computeroutput"><span class="identifier">X</span></code>
                  has been performed.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_JOIN</span><span class="special">(</span><span class="identifier">X</span><span class="special">,</span><span class="identifier">Y</span><span class="special">)</span></code>
                </p>
              </td>
<td>
                <p>
                  This piece of macro magic joins the two arguments together, even
                  when one of the arguments is itself a macro (see 16.3.1 in C++
                  standard). This is normally used to create a mangled name in combination
                  with a predefined macro such a __LINE__.
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<a name="config_info_macros"></a><p>
    </p>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.boost_informational_macros"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros" title="Boost Informational Macros">Boost
      Informational Macros</a>
</h3></div></div></div>
<p>
        The following macros describe boost features; these are, generally speaking
        the only boost macros that should be tested in user code.
      </p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Macro
                </p>
              </th>
<th>
                <p>
                  Header
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_VERSION</span></code>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">version</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
                </p>
              </td>
<td>
                <p>
                  Describes the boost version number in XYYYZZ format such that:
                  <code class="computeroutput"><span class="special">(</span><span class="identifier">BOOST_VERSION</span>
                  <span class="special">%</span> <span class="number">100</span><span class="special">)</span></code> is the sub-minor version, <code class="computeroutput"><span class="special">((</span><span class="identifier">BOOST_VERSION</span>
                  <span class="special">/</span> <span class="number">100</span><span class="special">)</span> <span class="special">%</span> <span class="number">1000</span><span class="special">)</span></code>
                  is the minor version, and <code class="computeroutput"><span class="special">(</span><span class="identifier">BOOST_VERSION</span> <span class="special">/</span>
                  <span class="number">100000</span><span class="special">)</span></code>
                  is the major version.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_INT64_T</span></code>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdint</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>
                </p>
              </td>
<td>
                <p>
                  Defined if there are no 64-bit integral types: <code class="computeroutput"><span class="identifier">int64_t</span></code>,
                  <code class="computeroutput"><span class="identifier">uint64_t</span></code> etc.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_INTEGRAL_INT64_T</span></code>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdint</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>
                </p>
              </td>
<td>
                <p>
                  Defined if <code class="computeroutput"><span class="identifier">int64_t</span></code>
                  as defined by <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdint</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
                  is not usable in integral constant expressions.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_MSVC</span></code>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
                </p>
              </td>
<td>
                <p>
                  Defined if the compiler is really Microsoft Visual C++, as opposed
                  to one of the many other compilers that also define <code class="computeroutput"><span class="identifier">_MSC_VER</span></code>. Has the same value
                  as _MSC_VER.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_MSVC_FULL_VER</span></code>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
                </p>
              </td>
<td>
                <p>
                  Defined to a normalised 9 digit version of _MSC_FULL_VER (which
                  sometimes only has 8 digits), the macro has the form VVMMPPPPP
                  where VV is the major version number, MM is the minor version number,
                  and PPPPP is the compiler build number.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_INTEL</span></code>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
                </p>
              </td>
<td>
                <p>
                  Defined if the compiler is an Intel compiler, takes the same value
                  as the compiler version macro.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_CLANG</span></code>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
                </p>
              </td>
<td>
                <p>
                  Defined to 1 if the compiler is the Clang compiler.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_WINDOWS</span></code>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
                </p>
              </td>
<td>
                <p>
                  Defined if the Windows platfrom API is available.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_DINKUMWARE_STDLIB</span></code>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
                </p>
              </td>
<td>
                <p>
                  Defined if the dinkumware standard library is in use, takes the
                  same value as the Dinkumware library version macro <code class="computeroutput"><span class="identifier">_CPPLIB_VER</span></code> if defined, otherwise
                  1.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_NO_WREGEX</span></code>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">regex</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
                </p>
              </td>
<td>
                <p>
                  Defined if the regex library does not support wide character regular
                  expressions.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_COMPILER</span></code>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
                </p>
              </td>
<td>
                <p>
                  Defined as a string describing the name and version number of the
                  compiler in use. Mainly for debugging the configuration.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_STDLIB</span></code>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
                </p>
              </td>
<td>
                <p>
                  Defined as a string describing the name and version number of the
                  standard library in use. Mainly for debugging the configuration.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">BOOST_PLATFORM</span></code>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
                </p>
              </td>
<td>
                <p>
                  Defined as a string describing the name of the platform. Mainly
                  for debugging the configuration.
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code" title="Macros for libraries with separate source code">Macros
      for libraries with separate source code</a>
</h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.macros_controlling_shared_library_symbol_visibility">Macros
        controlling shared library symbol visibility</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing">ABI
        Fixing</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.automatic_library_selection">Automatic
        library selection</a></span></dt>
</dl></div>
<p>
        The following macros and helper headers are of use to authors whose libraries
        include separate source code, and are intended to address several issues:
      </p>
<div class="itemizedlist"><ul type="disc">
<li>
            Controlling shared library symbol visibility
          </li>
<li>
            Fixing the ABI of the compiled library
          </li>
<li>
            Selecting which compiled library to link against based upon the compilers
            settings
          </li>
</ul></div>
<p>
        See <a href="http://svn.boost.org/trac/boost/wiki/Guidelines/Separate" target="_top">Guidelines
        for Authors of Boost Libraries Containing Separate Source</a>
      </p>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.macros_controlling_shared_library_symbol_visibility"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.macros_controlling_shared_library_symbol_visibility" title="Macros controlling shared library symbol visibility">Macros
        controlling shared library symbol visibility</a>
</h4></div></div></div>
<p>
          Some compilers support C++ extensions that control which symbols will be
          exported from shared libraries such as dynamic shared objects (DSO's) on
          Unix-like systems or dynamic-link libraries (DLL's) on Windows.
        </p>
<p>
          The Microsoft VC++ compiler has long supplied <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllexport</span><span class="special">)</span></code> and <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllimport</span><span class="special">)</span></code> extensions for this purpose, as do virtually
          all other compilers targeting the Windows platform.
        </p>
<p>
          Modern versions of the GNU GCC compiler provide the <code class="computeroutput"><span class="identifier">__attribute__</span><span class="special">((</span><span class="identifier">visibility</span><span class="special">(</span><span class="string">"default"</span><span class="special">)))</span></code> extension to indicate that a symbol
          should be exported. All other symbols may be hidden by using the <code class="computeroutput"><span class="special">-</span><span class="identifier">fvisibility</span><span class="special">-</span><span class="identifier">hidden</span></code>
          or <code class="computeroutput"><span class="special">-</span><span class="identifier">fvisibility</span><span class="special">-</span><span class="identifier">ms</span><span class="special">-</span><span class="identifier">compat</span></code> compiler switches.
        </p>
<p>
          Boost supplies several macros to make it easier to manage symbol visibility
          in a way that is portable between compilers and operating systems.
        </p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                  <p>
                    Macro
                  </p>
                </th>
<th>
                  <p>
                    Description
                  </p>
                </th>
</tr></thead>
<tbody>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">BOOST_SYMBOL_EXPORT</span></code>
                  </p>
                </td>
<td>
                  <p>
                    Defines the syntax of a C++ language extension that indicates
                    a symbol is to be exported from a shared library. If the compiler
                    has no such extension, the macro is defined with no replacement
                    text.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">BOOST_SYMBOL_IMPORT</span></code>
                  </p>
                </td>
<td>
                  <p>
                    Defines the syntax of a C++ language extension that indicates
                    a symbol is to be imported from a shared library. If the compiler
                    has no such extension, the macro is defined with no replacement
                    text.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">BOOST_SYMBOL_VISIBLE</span></code>
                  </p>
                </td>
<td>
                  <p>
                    Defines the syntax of a C++ language extension that indicates
                    a symbol is to be globally visible. If the compiler has no such
                    extension, the macro is defined with no replacement text. Needed
                    for classes that are not otherwise exported, but are used by
                    RTTI. Examples include class for objects that will be thrown
                    as exceptions or used in dynamic_casts, across shared library
                    boundaries. For example, a header-only exception class might
                    look like this: 
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">class</span> <span class="identifier">BOOST_SYMBOL_VISIBLE</span> <span class="identifier">my_exception</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">runtime_error</span> <span class="special">{</span> <span class="special">...</span> <span class="special">};</span>
</pre>
<p>
                    Without BOOST_SYMBOL_VISIBLE, it would be impossible to catch
                    my_exception thrown from a shared library compiled by GCC with
                    the -fvisibility=hidden option.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">BOOST_HAS_DECLSPEC</span></code>
                  </p>
                </td>
<td>
                  <p>
                    The compiler has C++ extensions <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllexport</span><span class="special">)</span></code> and <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllimport</span><span class="special">)</span></code> to control export/import of
                    symbols from shared libraries. <span class="emphasis"><em>Deprecated. This macro
                    is no longer necessary since BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT
                    are now supplied. It is provided to support legacy code.</em></span>
                  </p>
                </td>
</tr>
</tbody>
</table></div>
<p>
          Typical usage:
        </p>
<p>
          <span class="bold"><strong>boost/foo/config.hpp</strong></span>
        </p>
<pre class="programlisting"><span class="special">...</span>
<span class="preprocessor">#if</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_ALL_DYN_LINK</span><span class="special">)</span> <span class="special">||</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_FOO_DYN_LINK</span><span class="special">)</span>
<span class="preprocessor"># if</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_FOO_SOURCE</span><span class="special">)</span>
<span class="preprocessor">#   define</span> <span class="identifier">BOOST_FOO_DECL</span> <span class="identifier">BOOST_SYMBOL_EXPORT</span>
<span class="preprocessor"># else</span> 
<span class="preprocessor">#   define</span> <span class="identifier">BOOST_FOO_DECL</span> <span class="identifier">BOOST_SYMBOL_IMPORT</span>
<span class="preprocessor"># endif</span>
<span class="preprocessor">#else</span>
<span class="preprocessor"># define</span> <span class="identifier">BOOST_FOO_DECL</span>
<span class="preprocessor">#endif</span>
<span class="special">...</span>
</pre>
<p>
          <span class="bold"><strong>boost/foo/foo.hpp</strong></span>
        </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">foo</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="special">...</span>
<span class="keyword">class</span> <span class="identifier">BOOST_FOO_DECL</span> <span class="identifier">bar</span> <span class="special">{</span> <span class="special">...</span> <span class="special">};</span>
<span class="special">...</span>
<span class="keyword">void</span> <span class="identifier">BOOST_FOO_DECL</span> <span class="identifier">f</span><span class="special">();</span>
<span class="special">...</span>
</pre>
<p>
          <span class="bold"><strong>boost/libs/foo/src/foo.cpp</strong></span>
        </p>
<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_FOO_SOURCE</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">foo</span><span class="special">/</span><span class="identifier">foo</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>    
<span class="special">...</span>
<span class="keyword">void</span> <span class="identifier">BOOST_FOO_DECL</span> <span class="identifier">f</span><span class="special">()</span>
<span class="special">{</span>
  <span class="special">...</span>
<span class="special">}</span>
<span class="special">...</span>
</pre>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing" title="ABI Fixing">ABI
        Fixing</a>
</h4></div></div></div>
<p>
          When linking against a pre-compiled library it vital that the ABI used
          by the compiler when building the library <span class="emphasis"><em>matches exactly</em></span>
          the ABI used by the code using the library. In this case ABI means things
          like the struct packing arrangement used, the name mangling scheme used,
          or the size of some types (enum types for example). This is separate from
          things like threading support, or runtime library variations, which have
          to be dealt with by build variants. To put this in perspective there is
          one compiler (Borland's) that has so many compiler options that make subtle
          changes to the ABI, that at least in theory there 3200 combinations, and
          that's without considering runtime library variations. Fortunately these
          variations can be managed by <code class="computeroutput"><span class="preprocessor">#pragma</span></code>'s
          that tell the compiler what ABI to use for the types declared in your library.
          In order to avoid sprinkling <code class="computeroutput"><span class="preprocessor">#pragma</span></code>'s
          all over the boost headers, there are some prefix and suffix headers that
          do the job. Typical usage is:
        </p>
<p>
          <span class="bold"><strong>my_library.hpp</strong></span>
        </p>
<pre class="programlisting"><span class="preprocessor">#ifndef</span> <span class="identifier">MY_INCLUDE_GUARD</span>
<span class="preprocessor">#define</span> <span class="identifier">MY_INCLUDE_GUARD</span>

<span class="comment">// all includes go here:
</span><code class="literal"><span class="bold"><strong>#include &lt;boost/config.hpp&gt;</strong></span></code>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">whatever</span><span class="special">&gt;</span>

<code class="literal"><span class="bold"><strong>#include &lt;boost/config/abi_prefix.hpp&gt;</strong></span></code> <span class="comment">// must be the last #include
</span>
<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>

<span class="comment">// your code goes here
</span>
<span class="special">}</span>

<code class="literal"><span class="bold"><strong>#include &lt;boost/config/abi_suffix.hpp&gt;</strong></span></code> <span class="comment">// pops abi_prefix.hpp pragmas
</span>
<span class="preprocessor">#endif</span> <span class="comment">// include guard
</span></pre>
<p>
          <span class="bold"><strong>my_library.cpp</strong></span>
        </p>
<pre class="programlisting"><span class="special">...</span>
<span class="comment">// nothing special need be done in the implementation file
</span><span class="special">...</span>
</pre>
<p>
          The user can disable this mechanism by defining <code class="computeroutput"><span class="identifier">BOOST_DISABLE_ABI_HEADERS</span></code>,
          or they can define <code class="computeroutput"><span class="identifier">BOOST_ABI_PREFIX</span></code>
          and/or <code class="computeroutput"><span class="identifier">BOOST_ABI_SUFFIX</span></code>
          to point to their own prefix/suffix headers if they so wish.
        </p>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.automatic_library_selection"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.automatic_library_selection" title="Automatic library selection">Automatic
        library selection</a>
</h4></div></div></div>
<p>
          It is essential that users link to a build of a library which was built
          against the same runtime library that their application will be built against
          -if this does not happen then the library will not be binary compatible
          with their own code- and there is a high likelihood that their application
          will experience runtime crashes. These kinds of problems can be extremely
          time consuming and difficult to debug, and often lead to frustrated users
          and authors alike (simply selecting the right library to link against is
          not as easy as it seems when their are 6-8 of them to chose from, and some
          users seem to be blissfully unaware that there even are different runtimes
          available to them).
        </p>
<p>
          To solve this issue, some compilers allow source code to contain <code class="computeroutput"><span class="preprocessor">#pragma</span></code>'s that instruct the linker
          which library to link against, all the user need do is include the headers
          they need, place the compiled libraries in their library search path, and
          the compiler and linker do the rest. Boost.config supports this via the
          header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">auto_link</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>, before including this header one or
          more of the following macros need to be defined:
        </p>
<div class="variablelist">
<p class="title"><b></b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">BOOST_LIB_NAME</span></code></span></dt>
<dd><p>
                Required: An identifier containing the basename of the library, for
                example 'boost_regex'.
              </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">BOOST_DYN_LINK</span></code></span></dt>
<dd><p>
                Optional: when set link to dll rather than static library.
              </p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">BOOST_LIB_DIAGNOSTIC</span></code></span></dt>
<dd><p>
                Optional: when set the header will print out the name of the library
                selected (useful for debugging).
              </p></dd>
</dl>
</div>
<p>
          If the compiler supports this mechanism, then it will be told to link against
          the appropriately named library, the actual algorithm used to mangle the
          name of the library is documented inside <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">auto_link</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
          and has to match that used to create the libraries via bjam 's install
          rules.
        </p>
<p>
          <span class="bold"><strong>my_library.hpp</strong></span>
        </p>
<pre class="programlisting"><span class="special">...</span>
<span class="comment">//
</span><span class="comment">// Don't include auto-linking code if the user has disabled it by
</span><span class="comment">// defining BOOST_ALL_NO_LIB, or BOOST_MY_LIBRARY_NO_LIB, or if this 
</span><span class="comment">// is one of our own source files (signified by BOOST_MY_LIBRARY_SOURCE):
</span><span class="comment">//
</span><span class="preprocessor">#if</span> <span class="special">!</span><span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_ALL_NO_LIB</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_MY_LIBRARY_NO_LIB</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_MY_LIBRARY_SOURCE</span><span class="special">)</span>
<span class="preprocessor">#  define</span> <span class="identifier">BOOST_LIB_NAME</span> <span class="identifier">boost_my_library</span>
<span class="preprocessor">#  ifdef</span> <span class="identifier">BOOST_MY_LIBRARY_DYN_LINK</span>
<span class="preprocessor">#     define</span> <span class="identifier">BOOST_DYN_LINK</span>
<span class="preprocessor">#  endif</span>
<span class="preprocessor">#  include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">auto_link</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#endif</span>
<span class="special">...</span>
</pre>
<p>
          <span class="bold"><strong>my_library.cpp</strong></span>
        </p>
<pre class="programlisting"><span class="comment">// define BOOST_MY_LIBRARY_SOURCE so that the header knows that the
</span><span class="comment">// library is being built (possibly exporting rather than importing code)
</span><span class="comment">//
</span><span class="preprocessor">#define</span> <span class="identifier">BOOST_MY_LIBRARY_SOURCE</span>

<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">my_library</span><span class="special">/</span><span class="identifier">my_library</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="special">...</span>
</pre>
</div>
</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; 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock<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="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
