mirror of
https://github.com/boostorg/more.git
synced 2024-12-26 23:30:29 +08:00
Merged L & C issue fixes & HTML conversions from trunk to branch.
[SVN r36262]
This commit is contained in:
parent
f82cba6fb5
commit
26e20ccb9a
378
borland_cpp.html
378
borland_cpp.html
@ -1,103 +1,111 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Language" content="en-us">
|
||||||
<title>Portability Hints: Borland C++ 5.5.1</title>
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||||
|
|
||||||
|
<title>Portability Hints: Borland C++ 5.5.1</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body bgcolor="#FFFFFF" text="#000000">
|
<body bgcolor="#FFFFFF" text="#000000">
|
||||||
|
<table border="1" bgcolor="#007F7F" cellpadding="2" summary="">
|
||||||
<table border="1" bgcolor="#007F7F" cellpadding="2">
|
|
||||||
<tr>
|
<tr>
|
||||||
<td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
|
<td bgcolor="#FFFFFF"><img src="../boost.png" alt=
|
||||||
<td><a href="../index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Home</big></font></a></td>
|
"boost.png (6897 bytes)" width="277" height="86"></td>
|
||||||
<td><a href="../libs/libraries.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Libraries</big></font></a></td>
|
|
||||||
<td><a href="../people/people.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>People</big></font></a></td>
|
<td><a href="../index.htm"><font face="Arial,Helvetica" color=
|
||||||
<td><a href="faq.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>FAQ</big></font></a></td>
|
"#FFFFFF"><big>Home</big></font></a></td>
|
||||||
<td><a href="index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>More</big></font></a></td>
|
|
||||||
|
<td><a href="../libs/libraries.htm"><font face="Arial,Helvetica" color=
|
||||||
|
"#FFFFFF"><big>Libraries</big></font></a></td>
|
||||||
|
|
||||||
|
<td><a href="../people/people.htm"><font face="Arial,Helvetica" color=
|
||||||
|
"#FFFFFF"><big>People</big></font></a></td>
|
||||||
|
|
||||||
|
<td><a href="faq.htm"><font face="Arial,Helvetica" color=
|
||||||
|
"#FFFFFF"><big>FAQ</big></font></a></td>
|
||||||
|
|
||||||
|
<td><a href="index.htm"><font face="Arial,Helvetica" color=
|
||||||
|
"#FFFFFF"><big>More</big></font></a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<p>
|
<h1>Portability Hints: Borland C++ 5.5.1</h1>
|
||||||
|
|
||||||
<h1>Portability Hints: Borland C++ 5.5.1</h1>
|
<p>It is a general aim for boost libraries to be <a href=
|
||||||
|
"lib_guide.htm#Portability">portable</a>. The primary means for achieving
|
||||||
|
this goal is to adhere to ISO Standard C++. However, ISO C++ is a broad and
|
||||||
|
complex standard and most compilers are not fully conformant to ISO C++
|
||||||
|
yet. In order to achieve portability in the light of this restriction, it
|
||||||
|
seems advisable to get acquainted with those language features that some
|
||||||
|
compilers do not fully implement yet.</p>
|
||||||
|
|
||||||
It is a general aim for boost libraries to be
|
<p>This page gives portability hints on some language features of the
|
||||||
<a href="lib_guide.htm#Portability">portable</a>. The primary means
|
Borland C++ version 5.5.1 compiler. Furthermore, the appendix presents
|
||||||
for achieving this goal is to adhere to ISO Standard C++. However,
|
additional problems with Borland C++ version 5.5. Borland C++ 5.5.1 is a
|
||||||
ISO C++ is a broad and complex standard and most compilers are
|
freely available command-line compiler for Win32 available at <a href=
|
||||||
not fully conformant to ISO C++ yet. In order to achieve portability
|
"http://www.borland.com/">http://www.borland.com/</a>.</p>
|
||||||
in the light of this restriction, it seems advisable to get acquainted
|
|
||||||
with those language features that some compilers do not fully
|
|
||||||
implement yet.
|
|
||||||
<p>
|
|
||||||
|
|
||||||
This page gives portability hints on some language features of the
|
<p>Each entry in the following list describes a particular issue, complete
|
||||||
Borland C++ version 5.5.1 compiler. Furthermore, the appendix
|
with sample source code to demonstrate the effect. Most sample code herein
|
||||||
presents additional problems with Borland C++ version 5.5. Borland
|
has been verified to compile with gcc 2.95.2 and Comeau C++ 4.2.44.</p>
|
||||||
C++ 5.5.1 is a freely available command-line compiler for Win32
|
|
||||||
available at
|
|
||||||
<a href="http://www.borland.com/">http://www.borland.com/</a>.
|
|
||||||
<p>
|
|
||||||
|
|
||||||
Each entry in the following list describes a particular issue,
|
<h2>Preprocessor symbol</h2>
|
||||||
complete with sample source code to demonstrate the effect.
|
|
||||||
Most sample code herein has been verified to compile with gcc 2.95.2
|
|
||||||
and Comeau C++ 4.2.44.
|
|
||||||
|
|
||||||
|
<p>The preprocessor symbol <code>__BORLANDC__</code> is defined for all
|
||||||
|
Borland C++ compilers. Its value is the version number of the compiler
|
||||||
|
interpreted as a hexadecimal number. The following table lists some known
|
||||||
|
values.</p>
|
||||||
|
|
||||||
<h2>Preprocessor symbol</h2>
|
<table border="1" summary="">
|
||||||
|
<tr>
|
||||||
|
<th>Compiler</th>
|
||||||
|
|
||||||
The preprocessor symbol <code>__BORLANDC__</code> is defined for all
|
<th><code>__BORLANDC__</code> value</th>
|
||||||
Borland C++ compilers. Its value is the version number of the
|
</tr>
|
||||||
compiler interpreted as a hexadecimal number. The following table
|
|
||||||
lists some known values.
|
|
||||||
<p>
|
|
||||||
|
|
||||||
<table border="1">
|
<tr>
|
||||||
<tr>
|
<td>Borland C++ Builder 4</td>
|
||||||
<th>Compiler</th>
|
|
||||||
<th><code>__BORLANDC__</code> value</th>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
<td>0x0540</td>
|
||||||
<td>Borland C++ Builder 4</td>
|
</tr>
|
||||||
<td>0x0540</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Borland C++ Builder 5</td>
|
<td>Borland C++ Builder 5</td>
|
||||||
<td>0x0550</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
<td>0x0550</td>
|
||||||
<td>Borland C++ 5.5</td>
|
</tr>
|
||||||
<td>0x0550</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Borland C++ 5.5.1</td>
|
<td>Borland C++ 5.5</td>
|
||||||
<td>0x0551</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
<td>0x0550</td>
|
||||||
<td>Borland C++ Builder 6</td>
|
</tr>
|
||||||
<td>0x0560</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
</table>
|
<tr>
|
||||||
|
<td>Borland C++ 5.5.1</td>
|
||||||
|
|
||||||
<h2>Core Language</h2>
|
<td>0x0551</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<h3>[using-directive] Mixing <code>using</code>-declarations and
|
<tr>
|
||||||
<code>using</code>-directives</h3>
|
<td>Borland C++ Builder 6</td>
|
||||||
|
|
||||||
Mixing <code>using</code>-directives (which refer to whole namespaces)
|
<td>0x0560</td>
|
||||||
and namespace-level <code>using</code>-declarations (which refer to
|
</tr>
|
||||||
individual identifiers within foreign namespaces) causes ambiguities
|
</table>
|
||||||
where there are none. The following code fragment illustrates this:
|
|
||||||
|
|
||||||
<pre>
|
<h2>Core Language</h2>
|
||||||
|
|
||||||
|
<h3>[using-directive] Mixing <code>using</code>-declarations and
|
||||||
|
<code>using</code>-directives</h3>
|
||||||
|
|
||||||
|
<p>Mixing <code>using</code>-directives (which refer to whole namespaces)
|
||||||
|
and namespace-level <code>using</code>-declarations (which refer to
|
||||||
|
individual identifiers within foreign namespaces) causes ambiguities where
|
||||||
|
there are none. The following code fragment illustrates this:</p>
|
||||||
|
<pre>
|
||||||
namespace N {
|
namespace N {
|
||||||
int x();
|
int x();
|
||||||
}
|
}
|
||||||
@ -111,15 +119,13 @@ int main()
|
|||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
<h3>[using template] <code>using</code>-declarations for class
|
||||||
|
templates</h3>
|
||||||
|
|
||||||
<h3>[using template] <code>using</code>-declarations for class
|
<p>Identifiers for class templates can be used as arguments to
|
||||||
templates</h3>
|
<code>using</code>-declarations as any other identifier. However, the
|
||||||
|
following code fails to compile with Borland C++:</p>
|
||||||
Identifiers for class templates can be used as arguments to
|
<pre>
|
||||||
<code>using</code>-declarations as any other identifier. However, the
|
|
||||||
following code fails to compile with Borland C++:
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
template<class T>
|
template<class T>
|
||||||
class X { };
|
class X { };
|
||||||
|
|
||||||
@ -130,14 +136,12 @@ namespace N
|
|||||||
};
|
};
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
<h3>[template const arg] Deduction of constant arguments to function
|
||||||
|
templates</h3>
|
||||||
|
|
||||||
<h3>[template const arg] Deduction of constant arguments to function
|
<p>Template function type deduction should omit top-level constness.
|
||||||
templates</h3>
|
However, this code fragment instantiates "f<const int>(int)":</p>
|
||||||
|
<pre>
|
||||||
Template function type deduction should omit top-level constness.
|
|
||||||
However, this code fragment instantiates "f<const int>(int)":
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
template<class T>
|
template<class T>
|
||||||
void f(T x)
|
void f(T x)
|
||||||
{
|
{
|
||||||
@ -155,16 +159,11 @@ int main()
|
|||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
The boost/rational.hpp header exhibits this problem in connection with
|
<h3>[function address] Resolving addresses of overloaded functions</h3>
|
||||||
the gcd() function.
|
|
||||||
|
|
||||||
|
<p>Addresses of overloaded functions are not in all contexts properly
|
||||||
<h3>[function address] Resolving addresses of overloaded
|
resolved (std:13.4 [over.over]); here is a small example:</p>
|
||||||
functions</h3>
|
<pre>
|
||||||
|
|
||||||
Addresses of overloaded functions are not in all contexts properly
|
|
||||||
resolved (std:13.4 [over.over]); here is a small example:
|
|
||||||
<pre>
|
|
||||||
template<class Arg>
|
template<class Arg>
|
||||||
void f( void(*g)(Arg) );
|
void f( void(*g)(Arg) );
|
||||||
|
|
||||||
@ -191,17 +190,16 @@ int main()
|
|||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<strong>Workaround:</strong> Always use C-style casts when determining
|
<p><strong>Workaround:</strong> Always use C-style casts when determining
|
||||||
addresses of (potentially) overloaded functions.
|
addresses of (potentially) overloaded functions.</p>
|
||||||
|
|
||||||
<h3>[string conversion] Converting <code>const char *</code> to
|
<h3>[string conversion] Converting <code>const char *</code> to
|
||||||
<code>std::string</code></h3>
|
<code>std::string</code></h3>
|
||||||
|
|
||||||
Implicitly converting <code>const char *</code> parameters to
|
<p>Implicitly converting <code>const char *</code> parameters to
|
||||||
<code>std::string</code> arguments fails if template functions are
|
<code>std::string</code> arguments fails if template functions are
|
||||||
explicitly instantiated (it works in the usual cases, though):
|
explicitly instantiated (it works in the usual cases, though):</p>
|
||||||
|
<pre>
|
||||||
<pre>
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
@ -215,22 +213,19 @@ int main()
|
|||||||
|
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<strong>Workaround:</strong> Avoid explicit template function
|
<p><strong>Workaround:</strong> Avoid explicit template function
|
||||||
instantiations (they have significant problems with Microsoft Visual
|
instantiations (they have significant problems with Microsoft Visual C++)
|
||||||
C++) and pass default-constructed unused dummy arguments with the
|
and pass default-constructed unused dummy arguments with the appropriate
|
||||||
appropriate type. Alternatively, if you wish to keep to the explicit
|
type. Alternatively, if you wish to keep to the explicit instantiation, you
|
||||||
instantiation, you could use an explicit conversion to
|
could use an explicit conversion to <code>std::string</code> or declare the
|
||||||
<code>std::string</code> or declare the template function as taking a
|
template function as taking a <code>const char *</code> parameter.</p>
|
||||||
<code>const char *</code> parameter.
|
|
||||||
|
|
||||||
|
<h3>[template value defaults] Dependent default arguments for template
|
||||||
|
value parameters</h3>
|
||||||
|
|
||||||
<h3>[template value defaults] Dependent default arguments for template
|
<p>Template value parameters which default to an expression dependent on
|
||||||
value parameters</h3>
|
previous template parameters don't work:</p>
|
||||||
|
<pre>
|
||||||
Template value parameters which default to an expression dependent on
|
|
||||||
previous template parameters don't work:
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
template<class T>
|
template<class T>
|
||||||
struct A
|
struct A
|
||||||
{
|
{
|
||||||
@ -248,33 +243,29 @@ int main()
|
|||||||
|
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
<p><strong>Workaround:</strong> If the relevant non-type template parameter
|
||||||
|
is an implementation detail, use inheritance and a fully qualified
|
||||||
|
identifier (for example, ::N::A<T>::value).</p>
|
||||||
|
|
||||||
<strong>Workaround:</strong> If the relevant non-type template
|
<h3>[function partial ordering] Partial ordering of function templates</h3>
|
||||||
parameter is an implementation detail, use inheritance and a fully
|
|
||||||
qualified identifier (for example, ::N::A<T>::value).
|
|
||||||
|
|
||||||
|
<p>Partial ordering of function templates, as described in std:14.5.5.2
|
||||||
<h3>[function partial ordering] Partial ordering of function
|
[temp.func.order], does not work:</p>
|
||||||
templates</h3>
|
<pre>
|
||||||
|
|
||||||
Partial ordering of function templates, as described in std:14.5.5.2
|
|
||||||
[temp.func.order], does not work:
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
template<class T> struct A {};
|
template<class T> struct A {};
|
||||||
|
|
||||||
template<class T1>
|
template<class T1>
|
||||||
void f(const A<T1> &)
|
void f(const A<T1> &)
|
||||||
{
|
{
|
||||||
std::cout << "f(const A<T1>&)\n";
|
std::cout << "f(const A<T1>&)\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
void f(T)
|
void f(T)
|
||||||
{
|
{
|
||||||
std::cout << "f(T)\n";
|
std::cout << "f(T)\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
@ -285,16 +276,16 @@ int main()
|
|||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<strong>Workaround:</strong> Declare all such functions uniformly as
|
<p><strong>Workaround:</strong> Declare all such functions uniformly as
|
||||||
either taking a value or a reference parameter.
|
either taking a value or a reference parameter.</p>
|
||||||
|
|
||||||
|
<h3>[instantiate memfun ptr] Instantiation with member function
|
||||||
|
pointer</h3>
|
||||||
|
|
||||||
<h3>[instantiate memfun ptr] Instantiation with member function pointer</h3>
|
<p>When directly instantiating a template with some member function
|
||||||
|
pointer, which is itself dependent on some template parameter, the compiler
|
||||||
When directly instantiating a template with some member function
|
cannot cope:</p>
|
||||||
pointer, which is itself dependent on some template parameter, the
|
<pre>
|
||||||
compiler cannot cope:
|
|
||||||
<pre>
|
|
||||||
template<class U> class C { };
|
template<class U> class C { };
|
||||||
template<class T>
|
template<class T>
|
||||||
class A
|
class A
|
||||||
@ -303,9 +294,9 @@ class A
|
|||||||
};
|
};
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<strong>Workaround:</strong> Use an intermediate <code>typedef</code>:
|
<p><strong>Workaround:</strong> Use an intermediate
|
||||||
|
<code>typedef</code>:</p>
|
||||||
<pre>
|
<pre>
|
||||||
template<class U> class C { };
|
template<class U> class C { };
|
||||||
template<class T>
|
template<class T>
|
||||||
class A
|
class A
|
||||||
@ -315,20 +306,16 @@ class A
|
|||||||
};
|
};
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
(Extracted from e-mail exchange of David Abrahams, Fernando Cacciola,
|
<p>(Extracted from e-mail exchange of David Abrahams, Fernando Cacciola,
|
||||||
and Peter Dimov; not actually tested.)
|
and Peter Dimov; not actually tested.)</p>
|
||||||
|
|
||||||
|
<h2>Library</h2>
|
||||||
|
|
||||||
<h2>Library</h2>
|
<h3>[cmath.abs] Function <code>double std::abs(double)</code> missing</h3>
|
||||||
|
|
||||||
|
<p>The function <code>double std::abs(double)</code> should be defined
|
||||||
<h3>[cmath.abs] Function <code>double std::abs(double)</code>
|
(std:26.5-5 [lib.c.math]), but it is not:</p>
|
||||||
missing</h3>
|
<pre>
|
||||||
|
|
||||||
The function <code>double std::abs(double)</code> should be defined
|
|
||||||
(std:26.5-5 [lib.c.math]), but it is not:
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
@ -337,40 +324,39 @@ int main()
|
|||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
Note that <code>int std::abs(int)</code> will be used without warning
|
<p>Note that <code>int std::abs(int)</code> will be used without warning if
|
||||||
if you write <code>std::abs(5.1)</code>.
|
you write <code>std::abs(5.1)</code>.</p>
|
||||||
<p>
|
|
||||||
Similar remarks apply to seemingly all of the other standard math
|
|
||||||
functions, where Borland C++ fails to provide <code>float</code> and
|
|
||||||
<code>long double</code> overloads.
|
|
||||||
<p>
|
|
||||||
<strong>Workaround:</strong> Use <code>std::fabs</code> instead if
|
|
||||||
type genericity is not required.
|
|
||||||
|
|
||||||
<h2>Appendix: Additional issues with Borland C++ version 5.5</h2>
|
<p>Similar remarks apply to seemingly all of the other standard math
|
||||||
|
functions, where Borland C++ fails to provide <code>float</code> and
|
||||||
|
<code>long double</code> overloads.</p>
|
||||||
|
|
||||||
These issues are documented mainly for historic reasons. If you are
|
<p><strong>Workaround:</strong> Use <code>std::fabs</code> instead if type
|
||||||
still using Borland C++ version 5.5, you are strongly encouraged to
|
genericity is not required.</p>
|
||||||
obtain an upgrade to version 5.5.1, which fixes the issues described
|
|
||||||
in this section.
|
|
||||||
|
|
||||||
<h3>[inline friend] Inline friend functions in template classes</h3>
|
<h2>Appendix: Additional issues with Borland C++ version 5.5</h2>
|
||||||
|
|
||||||
If a friend function of some class has not been declared before the
|
<p>These issues are documented mainly for historic reasons. If you are
|
||||||
friend function declaration, the function is declared at the namespace
|
still using Borland C++ version 5.5, you are strongly encouraged to obtain
|
||||||
scope surrounding the class definition. Together with class templates
|
an upgrade to version 5.5.1, which fixes the issues described in this
|
||||||
and inline definitions of friend functions, the code in the following
|
section.</p>
|
||||||
fragment should declare (and define) a non-template function "bool
|
|
||||||
N::f(int,int)", which is a friend of class N::A<int>. However,
|
|
||||||
Borland C++ v5.5 expects the function f to be declared beforehand:
|
|
||||||
|
|
||||||
<pre>
|
<h3>[inline friend] Inline friend functions in template classes</h3>
|
||||||
|
|
||||||
|
<p>If a friend function of some class has not been declared before the
|
||||||
|
friend function declaration, the function is declared at the namespace
|
||||||
|
scope surrounding the class definition. Together with class templates and
|
||||||
|
inline definitions of friend functions, the code in the following fragment
|
||||||
|
should declare (and define) a non-template function "bool N::f(int,int)",
|
||||||
|
which is a friend of class N::A<int>. However, Borland C++ v5.5
|
||||||
|
expects the function f to be declared beforehand:</p>
|
||||||
|
<pre>
|
||||||
namespace N {
|
namespace N {
|
||||||
template<class T>
|
template<class T>
|
||||||
class A
|
class A
|
||||||
{
|
{
|
||||||
// "f is not a member of 'N' in function main()"
|
// "f is not a member of 'N' in function main()"
|
||||||
friend bool f(T x, T y) { return x < y; }
|
friend bool f(T x, T y) { return x < y; }
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -380,19 +366,29 @@ int main()
|
|||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
This technique is extensively used in boost/operators.hpp. Giving in
|
<p>This technique is extensively used in boost/operators.hpp. Giving in to
|
||||||
to the wish of the compiler doesn't work in this case, because then
|
the wish of the compiler doesn't work in this case, because then the
|
||||||
the "instantiate one template, get lots of helper functions at
|
"instantiate one template, get lots of helper functions at namespace scope"
|
||||||
namespace scope" approach doesn't work anymore. Defining
|
approach doesn't work anymore. Defining BOOST_NO_OPERATORS_IN_NAMESPACE (a
|
||||||
BOOST_NO_OPERATORS_IN_NAMESPACE (a define
|
define BOOST_NO_INLINE_FRIENDS_IN_CLASS_TEMPLATES would match this case
|
||||||
BOOST_NO_INLINE_FRIENDS_IN_CLASS_TEMPLATES would match this case
|
better) works around this problem and leads to another one, see
|
||||||
better) works around this problem and leads to another one, see
|
[using-template].</p>
|
||||||
[using-template].
|
<hr>
|
||||||
|
|
||||||
<p>
|
<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
|
||||||
|
"http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
|
||||||
|
height="31" width="88"></a></p>
|
||||||
|
|
||||||
<hr>
|
<p>Revised
|
||||||
|
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->03
|
||||||
|
December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38512" --></p>
|
||||||
|
|
||||||
2000-09-30 <a href="../people/jens_maurer.htm">Jens Maurer</a>
|
<p><i>Copyright © 2000-2002 <a href="../people/jens_maurer.htm">Jens
|
||||||
|
Maurer</a></i></p>
|
||||||
|
|
||||||
|
<p><i>Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy
|
||||||
|
at <a href=
|
||||||
|
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
1406
count_bdy.htm
1406
count_bdy.htm
File diff suppressed because it is too large
Load Diff
@ -2,17 +2,17 @@
|
|||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta name="generator" content=
|
<meta http-equiv="Content-Language" content="en-us">
|
||||||
"HTML Tidy for Cygwin (vers 1st September 2004), see www.w3.org">
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
|
||||||
|
<meta name="generator" content="Microsoft FrontPage 6.0">
|
||||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||||
|
|
||||||
<title>Boost Discussion Policy</title>
|
<title>Boost Discussion Policy</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body bgcolor="#FFFFFF" text="#000000">
|
<body bgcolor="#FFFFFF" text="#000000">
|
||||||
<table border="1" bgcolor="#007F7F" cellpadding="2">
|
<table border="1" bgcolor="#007F7F" cellpadding="2" summary="">
|
||||||
<tr>
|
<tr>
|
||||||
<td bgcolor="#FFFFFF"><img src="../boost.png" alt=
|
<td bgcolor="#FFFFFF"><img src="../boost.png" alt=
|
||||||
"boost.png (6897 bytes)" width="277" height="86"></td>
|
"boost.png (6897 bytes)" width="277" height="86"></td>
|
||||||
@ -153,7 +153,6 @@
|
|||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>
|
<pre>
|
||||||
|
|
||||||
<i>Person-you're-replying-to</i> wrote:
|
<i>Person-you're-replying-to</i> wrote:
|
||||||
|
|
||||||
> Some part of a paragraph that you wish to reply to goes
|
> Some part of a paragraph that you wish to reply to goes
|
||||||
@ -309,15 +308,16 @@ Your response to the second part of the message goes here.
|
|||||||
far."</li>
|
far."</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>Avoid Parkinson's Bicycle Shed. Parkinson described a committee formed
|
<p>Avoid <i><b>Parkinson's Bicycle Shed</b></i>. Parkinson described a
|
||||||
to oversee design of an early nuclear power plant. There were three agenda
|
committee formed to oversee design of an early nuclear power plant. There
|
||||||
items - when to have tea, where to put the bicycle shed, and how to ensure
|
were three agenda items - when to have tea, where to put the bicycle shed,
|
||||||
nuclear safety. Tea was disposed of quickly as trivial. Nuclear
|
and how to ensure nuclear safety. Tea was disposed of quickly as
|
||||||
safety was discussed for only an hour - it was so complex, scary, and
|
trivial. Nuclear safety was discussed for only an hour - it was so
|
||||||
technical that even among experts few felt comfortable with the issues.
|
complex, scary, and technical that even among experts few felt comfortable
|
||||||
Endless days were then spent discussing where to put the bicycle shed (the
|
with the issues. Endless days were then spent discussing construction of
|
||||||
parking lot would be a modern equivalent) because everyone understood the
|
the bicycle shed (the parking lot would be the modern equivalent) because
|
||||||
issues and felt comfortable discussing them. </p>
|
everyone though they understood the issues and felt comfortable discussing
|
||||||
|
them. </p>
|
||||||
|
|
||||||
<h2><a name="lib_names" id="lib_names"></a>Library Names</h2>
|
<h2><a name="lib_names" id="lib_names"></a>Library Names</h2>
|
||||||
|
|
||||||
@ -353,15 +353,18 @@ Your response to the second part of the message goes here.
|
|||||||
potential Boost libraries.</p>
|
potential Boost libraries.</p>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
|
<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
|
||||||
|
"http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
|
||||||
|
height="31" width="88"></a></p>
|
||||||
|
|
||||||
<p>Revised
|
<p>Revised
|
||||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->28
|
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->04 December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38514" --></p>
|
||||||
May, 2005<!--webbot bot="Timestamp" i-checksum="38549" endspan --></p>
|
|
||||||
|
|
||||||
<p>© Beman Dawes, Rob Stewart, and David Abrahams 2000-2005</p>
|
<p><i>Copyright © 2000-2005 Beman Dawes, Rob Stewart, and David Abrahams</i></p>
|
||||||
|
|
||||||
<p>Distributed under the Boost Software License, Version 1.0. (See
|
<p><i>Distributed under the Boost Software License, Version 1.0. (See
|
||||||
accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy
|
accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy
|
||||||
at <a href=
|
at <a href=
|
||||||
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</p>
|
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,79 +1,85 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Language" content="en-us">
|
||||||
<title>Portability Hints: Microsoft Visual C++ 6.0 SP4</title>
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||||
|
|
||||||
|
<title>Portability Hints: Microsoft Visual C++ 6.0 SP4</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body bgcolor="#FFFFFF" text="#000000">
|
<body bgcolor="#FFFFFF" text="#000000">
|
||||||
|
<table border="1" bgcolor="#007F7F" cellpadding="2" summary="">
|
||||||
<table border="1" bgcolor="#007F7F" cellpadding="2">
|
|
||||||
<tr>
|
<tr>
|
||||||
<td bgcolor="#FFFFFF"><img src="../boost.png" alt="boost.png (6897 bytes)" width="277" height="86"></td>
|
<td bgcolor="#FFFFFF"><img src="../boost.png" alt=
|
||||||
<td><a href="../index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Home</big></font></a></td>
|
"boost.png (6897 bytes)" width="277" height="86"></td>
|
||||||
<td><a href="../libs/libraries.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Libraries</big></font></a></td>
|
|
||||||
<td><a href="../people/people.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>People</big></font></a></td>
|
<td><a href="../index.htm"><font face="Arial,Helvetica" color=
|
||||||
<td><a href="faq.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>FAQ</big></font></a></td>
|
"#FFFFFF"><big>Home</big></font></a></td>
|
||||||
<td><a href="index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>More</big></font></a></td>
|
|
||||||
|
<td><a href="../libs/libraries.htm"><font face="Arial,Helvetica" color=
|
||||||
|
"#FFFFFF"><big>Libraries</big></font></a></td>
|
||||||
|
|
||||||
|
<td><a href="../people/people.htm"><font face="Arial,Helvetica" color=
|
||||||
|
"#FFFFFF"><big>People</big></font></a></td>
|
||||||
|
|
||||||
|
<td><a href="faq.htm"><font face="Arial,Helvetica" color=
|
||||||
|
"#FFFFFF"><big>FAQ</big></font></a></td>
|
||||||
|
|
||||||
|
<td><a href="index.htm"><font face="Arial,Helvetica" color=
|
||||||
|
"#FFFFFF"><big>More</big></font></a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<p>
|
<h1>Portability Hints: Microsoft Visual C++ 6.0 SP4</h1>
|
||||||
|
|
||||||
<h1>Portability Hints: Microsoft Visual C++ 6.0 SP4</h1>
|
<p>Similar to the <a href="borland_cpp.html">portability hints for Borland
|
||||||
|
C++</a>, this page provides hints on some language features of the
|
||||||
|
Microsoft Visual C++ version 6.0 service pack 4 compiler. A list of
|
||||||
|
acknowledged deficiencies can be found at the <a href=
|
||||||
|
"http://support.microsoft.com/support/kb/articles/q243/4/51.asp">Microsoft
|
||||||
|
support site</a>.</p>
|
||||||
|
|
||||||
Similar to the
|
<p>Each entry in the following list describes a particular issue, complete
|
||||||
<a href="borland_cpp.html">portability hints for Borland C++</a>,
|
with sample source code to demonstrate the effect. Most sample code herein
|
||||||
this page provides hints on some language features of the Microsoft Visual C++
|
has been verified to compile with gcc 2.95.2 and Comeau C++ 4.2.44.</p>
|
||||||
version 6.0 service pack 4 compiler. A list of
|
|
||||||
acknowledged deficiencies can be found at the
|
|
||||||
<a href="http://support.microsoft.com/support/kb/articles/q243/4/51.asp">Microsoft support site</a>.
|
|
||||||
<p>
|
|
||||||
|
|
||||||
Each entry in the following list describes a particular issue,
|
<h2>Preprocessor symbol</h2>
|
||||||
complete with sample source code to demonstrate the effect.
|
|
||||||
Most sample code herein has been verified to compile with gcc 2.95.2
|
|
||||||
and Comeau C++ 4.2.44.
|
|
||||||
|
|
||||||
|
<p>The preprocessor symbol <code>_MSC_VER</code> is defined for all
|
||||||
|
Microsoft C++ compilers. Its value is the internal version number of the
|
||||||
|
compiler interpreted as a decimal number. Since a few other compilers also
|
||||||
|
define this symbol, boost provides the symbol <code>BOOST_MSVC</code>,
|
||||||
|
which is defined in <a href="../boost/config.hpp">boost/config.hpp</a> to
|
||||||
|
the value of _MSC_VER if and only if the compiler is really Microsoft
|
||||||
|
Visual C++. The following table lists some known values.</p>
|
||||||
|
|
||||||
<h2>Preprocessor symbol</h2>
|
<table border="1" summary="">
|
||||||
|
<tr>
|
||||||
|
<th>Compiler</th>
|
||||||
|
|
||||||
The preprocessor symbol <code>_MSC_VER</code> is defined for all
|
<th><code>BOOST_MSVC</code> value</th>
|
||||||
Microsoft C++ compilers. Its value is the internal version number of the
|
</tr>
|
||||||
compiler interpreted as a decimal number. Since a few other compilers
|
|
||||||
also define this symbol, boost provides the symbol
|
|
||||||
<code>BOOST_MSVC</code>, which is defined in
|
|
||||||
<a href="../boost/config.hpp">boost/config.hpp</a>
|
|
||||||
to the value of _MSC_VER if and only if the compiler is really
|
|
||||||
Microsoft Visual C++.
|
|
||||||
|
|
||||||
The following table lists some known values.
|
<tr>
|
||||||
<p>
|
<td>Microsoft Visual C++ 6.0 (up to SP6)</td>
|
||||||
|
|
||||||
<table border="1">
|
<td>1200</td>
|
||||||
<tr>
|
</tr>
|
||||||
<th>Compiler</th>
|
|
||||||
<th><code>BOOST_MSVC</code> value</th>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Microsoft Visual C++ 6.0 (up to SP6)</td>
|
<td>Microsoft embedded Visual C++ 4.0</td>
|
||||||
<td>1200</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
<td>1200-1202 (cross compilers)</td>
|
||||||
<td>Microsoft embedded Visual C++ 4.0</td>
|
</tr>
|
||||||
<td>1200-1202 (cross compilers)</td>
|
</table>
|
||||||
</tr>
|
|
||||||
|
|
||||||
</table>
|
<h2>Core Language</h2>
|
||||||
|
|
||||||
|
<h3>[chained using] Chaining <code>using</code>-declarations</h3>
|
||||||
|
|
||||||
<h2>Core Language</h2>
|
<p>Chaining <code>using</code>-declarations does not work.</p>
|
||||||
|
<pre>
|
||||||
<h3>[chained using] Chaining <code>using</code>-declarations</h3>
|
|
||||||
|
|
||||||
Chaining <code>using</code>-declarations does not work.
|
|
||||||
<pre>
|
|
||||||
void f();
|
void f();
|
||||||
|
|
||||||
namespace N {
|
namespace N {
|
||||||
@ -86,39 +92,33 @@ void g()
|
|||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
<h3>[explicit-instantiation] Explicit function template instantiation</h3>
|
||||||
|
|
||||||
<h3>[explicit-instantiation] Explicit function template
|
<p>Trying to explicitly instantiate a function template leads to the wrong
|
||||||
instantiation</h3>
|
function being called silently.</p>
|
||||||
|
<pre>
|
||||||
Trying to explicitly instantiate a function template leads to the
|
|
||||||
wrong function being called silently.
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
void f()
|
void f()
|
||||||
{
|
{
|
||||||
printf("%d\n", sizeof(T));
|
printf("%d\n", sizeof(T));
|
||||||
}
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
f<double>(); // output: "1"
|
f<double>(); // output: "1"
|
||||||
f<char>(); // output: "1"
|
f<char>(); // output: "1"
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
<h3>[for-scoping] Scopes of definitions in for-loops</h3>
|
||||||
|
|
||||||
<h3>[for-scoping] Scopes of definitions in for-loops</h3>
|
<p>The scope of variable definitions in <code>for</code> loops should be
|
||||||
|
local to the loop's body, but it is instead local to the enclosing
|
||||||
The scope of variable definitions in <code>for</code> loops should be
|
block.</p>
|
||||||
local to the loop's body, but it is instead local to the enclosing
|
<pre>
|
||||||
block.
|
|
||||||
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
for(int i = 0; i < 5; ++i)
|
for(int i = 0; i < 5; ++i)
|
||||||
@ -129,51 +129,46 @@ int main()
|
|||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<strong>Workaround:</strong> Enclose the offending <code>for</code>
|
<p><strong>Workaround:</strong> Enclose the offending <code>for</code>
|
||||||
loops in another pair of curly braces.
|
loops in another pair of curly braces.</p>
|
||||||
<p>
|
|
||||||
Another possible workaround (brought to my attention by Vesa Karvonen)
|
<p>Another possible workaround (brought to my attention by Vesa Karvonen)
|
||||||
is this:
|
is this:</p>
|
||||||
<pre>
|
<pre>
|
||||||
#ifndef for
|
#ifndef for
|
||||||
#define for if (0) {} else for
|
#define for if (0) {} else for
|
||||||
#endif
|
#endif
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
Note that platform-specific inline functions in included headers might
|
<p>Note that platform-specific inline functions in included headers might
|
||||||
depend on the old-style <code>for</code> scoping.
|
depend on the old-style <code>for</code> scoping.</p>
|
||||||
|
|
||||||
|
<h3>[inclass-member-init] In-class member initialization</h3>
|
||||||
|
|
||||||
<h3>[inclass-member-init] In-class member initialization</h3>
|
<p>In-class member initialization, required to implement a
|
||||||
|
Standard-conforming <code>std::numeric_limits</code> template, does not
|
||||||
In-class member initialization, required to implement a
|
work.</p>
|
||||||
Standard-conforming <code>std::numeric_limits</code> template, does
|
<pre>
|
||||||
not work.
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
struct A
|
struct A
|
||||||
{
|
{
|
||||||
static const int i = 5; // "invalid syntax for pure virtual method"
|
static const int i = 5; // "invalid syntax for pure virtual method"
|
||||||
};
|
};
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<strong>Workaround:</strong> Either use an enum (which has incorrect
|
<p><strong>Workaround:</strong> Either use an enum (which has incorrect
|
||||||
type, but can be used in compile-time constant expressions), or define
|
type, but can be used in compile-time constant expressions), or define the
|
||||||
the value out-of-line (which allows for the correct type, but prohibits
|
value out-of-line (which allows for the correct type, but prohibits using
|
||||||
using the constant in compile-time constant expressions). See
|
the constant in compile-time constant expressions). See <a href=
|
||||||
<a href="int_const_guidelines.htm">Coding Guidelines for Integral Constant Expressions</a>
|
"int_const_guidelines.htm">Coding Guidelines for Integral Constant
|
||||||
for guidelines how to define member constants portably in boost
|
Expressions</a> for guidelines how to define member constants portably in
|
||||||
libraries.
|
boost libraries.</p>
|
||||||
|
|
||||||
|
<h3>[koenig-lookup] Argument-dependent lookup</h3>
|
||||||
|
|
||||||
<h3>[koenig-lookup] Argument-dependent lookup</h3>
|
<p>Argument-dependent lookup, also called Koenig lookup, works for
|
||||||
|
overloaded operators, but not for ordinary functions. No additional
|
||||||
Argument-dependent lookup, also called Koenig lookup, works for
|
namespaces induced from the argument types seem to be considered.</p>
|
||||||
overloaded operators, but not for ordinary functions. No
|
<pre>
|
||||||
additional namespaces induced from the argument types seem to be
|
|
||||||
considered.
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
namespace N {
|
namespace N {
|
||||||
struct A {};
|
struct A {};
|
||||||
void f(A);
|
void f(A);
|
||||||
@ -186,29 +181,26 @@ void g()
|
|||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
<h3>[template-friend] Templates as friends</h3>
|
||||||
|
|
||||||
<h3>[template-friend] Templates as friends</h3>
|
<p>A Template cannot be declared a friend of a class.</p>
|
||||||
|
<pre>
|
||||||
A Template cannot be declared a friend of a class.
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
template<class T>
|
template<class T>
|
||||||
struct A {};
|
struct A {};
|
||||||
|
|
||||||
struct B
|
struct B
|
||||||
{
|
{
|
||||||
template<class T>
|
template<class T>
|
||||||
friend struct A; // "syntax error"
|
friend struct A; // "syntax error"
|
||||||
};
|
};
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
<h3>[member-template-outofline] Out-of-line definitions of member
|
||||||
|
templates</h3>
|
||||||
|
|
||||||
<h3>[member-template-outofline] Out-of-line definitions of member
|
<p>Defining member templates outside their enclosing class does not
|
||||||
templates</h3>
|
work.</p>
|
||||||
|
<pre>
|
||||||
Defining member templates outside their enclosing class does not work.
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
template<class T>
|
template<class T>
|
||||||
struct A
|
struct A
|
||||||
{
|
{
|
||||||
@ -217,21 +209,19 @@ struct A
|
|||||||
};
|
};
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
template<class U> // "syntax error"
|
template<class U> // "syntax error"
|
||||||
void A<T>::f() // "T: undeclared identifier"
|
void A<T>::f() // "T: undeclared identifier"
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<strong>Workaround:</strong> Define member templates in-line within
|
<p><strong>Workaround:</strong> Define member templates in-line within
|
||||||
their enclosing class.
|
their enclosing class.</p>
|
||||||
|
|
||||||
|
<h3>[partial-spec] Partial specialization</h3>
|
||||||
|
|
||||||
<h3>[partial-spec] Partial specialization</h3>
|
<p>Partial specialization of class templates does not work.</p>
|
||||||
|
<pre>
|
||||||
Partial specialization of class templates does not work.
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
template<class T>
|
template<class T>
|
||||||
struct A {};
|
struct A {};
|
||||||
|
|
||||||
@ -242,52 +232,45 @@ template<class T>
|
|||||||
struct A<B<T> > {}; // template class was already defined as a non-template
|
struct A<B<T> > {}; // template class was already defined as a non-template
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<strong>Workaround:</strong> In some situations where interface
|
<p><strong>Workaround:</strong> In some situations where interface does not
|
||||||
does not matter, class member templates can simulate partial
|
matter, class member templates can simulate partial specialization.</p>
|
||||||
specialization.
|
|
||||||
|
|
||||||
|
<h3>[template-value] Dependent template value parameters</h3>
|
||||||
|
|
||||||
<h3>[template-value] Dependent template value parameters</h3>
|
<p>Template value parameters whose type depends on a previous template
|
||||||
|
parameter provoke an internal compiler error if the correct syntax (with
|
||||||
Template value parameters whose type depends on a previous template
|
"typename") is used.</p>
|
||||||
parameter provoke an internal compiler error if the correct syntax
|
<pre>
|
||||||
(with "typename") is used.
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
template<class T, typename T::result_type> // C1001: INTERNAL COMPILER ERROR: msc1.cpp, line 1794
|
template<class T, typename T::result_type> // C1001: INTERNAL COMPILER ERROR: msc1.cpp, line 1794
|
||||||
struct B {};
|
struct B {};
|
||||||
// (omit "typename" and it compiles)
|
// (omit "typename" and it compiles)
|
||||||
|
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<strong>Workaround:</strong> Leave off the "typename" keyword. That makes
|
<p><strong>Workaround:</strong> Leave off the "typename" keyword. That
|
||||||
the program non-conforming, though.
|
makes the program non-conforming, though.</p>
|
||||||
|
|
||||||
|
<h3>[wchar_t] <code>wchar_t</code> is not built-in</h3>
|
||||||
|
|
||||||
<h3>[wchar_t] <code>wchar_t</code> is not built-in</h3>
|
<p>The type <code>wchar_t</code> is not a built-in type.</p>
|
||||||
|
<pre>
|
||||||
The type <code>wchar_t</code> is not a built-in type.
|
wchar_t x; // "missing storage class or type identifier"
|
||||||
|
|
||||||
<pre>
|
|
||||||
wchar_t x; // "missing storage class or type identifier"
|
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<strong>Workaround:</strong> When using Microsoft Visual C++, the
|
<p><strong>Workaround:</strong> When using Microsoft Visual C++, the header
|
||||||
header
|
<a href="../boost/config.hpp">boost/config.hpp</a> includes
|
||||||
<a href="../boost/config.hpp">boost/config.hpp</a>
|
<code><cstddef></code>, which defines <code>wchar_t</code> as a
|
||||||
includes <code><cstddef></code>, which defines
|
typedef for <code>unsigned short</code>. Note that this means that the
|
||||||
<code>wchar_t</code> as a typedef for <code>unsigned
|
compiler does not regard <code>wchar_t</code> and <code>unsigned
|
||||||
short</code>. Note that this means that the compiler does not regard
|
short</code> as distinct types, as is required by the standard, and so
|
||||||
<code>wchar_t</code> and <code>unsigned short</code> as distinct
|
ambiguities may emanate when overloading on <code>wchar_t</code>. The macro
|
||||||
types, as is required by the standard, and so ambiguities may emanate
|
<code>BOOST_NO_INTRINSIC_WCHAR_T</code> is defined in this situation.</p>
|
||||||
when overloading on <code>wchar_t</code>. The macro
|
|
||||||
<code>BOOST_NO_INTRINSIC_WCHAR_T</code> is defined in this situation.
|
|
||||||
|
|
||||||
|
<h3>[delete-const-pointer] Deleting <code>const X *</code> does not
|
||||||
|
work</h3>
|
||||||
|
|
||||||
<h3>[delete-const-pointer] Deleting <code>const X *</code> does not work</h3>
|
<p>Trying to delete a pointer to a cv-qualified type gives an error:</p>
|
||||||
|
<pre>
|
||||||
Trying to delete a pointer to a cv-qualified type gives an error:
|
|
||||||
<pre>
|
|
||||||
void f()
|
void f()
|
||||||
{
|
{
|
||||||
const int *p = new int(5);
|
const int *p = new int(5);
|
||||||
@ -295,29 +278,49 @@ void f()
|
|||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<strong>Workaround:</strong> Define the function
|
<p><strong>Workaround:</strong> Define the function</p>
|
||||||
<pre>
|
<pre>
|
||||||
inline void operator delete(const void *p) throw()
|
inline void operator delete(const void *p) throw()
|
||||||
{ operator delete(const_cast<void*>(p)); }
|
{ operator delete(const_cast<void*>(p)); }
|
||||||
</pre>
|
</pre>
|
||||||
and similar functions for the other cv-qualifier combinations, for
|
|
||||||
operator delete[], and for the <code>std::nothrow</code> variants.
|
|
||||||
|
|
||||||
|
<p>and similar functions for the other cv-qualifier combinations, for
|
||||||
|
operator delete[], and for the <code>std::nothrow</code> variants.</p>
|
||||||
|
|
||||||
|
<h2>Standard Library</h2>
|
||||||
|
|
||||||
<h2>Standard Library</h2>
|
<h3>[clib-namespace] C library names in global namespace instead of
|
||||||
|
std</h3>
|
||||||
|
|
||||||
<h3>[clib-namespace] C library names in global namespace instead of std</h3>
|
<p>Library names from the <c...> headers are in the global namespace
|
||||||
<p>Library names from the <c...> headers are in the global namespace
|
instead of namespace std.</p>
|
||||||
instead of namespace std.<p><b>Workaround:</b> The header <a href="../libs/config/config.htm">boost/config.hpp</a>
|
|
||||||
will define BOOST_NO_STDC_NAMESPACE. It can be used as follows:
|
<p><b>Workaround:</b> The header <a href=
|
||||||
<pre># ifdef BOOST_NO_STDC_NAMESPACE
|
"../libs/config/config.htm">boost/config.hpp</a> will define
|
||||||
|
BOOST_NO_STDC_NAMESPACE. It can be used as follows:</p>
|
||||||
|
<pre>
|
||||||
|
# ifdef BOOST_NO_STDC_NAMESPACE
|
||||||
namespace std { using ::abs; using ::fabs; }
|
namespace std { using ::abs; using ::fabs; }
|
||||||
# endif</pre>
|
# endif
|
||||||
<p>Because std::size_t and std::ptrdiff_t are so commonly used, the workaround
|
</pre>
|
||||||
for these is already provided in boost/config.hpp.<p>
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
2001-05-04 <a href="../people/jens_maurer.htm">Jens Maurer</a>
|
<p>Because std::size_t and std::ptrdiff_t are so commonly used, the
|
||||||
|
workaround for these is already provided in boost/config.hpp.</p>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
|
||||||
|
"http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
|
||||||
|
height="31" width="88"></a></p>
|
||||||
|
|
||||||
|
<p>Revised
|
||||||
|
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->04 December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38514" --></p>
|
||||||
|
|
||||||
|
<p><i>Copyright © 2001-2002 <a href="../people/jens_maurer.htm">Jens
|
||||||
|
Maurer</a></i></p>
|
||||||
|
|
||||||
|
<p><i>Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy
|
||||||
|
at <a href=
|
||||||
|
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,377 +1,576 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Language" content="en-us">
|
||||||
<link rel="stylesheet" type="text/css" href="../../boost.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||||
<title>Writing Documentation for Boost - HTML Design</title>
|
<link rel="stylesheet" type="text/css" href="../../boost.css">
|
||||||
|
|
||||||
|
<title>Writing Documentation for Boost - HTML Design</title>
|
||||||
</head>
|
</head>
|
||||||
<body link="#0000ff" vlink="#800080">
|
|
||||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
<body link="#0000FF" vlink="#800080">
|
||||||
|
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||||
"header">
|
"header">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" width="300">
|
<td valign="top" width="300">
|
||||||
<h3><a href="index.html"><img height="86" width="277" alt="C++ Boost" src="../../boost.png" border="0"></a></h3>
|
<h3><a href="index.html"><img height="86" width="277" alt="C++ Boost"
|
||||||
|
src="../../boost.png" border="0"></a></h3>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<h1 align="center">Writing Documentation for Boost</h1>
|
<h1 align="center">Writing Documentation for Boost</h1>
|
||||||
|
|
||||||
<h2 align="center">HTML Design</h2>
|
<h2 align="center">HTML Design</h2>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
<dl class="page-index">
|
|
||||||
|
<dl class="page-index">
|
||||||
<dt><a href="#introduction">Introduction</a></dt>
|
<dt><a href="#introduction">Introduction</a></dt>
|
||||||
<dt><a href="#common-pages">Common Pages Included in HTML Documentation</a></dt>
|
|
||||||
|
<dt><a href="#common-pages">Common Pages Included in HTML
|
||||||
|
Documentation</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#index-page">Index</a></dt>
|
<dt><a href="#index-page">Index</a></dt>
|
||||||
|
|
||||||
<dt><a href="#overview-page">Overview</a></dt>
|
<dt><a href="#overview-page">Overview</a></dt>
|
||||||
|
|
||||||
<dt><a href="#definitions-page">Definitions</a></dt>
|
<dt><a href="#definitions-page">Definitions</a></dt>
|
||||||
|
|
||||||
<dt><a href="#rationale-page">Rationale</a></dt>
|
<dt><a href="#rationale-page">Rationale</a></dt>
|
||||||
|
|
||||||
<dt><a href="#configuration-page">Configuration Information</a></dt>
|
<dt><a href="#configuration-page">Configuration Information</a></dt>
|
||||||
|
|
||||||
<dt><a href="#faq-page">Frequently Asked Questions</a></dt>
|
<dt><a href="#faq-page">Frequently Asked Questions</a></dt>
|
||||||
|
|
||||||
<dt><a href="#bibliography-page">Bibliography</a></dt>
|
<dt><a href="#bibliography-page">Bibliography</a></dt>
|
||||||
|
|
||||||
<dt><a href="#acknowledgements-page">Acknowledgment</a></dt>
|
<dt><a href="#acknowledgements-page">Acknowledgment</a></dt>
|
||||||
|
|
||||||
<dt><a href="#header-page">Header Reference</a></dt>
|
<dt><a href="#header-page">Header Reference</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="#layout">Layout</a></dt>
|
<dt><a href="#layout">Layout</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#page-banner">Page Banner</a></dt>
|
<dt><a href="#page-banner">Page Banner</a></dt>
|
||||||
|
|
||||||
<dt><a href="#page-index">Page Index</a></dt>
|
<dt><a href="#page-index">Page Index</a></dt>
|
||||||
|
|
||||||
<dt><a href="#content">Documentation Content</a></dt>
|
<dt><a href="#content">Documentation Content</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#doc-footnotes">Footnotes</a></dt>
|
<dt><a href="#doc-footnotes">Footnotes</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="#revision-info">Revision Information</a></dt>
|
<dt><a href="#revision-info">Revision Information</a></dt>
|
||||||
|
|
||||||
<dt><a href="#copyright">Copyright Information</a></dt>
|
<dt><a href="#copyright">Copyright Information</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="#format">Format</a></dt>
|
<dt><a href="#format">Format</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#style-sheets">Cascading Style Sheets</a></dt>
|
<dt><a href="#style-sheets">Cascading Style Sheets</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#boost-style-sheet">Boost Style Sheet</a></dt>
|
<dt><a href="#boost-style-sheet">Boost Style Sheet</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="#templates">Templates</a></dt>
|
<dt><a href="#templates">Templates</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#index-template">Index Page Template</a></dt>
|
<dt><a href="#index-template">Index Page Template</a></dt>
|
||||||
|
|
||||||
<dt><a href="#overview-template">Overview Page Template</a></dt>
|
<dt><a href="#overview-template">Overview Page Template</a></dt>
|
||||||
<dt><a href="#definitions-template">Definitions Page Template</a></dt>
|
|
||||||
|
<dt><a href="#definitions-template">Definitions Page
|
||||||
|
Template</a></dt>
|
||||||
|
|
||||||
<dt><a href="#rationale-template">Rationale Page Template</a></dt>
|
<dt><a href="#rationale-template">Rationale Page Template</a></dt>
|
||||||
<dt><a href="#configuration-template">Configuration Page Template</a></dt>
|
|
||||||
<dt><a href="#faq-template">FAQ (Frequently Asked Questions) Page Template</a></dt>
|
<dt><a href="#configuration-template">Configuration Page
|
||||||
<dt><a href="#bibliography-template">Bibliography Page Template</a></dt>
|
Template</a></dt>
|
||||||
<dt><a href="#acknowledgements-template">Acknowledgments Page Template</a></dt>
|
|
||||||
|
<dt><a href="#faq-template">FAQ (Frequently Asked Questions) Page
|
||||||
|
Template</a></dt>
|
||||||
|
|
||||||
|
<dt><a href="#bibliography-template">Bibliography Page
|
||||||
|
Template</a></dt>
|
||||||
|
|
||||||
|
<dt><a href="#acknowledgements-template">Acknowledgments Page
|
||||||
|
Template</a></dt>
|
||||||
|
|
||||||
<dt><a href="#header-template">Header Page Template</a></dt>
|
<dt><a href="#header-template">Header Page Template</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
</dl>
|
</dd>
|
||||||
<h2><a name="introduction"></a>Introduction</h2>
|
</dl>
|
||||||
<p>Boost places no requirements on the design of HTML documentation for library
|
|
||||||
submitters. If you are submitting a library for which documentation already
|
<h2><a name="introduction" id="introduction"></a>Introduction</h2>
|
||||||
exists in either HTML or in a form easily converted to HTML then there is no
|
|
||||||
need for you to read this document. However, if you have not yet written the
|
<p>Boost places no requirements on the design of HTML documentation for
|
||||||
documentation, or if you expect to have to translate documentation written in
|
library submitters. If you are submitting a library for which documentation
|
||||||
a format not easily convertible to HTML then this document can give you a lot
|
already exists in either HTML or in a form easily converted to HTML then
|
||||||
of information on how to go about writing documentation in HTML.</p>
|
there is no need for you to read this document. However, if you have not
|
||||||
<p>In several places this document assumes you're writing the documentation to
|
yet written the documentation, or if you expect to have to translate
|
||||||
conform to the structure described in the <a href="structure.html">Documentation
|
documentation written in a format not easily convertible to HTML then this
|
||||||
Structure</a> document. There is no requirement that your documentation content
|
document can give you a lot of information on how to go about writing
|
||||||
follow these guidelines, but they provide an effective way to communicate technical
|
documentation in HTML.</p>
|
||||||
specifications for a library in a terse yet precise manner that's familiar to
|
|
||||||
many Boost users.</p>
|
<p>In several places this document assumes you're writing the documentation
|
||||||
<p>This document also contains links to <a href="#templates">HTML template files</a>
|
to conform to the structure described in the <a href=
|
||||||
that can be used to rapidly develop documentation for a library submission.
|
"structure.html">Documentation Structure</a> document. There is no
|
||||||
These templates follow the guidelines presented here and in the <a href="structure.html">Documentation
|
requirement that your documentation content follow these guidelines, but
|
||||||
Structure</a> document.</p>
|
they provide an effective way to communicate technical specifications for a
|
||||||
<h2><a name="common-pages"></a>Common Pages Included in HTML Documentation</h2>
|
library in a terse yet precise manner that's familiar to many Boost
|
||||||
<p>Most HTML documentation projects will contain some common pages. General guidelines
|
users.</p>
|
||||||
for these common pages are provided below.</p>
|
|
||||||
<h3><a name="index-page"></a>Index</h3>
|
<p>This document also contains links to <a href="#templates">HTML template
|
||||||
<p>The index page is the first page presented to a user when he browses the documentation.
|
files</a> that can be used to rapidly develop documentation for a library
|
||||||
Generally this page should not contain any actual content, but instead contains
|
submission. These templates follow the guidelines presented here and in the
|
||||||
a list of links to specific content. At a minimum this list should contain a
|
<a href="structure.html">Documentation Structure</a> document.</p>
|
||||||
link to every HTML page contained in the documentation. Optionally, sub-lists
|
|
||||||
may be provided for individual pages linking to specific subjects within the
|
<h2><a name="common-pages" id="common-pages"></a>Common Pages Included in
|
||||||
page. These sub-lists should form a "tree" hierarchy based on the
|
HTML Documentation</h2>
|
||||||
level of heading tag used for the specific subject. Inclusion of such sub-lists
|
|
||||||
for every page can make the index rather lengthy, and since each page should
|
<p>Most HTML documentation projects will contain some common pages. General
|
||||||
include its own <a href="#page-index">Page Index</a>, it may make the navigation
|
guidelines for these common pages are provided below.</p>
|
||||||
of the documentation easier if such sub-lists are avoided. However, there is
|
|
||||||
one exception to this guideline: reference documentation should contain a link
|
<h3><a name="index-page" id="index-page"></a>Index</h3>
|
||||||
to every header file in the library and a sub-list with a link to every macro,
|
|
||||||
value, type, class, function and object (see <a href="structure.html">Documentation
|
<p>The index page is the first page presented to a user when he browses the
|
||||||
Structure</a>) found in the header. Users aren't always sure what header file
|
documentation. Generally this page should not contain any actual content,
|
||||||
any of these may be contained in, so this structure in the index allows for
|
but instead contains a list of links to specific content. At a minimum this
|
||||||
easy navigation of the reference documentation.</p>
|
list should contain a link to every HTML page contained in the
|
||||||
<p>The index list should generally be constructed using an HTML "definition
|
documentation. Optionally, sub-lists may be provided for individual pages
|
||||||
list" (<dl> and <dt> tags). A definition list has no bullets
|
linking to specific subjects within the page. These sub-lists should form a
|
||||||
or ordered specifications and produces a cleaner layout then an unordered list
|
"tree" hierarchy based on the level of heading tag used for the specific
|
||||||
(<ul> and <li> tags) or an ordered list (<ol> and <li>
|
subject. Inclusion of such sub-lists for every page can make the index
|
||||||
tags). If you choose to use the common <a href="#boost-style-sheet">Boost Style
|
rather lengthy, and since each page should include its own <a href=
|
||||||
Sheet</a> you should add a <code>class="index"</code> attribute/value pair to
|
"#page-index">Page Index</a>, it may make the navigation of the
|
||||||
the <dl> tag.</p>
|
documentation easier if such sub-lists are avoided. However, there is one
|
||||||
<p>An Index page <a href="#index-template">template</a> is provided for use.</p>
|
exception to this guideline: reference documentation should contain a link
|
||||||
<h3><a name="overview-page"></a>Overview</h3>
|
to every header file in the library and a sub-list with a link to every
|
||||||
<p>The Overview page is used to introduce the reader to the library. It should
|
macro, value, type, class, function and object (see <a href=
|
||||||
give a high-level overview of the purpose of the library and introduce the reader
|
"structure.html">Documentation Structure</a>) found in the header. Users
|
||||||
to any concepts they may be unfamiliar with. This may also be an appropriate
|
aren't always sure what header file any of these may be contained in, so
|
||||||
place for some "light" rationale, though more thorough presentation
|
this structure in the index allows for easy navigation of the reference
|
||||||
of any rationale would be better placed in the <a href="#rationale-page">Rational
|
documentation.</p>
|
||||||
Page</a>.</p>
|
|
||||||
<p>Like most content pages, the Overview page should include a <a href="#page-index">Page
|
<p>The index list should generally be constructed using an HTML "definition
|
||||||
Index</a>.</p>
|
list" (<dl> and <dt> tags). A definition list has no bullets or
|
||||||
<p>An Overview page <a href="#overview-template">template</a> is provided for
|
ordered specifications and produces a cleaner layout then an unordered list
|
||||||
|
(<ul> and <li> tags) or an ordered list (<ol> and
|
||||||
|
<li> tags). If you choose to use the common <a href=
|
||||||
|
"#boost-style-sheet">Boost Style Sheet</a> you should add a
|
||||||
|
<code>class="index"</code> attribute/value pair to the <dl> tag.</p>
|
||||||
|
|
||||||
|
<p>An Index page <a href="#index-template">template</a> is provided for
|
||||||
use.</p>
|
use.</p>
|
||||||
<h3><a name="definitions-page"></a>Definitions</h3>
|
|
||||||
<p>The Definitions page is used to provide a list of definitions for terms that
|
<h3><a name="overview-page" id="overview-page"></a>Overview</h3>
|
||||||
a user may be unfamiliar with.</p>
|
|
||||||
<p>The definition list should generally be constructed using an HTML "definition
|
<p>The Overview page is used to introduce the reader to the library. It
|
||||||
list" (<dl> and <DT> tags). A definition list has no bullets
|
should give a high-level overview of the purpose of the library and
|
||||||
or ordered specifications and produces a cleaner layout then an unordered list
|
introduce the reader to any concepts they may be unfamiliar with. This may
|
||||||
(<UL> and <li> tags) or an ordered list (<ol> and <li>
|
also be an appropriate place for some "light" rationale, though more
|
||||||
tags). If you choose to use the common <a href="#boost-style-sheet">Boost Style
|
thorough presentation of any rationale would be better placed in the
|
||||||
Sheet</a> you should add a <code>class="definition"</code> attribute/value pair
|
<a href="#rationale-page">Rational Page</a>.</p>
|
||||||
to the <dl> tag.</p>
|
|
||||||
<p>Because this page's content should only contain a list of definitions, it should
|
<p>Like most content pages, the Overview page should include a <a href=
|
||||||
not have a <a href="#page-index">Page Index</a>.</p>
|
"#page-index">Page Index</a>.</p>
|
||||||
<p></p>
|
|
||||||
<p> A Definitions page <a href="#definitions-template">template</a> is provided
|
<p>An Overview page <a href="#overview-template">template</a> is provided
|
||||||
for use.</p>
|
for use.</p>
|
||||||
<h3><a name="rationale-page"></a>Rationale</h3>
|
|
||||||
<p>The Rationale page is used to provide lengthy descriptions of the rationale
|
<h3><a name="definitions-page" id="definitions-page"></a>Definitions</h3>
|
||||||
behind the library's design. This information helps users to understand why
|
|
||||||
a library was designed the way it was and may reduce the frequency of a number
|
<p>The Definitions page is used to provide a list of definitions for terms
|
||||||
of frequently asked questions. For a better description of why rationale is
|
that a user may be unfamiliar with.</p>
|
||||||
important see the <a href="http://www.boost.org/more/lib_guide.htm#Rationale">Rationale
|
|
||||||
rationale</a> in the general submission guidelines.</p>
|
<p>The definition list should generally be constructed using an HTML
|
||||||
<p>Like most content pages, the Rationale page should include a <a href="#page-index">Page
|
"definition list" (<dl> and <DT> tags). A definition list has
|
||||||
Index</a>.</p>
|
no bullets or ordered specifications and produces a cleaner layout then an
|
||||||
<p></p>
|
unordered list (<UL> and <li> tags) or an ordered list
|
||||||
<p>A Rationale page <a href="#rationale-template">template</a> is provided for
|
(<ol> and <li> tags). If you choose to use the common <a href=
|
||||||
use.</p>
|
"#boost-style-sheet">Boost Style Sheet</a> you should add a
|
||||||
<h3><a name="configuration-page"></a>Configuration Information</h3>
|
<code>class="definition"</code> attribute/value pair to the <dl>
|
||||||
<p>The Configuration Information page is used to document configuration macros
|
tag.</p>
|
||||||
used by the library. Such macros belong in one of three groups: macros used
|
|
||||||
by library implenters defined in <code><boost/config.hpp></code>, macros
|
<p>Because this page's content should only contain a list of definitions,
|
||||||
used by library users to detect platform configuration information and macros
|
it should not have a <a href="#page-index">Page Index</a>.</p>
|
||||||
defined by library users to configure library behavior.</p>
|
|
||||||
<p>Like most content pages, the Overview page should include a <a href="#page-index">Page
|
<p>A Definitions page <a href="#definitions-template">template</a> is
|
||||||
Index</a>.</p>
|
|
||||||
<p></p>
|
|
||||||
<p>A Configuration page <a href="#configuration-template">template</a> is provided
|
|
||||||
for use.</p>
|
|
||||||
<h3><a name="faq-page"></a>Frequently Asked Questions</h3>
|
|
||||||
<p>As a library matures the users will have questions about the usage of the library.
|
|
||||||
Often users will ask the same questions over and over again. Rather than having
|
|
||||||
to deal with answering the question every time it's asked, a Frequently Asked
|
|
||||||
Questions (commonly known as FAQs) page can be used to document the questions
|
|
||||||
and answers. This is such a valuable piece of documentation not only for the
|
|
||||||
users but for the maintainers as well, that a FAQ page should be provided from
|
|
||||||
the outset. If there are no questions that will obviously become a FAQ, the
|
|
||||||
initial page may just indicate that there are no FAQs yet. This empty place
|
|
||||||
holder helps to indicate to the users that you plan to address any FAQs as they
|
|
||||||
occur.</p>
|
|
||||||
<p>The <a href="#page-index">Page Index</a> for the FAQ page should contain a
|
|
||||||
list of all the questions contained in the document. The actual question entries
|
|
||||||
should be formatted with the question in a heading tag and the answers in standard
|
|
||||||
paragraph format. This provides a clean presentation that's easy to read.</p>
|
|
||||||
<p>A Frequently Asked Questions page <a href="#faq-template">template</a> is provided
|
|
||||||
for use.</p>
|
|
||||||
<h3><a name="bibliography-page"></a>Bibliography</h3>
|
|
||||||
<p>The Bibliography page is used to document any bibliographical information associated
|
|
||||||
with references made within the documentation to external resources. Parenthetical
|
|
||||||
references are used within the documentation which link to entries in the Bibliography
|
|
||||||
page. Bibliographical entries provide detailed information about the external
|
|
||||||
resource and may contain hyper links to the resource if it's available online.
|
|
||||||
There are several formal styles used for writing bibliographies. You may use
|
|
||||||
what ever style you want, but one of the better styles to consider using can
|
|
||||||
be referenced <a href="http://www.columbia.edu/cu/cup/cgos/idx_basic.html">here</a>.</p>
|
|
||||||
<p>Since the Bibliography page should contain only bibliographical information
|
|
||||||
there is no need for a <a href="#page-index">Page Index</a>.</p>
|
|
||||||
<p>A Bibliography page <a href="#bibliography-template">template</a> is provided
|
|
||||||
for use.</p>
|
|
||||||
<h3><a name="acknowledgements-page"></a>Acknowledgment</h3>
|
|
||||||
<p>The Acknowledgment page is used to give credit where credit is due. When individuals
|
|
||||||
provide input on the design or implementation, or when you make use of someone
|
|
||||||
else's work, you should acknowledge them. This is a courtesy that you'd expect
|
|
||||||
others to extend to you, so you should strive to acknowledge the efforts of
|
|
||||||
everyone else in your own documentation.</p>
|
|
||||||
<p>Since the Acknowledgment page should contain only a list of acknowledgment
|
|
||||||
there is no need for a <a href="#page-index">Page Index</a>.</p>
|
|
||||||
<p>An Acknowledgments page <a href="#acknowledgements-template">template</a> is
|
|
||||||
provided for use.</p>
|
provided for use.</p>
|
||||||
<h3><a name="header-page"></a>Header Reference</h3>
|
|
||||||
<p>The Header Reference pages are the most important pages in your documentation.
|
<h3><a name="rationale-page" id="rationale-page"></a>Rationale</h3>
|
||||||
They document all library headers, including all the macros, values, types,
|
|
||||||
classes, functions and objects defined in them. In general it may prove useful
|
<p>The Rationale page is used to provide lengthy descriptions of the
|
||||||
to follow the guidelines in <a href="structure.html">Documentation Structure</a>
|
rationale behind the library's design. This information helps users to
|
||||||
when writing the content for these pages.</p>
|
understand why a library was designed the way it was and may reduce the
|
||||||
<p>Like most content pages, the Header Reference pages should include a <a href="#page-index">Page
|
frequency of a number of frequently asked questions. For a better
|
||||||
Index</a>.</p>
|
description of why rationale is important see the <a href=
|
||||||
<p>A Header Reference page <a href="#header-template">template</a> is provided
|
"http://www.boost.org/more/lib_guide.htm#Rationale">Rationale rationale</a>
|
||||||
|
in the general submission guidelines.</p>
|
||||||
|
|
||||||
|
<p>Like most content pages, the Rationale page should include a <a href=
|
||||||
|
"#page-index">Page Index</a>.</p>
|
||||||
|
|
||||||
|
<p>A Rationale page <a href="#rationale-template">template</a> is provided
|
||||||
for use.</p>
|
for use.</p>
|
||||||
<h2><a name="layout"></a>Layout</h2>
|
|
||||||
<p>There are certain page layout concepts that will be used frequently in many
|
<h3><a name="configuration-page" id="configuration-page"></a>Configuration
|
||||||
of your pages. This section outlines some general guidelines that you can follow
|
Information</h3>
|
||||||
when designing each of these layout concepts for your documentation.</p>
|
|
||||||
<h3><a name="page-banner"></a>Page Banner</h3>
|
<p>The Configuration Information page is used to document configuration
|
||||||
<p>The Page Banner is located at the very top of a page and provides quick information
|
macros used by the library. Such macros belong in one of three groups:
|
||||||
about the page contents. This includes the Boost logo, which indicates to the
|
macros used by library implenters defined in
|
||||||
reader that this page is part of the Boost web site, a title for the documentation
|
<code><boost/config.hpp></code>, macros used by library users to
|
||||||
(generally the library name) and the page title. The Boost logo should hyper
|
detect platform configuration information and macros defined by library
|
||||||
link to the Boost home page on the index page and to the index page on all other
|
users to configure library behavior.</p>
|
||||||
pages. This allows the user to easily navigate through the Boost web site and
|
|
||||||
through the documentation. The <title> tag for the HTML page should consist
|
<p>Like most content pages, the Overview page should include a <a href=
|
||||||
of the documentation title and the page title separated by a hyphen.</p>
|
"#page-index">Page Index</a>.</p>
|
||||||
<p>The Page Banner should be separated from the rest of the page by the use of
|
|
||||||
an <hr> tag. This helps to clearly separate the actual content from the
|
<p>A Configuration page <a href="#configuration-template">template</a> is
|
||||||
title information and produces cleaner text.</p>
|
provided for use.</p>
|
||||||
<h3><a name="page-index"></a>Page Index</h3>
|
|
||||||
<p>The page index is used to quickly navigate to the various sections of the documentation
|
<h3><a name="faq-page" id="faq-page"></a>Frequently Asked Questions</h3>
|
||||||
on the page, and when present should be located just below the Page Banner.</p>
|
|
||||||
<p>The index list should generally be constructed using an HTML "definition
|
<p>As a library matures the users will have questions about the usage of
|
||||||
list" (<dl> and <DT> tags). A definition list has no bullets
|
the library. Often users will ask the same questions over and over again.
|
||||||
or ordered specifications and produces a cleaner layout then an unordered list
|
Rather than having to deal with answering the question every time it's
|
||||||
(<UL> and <li> tags) or an ordered list (<ol> and <li>
|
asked, a Frequently Asked Questions (commonly known as FAQs) page can be
|
||||||
tags). If you choose to use the Boost Style Sheet you should add a <code>class="page-index"</code>
|
used to document the questions and answers. This is such a valuable piece
|
||||||
attribute/value pair to the <dl> tag.</p>
|
of documentation not only for the users but for the maintainers as well,
|
||||||
<p>Most pages should include a Page Index.</p>
|
that a FAQ page should be provided from the outset. If there are no
|
||||||
<h3><a name="content"></a>Documentation Content</h3>
|
questions that will obviously become a FAQ, the initial page may just
|
||||||
<p>The page's actual documentation content will be formatted according to the
|
indicate that there are no FAQs yet. This empty place holder helps to
|
||||||
specific needs of individual pages, and should be placed right after the Page
|
indicate to the users that you plan to address any FAQs as they occur.</p>
|
||||||
Index if present, or after the Page Banner if not. In general the documentation
|
|
||||||
content will take the form of paragraph text contained underneath section headings.</p>
|
<p>The <a href="#page-index">Page Index</a> for the FAQ page should contain
|
||||||
<h3><a name="doc-footnotes"></a>Footnotes</h3>
|
a list of all the questions contained in the document. The actual question
|
||||||
<p>Footnotes may be used within a page's documentation. Within the documentation
|
entries should be formatted with the question in a heading tag and the
|
||||||
content a footnote reference should take the form of a footnote number in parentheses
|
answers in standard paragraph format. This provides a clean presentation
|
||||||
(the parentheses make it easier for the reader to click on the hyper link) hyper
|
that's easy to read.</p>
|
||||||
linking to the actual footnote at the bottom of the page's documentation content.
|
|
||||||
You may either use the <sup> tag to format such footnote numbers, or,
|
<p>A Frequently Asked Questions page <a href="#faq-template">template</a>
|
||||||
preferably, you can use a CSS style class in order to distinguish the number
|
is provided for use.</p>
|
||||||
as a footnote instead of as part of the actual text. If you choose to use the
|
|
||||||
common <a href="#boost-style-sheet">Boost Style Sheet</a>, a <code>footnote</code>
|
<h3><a name="bibliography-page" id=
|
||||||
|
"bibliography-page"></a>Bibliography</h3>
|
||||||
|
|
||||||
|
<p>The Bibliography page is used to document any bibliographical
|
||||||
|
information associated with references made within the documentation to
|
||||||
|
external resources. Parenthetical references are used within the
|
||||||
|
documentation which link to entries in the Bibliography page.
|
||||||
|
Bibliographical entries provide detailed information about the external
|
||||||
|
resource and may contain hyper links to the resource if it's available
|
||||||
|
online. There are several formal styles used for writing bibliographies.
|
||||||
|
You may use what ever style you want, but one of the better styles to
|
||||||
|
consider using can be referenced <a href=
|
||||||
|
"http://www.columbia.edu/cu/cup/cgos/idx_basic.html">here</a>.</p>
|
||||||
|
|
||||||
|
<p>Since the Bibliography page should contain only bibliographical
|
||||||
|
information there is no need for a <a href="#page-index">Page
|
||||||
|
Index</a>.</p>
|
||||||
|
|
||||||
|
<p>A Bibliography page <a href="#bibliography-template">template</a> is
|
||||||
|
provided for use.</p>
|
||||||
|
|
||||||
|
<h3><a name="acknowledgements-page" id=
|
||||||
|
"acknowledgements-page"></a>Acknowledgment</h3>
|
||||||
|
|
||||||
|
<p>The Acknowledgment page is used to give credit where credit is due. When
|
||||||
|
individuals provide input on the design or implementation, or when you make
|
||||||
|
use of someone else's work, you should acknowledge them. This is a courtesy
|
||||||
|
that you'd expect others to extend to you, so you should strive to
|
||||||
|
acknowledge the efforts of everyone else in your own documentation.</p>
|
||||||
|
|
||||||
|
<p>Since the Acknowledgment page should contain only a list of
|
||||||
|
acknowledgment there is no need for a <a href="#page-index">Page
|
||||||
|
Index</a>.</p>
|
||||||
|
|
||||||
|
<p>An Acknowledgments page <a href=
|
||||||
|
"#acknowledgements-template">template</a> is provided for use.</p>
|
||||||
|
|
||||||
|
<h3><a name="header-page" id="header-page"></a>Header Reference</h3>
|
||||||
|
|
||||||
|
<p>The Header Reference pages are the most important pages in your
|
||||||
|
documentation. They document all library headers, including all the macros,
|
||||||
|
values, types, classes, functions and objects defined in them. In general
|
||||||
|
it may prove useful to follow the guidelines in <a href=
|
||||||
|
"structure.html">Documentation Structure</a> when writing the content for
|
||||||
|
these pages.</p>
|
||||||
|
|
||||||
|
<p>Like most content pages, the Header Reference pages should include a
|
||||||
|
<a href="#page-index">Page Index</a>.</p>
|
||||||
|
|
||||||
|
<p>A Header Reference page <a href="#header-template">template</a> is
|
||||||
|
provided for use.</p>
|
||||||
|
|
||||||
|
<h2><a name="layout" id="layout"></a>Layout</h2>
|
||||||
|
|
||||||
|
<p>There are certain page layout concepts that will be used frequently in
|
||||||
|
many of your pages. This section outlines some general guidelines that you
|
||||||
|
can follow when designing each of these layout concepts for your
|
||||||
|
documentation.</p>
|
||||||
|
|
||||||
|
<h3><a name="page-banner" id="page-banner"></a>Page Banner</h3>
|
||||||
|
|
||||||
|
<p>The Page Banner is located at the very top of a page and provides quick
|
||||||
|
information about the page contents. This includes the Boost logo, which
|
||||||
|
indicates to the reader that this page is part of the Boost web site, a
|
||||||
|
title for the documentation (generally the library name) and the page
|
||||||
|
title. The Boost logo should hyper link to the Boost home page on the index
|
||||||
|
page and to the index page on all other pages. This allows the user to
|
||||||
|
easily navigate through the Boost web site and through the documentation.
|
||||||
|
The <title> tag for the HTML page should consist of the documentation
|
||||||
|
title and the page title separated by a hyphen.</p>
|
||||||
|
|
||||||
|
<p>The Page Banner should be separated from the rest of the page by the use
|
||||||
|
of an <hr> tag. This helps to clearly separate the actual content
|
||||||
|
from the title information and produces cleaner text.</p>
|
||||||
|
|
||||||
|
<h3><a name="page-index" id="page-index"></a>Page Index</h3>
|
||||||
|
|
||||||
|
<p>The page index is used to quickly navigate to the various sections of
|
||||||
|
the documentation on the page, and when present should be located just
|
||||||
|
below the Page Banner.</p>
|
||||||
|
|
||||||
|
<p>The index list should generally be constructed using an HTML "definition
|
||||||
|
list" (<dl> and <DT> tags). A definition list has no bullets or
|
||||||
|
ordered specifications and produces a cleaner layout then an unordered list
|
||||||
|
(<UL> and <li> tags) or an ordered list (<ol> and
|
||||||
|
<li> tags). If you choose to use the Boost Style Sheet you should add
|
||||||
|
a <code>class="page-index"</code> attribute/value pair to the <dl>
|
||||||
|
tag.</p>
|
||||||
|
|
||||||
|
<p>Most pages should include a Page Index.</p>
|
||||||
|
|
||||||
|
<h3><a name="content" id="content"></a>Documentation Content</h3>
|
||||||
|
|
||||||
|
<p>The page's actual documentation content will be formatted according to
|
||||||
|
the specific needs of individual pages, and should be placed right after
|
||||||
|
the Page Index if present, or after the Page Banner if not. In general the
|
||||||
|
documentation content will take the form of paragraph text contained
|
||||||
|
underneath section headings.</p>
|
||||||
|
|
||||||
|
<h3><a name="doc-footnotes" id="doc-footnotes"></a>Footnotes</h3>
|
||||||
|
|
||||||
|
<p>Footnotes may be used within a page's documentation. Within the
|
||||||
|
documentation content a footnote reference should take the form of a
|
||||||
|
footnote number in parentheses (the parentheses make it easier for the
|
||||||
|
reader to click on the hyper link) hyper linking to the actual footnote at
|
||||||
|
the bottom of the page's documentation content. You may either use the
|
||||||
|
<sup> tag to format such footnote numbers, or, preferably, you can
|
||||||
|
use a CSS style class in order to distinguish the number as a footnote
|
||||||
|
instead of as part of the actual text. If you choose to use the common
|
||||||
|
<a href="#boost-style-sheet">Boost Style Sheet</a>, a <code>footnote</code>
|
||||||
class is defined for this purpose.</p>
|
class is defined for this purpose.</p>
|
||||||
<h3><a name="revision-info"></a>Revision Information</h3>
|
|
||||||
<p>At the bottom of every page should be some revision information indicating
|
<h3><a name="revision-info" id="revision-info"></a>Revision
|
||||||
when the page was last revised. This information should be separated from the
|
Information</h3>
|
||||||
rest of the page above by an <hr> tag. The following HTML code snippet
|
|
||||||
can be used to track this revision information (this code uses some server components
|
<p>At the bottom of every page should be some revision information
|
||||||
that exist on the Boost web site to automatically track revision dates with
|
indicating when the page was last revised. This information should be
|
||||||
out the need for hand editing the date text):</p>
|
separated from the rest of the page above by an <hr> tag. The
|
||||||
<pre><hr>
|
following HTML code snippet can be used to track this revision information
|
||||||
|
(this code uses some server components that exist on the Boost web site to
|
||||||
|
automatically track revision dates with out the need for hand editing the
|
||||||
|
date text):</p>
|
||||||
|
<pre>
|
||||||
|
<hr>
|
||||||
<p>Revised
|
<p>Revised
|
||||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||||
01 January, 2001
|
01 January, 2001
|
||||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||||
</p>
|
</p>
|
||||||
</pre>
|
</pre>
|
||||||
<h3><a name="copyright"></a>Copyright Information</h3>
|
|
||||||
<p>The very bottom of the page should contain any copyright information that applies
|
<h3><a name="copyright" id="copyright"></a>Copyright Information</h3>
|
||||||
to the document.</p>
|
|
||||||
<h2><a name="format"></a>Format</h2>
|
<p>The very bottom of the page should contain any copyright information
|
||||||
<p>This section provides general guidelines for formatting documentation using
|
that applies to the document.</p>
|
||||||
HTML. The description of the various "common pages" gave specific
|
|
||||||
|
<h2><a name="format" id="format"></a>Format</h2>
|
||||||
|
|
||||||
|
<p>This section provides general guidelines for formatting documentation
|
||||||
|
using HTML. The description of the various "common pages" gave specific
|
||||||
details for formatting specific sections of the documentation, which should
|
details for formatting specific sections of the documentation, which should
|
||||||
override these guidelines.</p>
|
override these guidelines.</p>
|
||||||
<h3><a name="code-format"></a>Code</h3>
|
|
||||||
<p>Code within the documentation should be placed within either <code></code>
|
<h3><a name="code-format" id="code-format"></a>Code</h3>
|
||||||
or <pre></pre> tags. For code that's placed inline with other text
|
|
||||||
you use <code></code> tags, while <pre></pre> tags are
|
<p>Code within the documentation should be placed within either
|
||||||
used for code "blocks". If a cascading style sheet is used to specify
|
<code></code> or <pre></pre> tags. For code that's
|
||||||
formatting for these tags, a fixed width sans serif font should be used. This
|
placed inline with other text you use <code></code> tags, while
|
||||||
insures that the code is easily distinguishable from the rest of the text. It
|
<pre></pre> tags are used for code "blocks". If a cascading
|
||||||
may also be beneficial to set the style for <pre></pre> tags to
|
style sheet is used to specify formatting for these tags, a fixed width
|
||||||
indent the text, to help separate code blocks from other structural HTML blocks.
|
sans serif font should be used. This insures that the code is easily
|
||||||
The <a href="#boost-style-sheet">Boost Style Sheet</a> specifies formatting
|
distinguishable from the rest of the text. It may also be beneficial to set
|
||||||
for these tags.</p>
|
the style for <pre></pre> tags to indent the text, to help
|
||||||
<p><b>Note:</b> "Code" includes variable names, function names, etc.</p>
|
separate code blocks from other structural HTML blocks. The <a href=
|
||||||
<h3><a name="lists"></a>Lists</h3>
|
"#boost-style-sheet">Boost Style Sheet</a> specifies formatting for these
|
||||||
<p>Lists should be constructed as unordered (<UL> and <li> tags),
|
tags.</p>
|
||||||
ordered (<ol> and <li> tags) or definition (<dl> and <DT>
|
|
||||||
tags) lists in HTML. You use an unordered list when you need a collection of
|
<p><b>Note:</b> "Code" includes variable names, function names, etc.</p>
|
||||||
items that don't have any kind of logical ordering, such as a list of data types
|
|
||||||
that are defined by the library and can be used for a template argument. You
|
<h3><a name="lists" id="lists"></a>Lists</h3>
|
||||||
use an ordered list when the collection of items must be grouped in a logical
|
|
||||||
ordering, such as when enumerating the steps that an action logically performs.
|
<p>Lists should be constructed as unordered (<UL> and <li>
|
||||||
You use a definition list when the list consists of not only items that have
|
tags), ordered (<ol> and <li> tags) or definition (<dl>
|
||||||
no logical ordering, but also contains definitions/descriptions/etc. of the
|
and <DT> tags) lists in HTML. You use an unordered list when you need
|
||||||
items. A good example of this is the function specifications as described in
|
a collection of items that don't have any kind of logical ordering, such as
|
||||||
<a href="structure.html">Documentation Structure</a>.</p>
|
a list of data types that are defined by the library and can be used for a
|
||||||
<h3><a name="graphics"></a>Graphics</h3>
|
template argument. You use an ordered list when the collection of items
|
||||||
<p>Graphics should be used very sparingly, if at all. Graphic images greatly effect
|
must be grouped in a logical ordering, such as when enumerating the steps
|
||||||
the download time for many people, which can discourage users from reading the
|
that an action logically performs. You use a definition list when the list
|
||||||
documentation. If you need graphic images to help illustrate something in your
|
consists of not only items that have no logical ordering, but also contains
|
||||||
documentation consider supplying only a link to the image within the documentation,
|
definitions/descriptions/etc. of the items. A good example of this is the
|
||||||
instead of embedding it directly in the text. If an image is going to be included
|
function specifications as described in <a href=
|
||||||
in the text of the document you should specify the image's size in the <img>
|
"structure.html">Documentation Structure</a>.</p>
|
||||||
tag, in order to allow the user's browser to optimize the formatting of the
|
|
||||||
text before the image is loaded.</p>
|
<h3><a name="graphics" id="graphics"></a>Graphics</h3>
|
||||||
<h3><a name="non-breaking-spaces"></a>Non-breaking Spaces</h3>
|
|
||||||
<p>Non-breaking spaces (&nbsp;) should be avoided in HTML text. Generally
|
<p>Graphics should be used very sparingly, if at all. Graphic images
|
||||||
there are more appropriate ways to format the document, such as using list constructs
|
greatly effect the download time for many people, which can discourage
|
||||||
or specifying indentation as a style attribute or in cascading style sheets.</p>
|
users from reading the documentation. If you need graphic images to help
|
||||||
<h3><a name="style-sheets"></a>Cascading Style Sheets</h3>
|
illustrate something in your documentation consider supplying only a link
|
||||||
<p>Cascading style sheets allow you to apply some advanced formatting styles to
|
to the image within the documentation, instead of embedding it directly in
|
||||||
an HTML document. More importantly, they allow you to change the formatting
|
the text. If an image is going to be included in the text of the document
|
||||||
in a single file and effect all pages using the style sheet. Instead of struggling
|
you should specify the image's size in the <img> tag, in order to
|
||||||
to produce a specific format in HTML it's often easier and more flexible to
|
allow the user's browser to optimize the formatting of the text before the
|
||||||
specify the formatting in a style sheet.</p>
|
image is loaded.</p>
|
||||||
<h4><a name="boost-style-sheet"></a>Boost Style Sheet</h4>
|
|
||||||
<p>The concept of using cascading style sheets to format HTML is such a good idea
|
<h3><a name="non-breaking-spaces" id="non-breaking-spaces"></a>Non-breaking
|
||||||
that it can be beneficial to apply this across the entire Boost site. Of course
|
Spaces</h3>
|
||||||
we can't require this (if Boost were to require such trivia for submissions
|
|
||||||
it's likely that many programmers would be discouraged from contributing). However,
|
<p>Non-breaking spaces (&nbsp;) should be avoided in HTML text.
|
||||||
a "standard" Boost style sheet (http://www.boost.org/boost.css) is
|
Generally there are more appropriate ways to format the document, such as
|
||||||
supplied anyway, so that a contributer can quickly and easily produce clear
|
using list constructs or specifying indentation as a style attribute or in
|
||||||
and consistent documentation that reflects a Boost "brand" if they
|
cascading style sheets.</p>
|
||||||
so choose. If, at a later date, it's decided to update the Boost "brand",
|
|
||||||
it may be done in this single file and all documents using the style sheet will
|
<h3><a name="style-sheets" id="style-sheets"></a>Cascading Style
|
||||||
automatically be updated.</p>
|
Sheets</h3>
|
||||||
<p>The Boost supplied style sheet not only specifies styles for many standard
|
|
||||||
tags, it also specifies several style "classes". A class is specified
|
<p>Cascading style sheets allow you to apply some advanced formatting
|
||||||
for a given tag instead of being applied to all instances of a given tag type.
|
styles to an HTML document. More importantly, they allow you to change the
|
||||||
Below is a list of the classes specified in the Boost style sheet and a description
|
formatting in a single file and effect all pages using the style sheet.
|
||||||
of when to use them:</p>
|
Instead of struggling to produce a specific format in HTML it's often
|
||||||
<dl>
|
easier and more flexible to specify the formatting in a style sheet.</p>
|
||||||
|
|
||||||
|
<h4><a name="boost-style-sheet" id="boost-style-sheet"></a>Boost Style
|
||||||
|
Sheet</h4>
|
||||||
|
|
||||||
|
<p>The concept of using cascading style sheets to format HTML is such a
|
||||||
|
good idea that it can be beneficial to apply this across the entire Boost
|
||||||
|
site. Of course we can't require this (if Boost were to require such trivia
|
||||||
|
for submissions it's likely that many programmers would be discouraged from
|
||||||
|
contributing). However, a "standard" Boost style sheet
|
||||||
|
(http://www.boost.org/boost.css) is supplied anyway, so that a contributer
|
||||||
|
can quickly and easily produce clear and consistent documentation that
|
||||||
|
reflects a Boost "brand" if they so choose. If, at a later date, it's
|
||||||
|
decided to update the Boost "brand", it may be done in this single file and
|
||||||
|
all documents using the style sheet will automatically be updated.</p>
|
||||||
|
|
||||||
|
<p>The Boost supplied style sheet not only specifies styles for many
|
||||||
|
standard tags, it also specifies several style "classes". A class is
|
||||||
|
specified for a given tag instead of being applied to all instances of a
|
||||||
|
given tag type. Below is a list of the classes specified in the Boost style
|
||||||
|
sheet and a description of when to use them:</p>
|
||||||
|
|
||||||
|
<dl>
|
||||||
<dt><b>index</b> Used for <dl> tags when writing index lists.</dt>
|
<dt><b>index</b> Used for <dl> tags when writing index lists.</dt>
|
||||||
<dt><b>page-index</b> Used for <dl> tags when writing page index lists.</dt>
|
|
||||||
|
<dt><b>page-index</b> Used for <dl> tags when writing page index
|
||||||
|
lists.</dt>
|
||||||
|
|
||||||
<dt><b>Footnote</b> Used when writing Footnote numbers.</dt>
|
<dt><b>Footnote</b> Used when writing Footnote numbers.</dt>
|
||||||
<dt><b>function-semantics</b> Used for <dl> tags when writing function
|
|
||||||
semantic lists.</dt>
|
<dt><b>function-semantics</b> Used for <dl> tags when writing
|
||||||
</dl>
|
function semantic lists.</dt>
|
||||||
<h2><a name="templates"></a>Templates</h2>
|
</dl>
|
||||||
<p>Instead of hand coding every HTML page, HTML "templates" can be used instead.
|
|
||||||
The list below provides links to templates that may be used when writing documentation
|
<h2><a name="templates" id="templates"></a>Templates</h2>
|
||||||
for a contribution to Boost. Links provided in these templates assume the files
|
|
||||||
will reside in the "traditional" directory hierarchy of <i>boost/libs/library/doc</i>.
|
<p>Instead of hand coding every HTML page, HTML "templates" can be used
|
||||||
They may need correcting if the file will reside in some other location.</p>
|
instead. The list below provides links to templates that may be used when
|
||||||
<p><b>Note:</b> Since these "templates" are just HTML pages simply clicking
|
writing documentation for a contribution to Boost. Links provided in these
|
||||||
|
templates assume the files will reside in the "traditional" directory
|
||||||
|
hierarchy of <i>boost/libs/library/doc</i>. They may need correcting if the
|
||||||
|
file will reside in some other location.</p>
|
||||||
|
|
||||||
|
<p><b>Note:</b> Since these "templates" are just HTML pages simply clicking
|
||||||
on the links below will load the template in your browser. You will need to
|
on the links below will load the template in your browser. You will need to
|
||||||
use a browser specific method to download the files instead of loading them
|
use a browser specific method to download the files instead of loading them
|
||||||
into the browser (for instance, on most Windows browsers you can right click
|
into the browser (for instance, on most Windows browsers you can right
|
||||||
on the link and select the appropriate command from the context sensitive menu).</p>
|
click on the link and select the appropriate command from the context
|
||||||
<ul>
|
sensitive menu).</p>
|
||||||
<li><a name="index-template"></a><a href="template/index.html">Index Page Template</a></li>
|
|
||||||
<li><a name="overview-template"></a><a href="template/overview.html">Overview
|
<ul>
|
||||||
Page Template</a></li>
|
<li><a name="index-template" id="index-template"></a><a href=
|
||||||
<li><a name="definitions-template"></a><a href="template/definitions.html">Definitions
|
"template/index.html">Index Page Template</a></li>
|
||||||
Page Template</a></li>
|
|
||||||
<li><a name="rationale-template"></a><a href="template/rationale.html">Rationale
|
<li><a name="overview-template" id="overview-template"></a><a href=
|
||||||
Page Template</a></li>
|
"template/overview.html">Overview Page Template</a></li>
|
||||||
<li><a name="configuration-template"></a><a href="template/configuration.html">Configuration
|
|
||||||
Page Template</a></li>
|
<li><a name="definitions-template" id="definitions-template"></a><a href=
|
||||||
<li><a name="faq-template"></a><a href="template/faq.html">FAQ (Frequently Asked
|
"template/definitions.html">Definitions Page Template</a></li>
|
||||||
Questions) Page Template</a></li>
|
|
||||||
<li><a name="bibliography-template"></a><a href="template/bibliography.html">Bibliography
|
<li><a name="rationale-template" id="rationale-template"></a><a href=
|
||||||
Page Template</a></li>
|
"template/rationale.html">Rationale Page Template</a></li>
|
||||||
<li><a name="acknowledgements-template"></a><a href="template/acknowledgments.html">Acknowledgments
|
|
||||||
Page Template</a></li>
|
<li><a name="configuration-template" id=
|
||||||
<li><a name="header-template"></a><a href="template/header.html">Header Page
|
"configuration-template"></a><a href=
|
||||||
|
"template/configuration.html">Configuration Page Template</a></li>
|
||||||
|
|
||||||
|
<li><a name="faq-template" id="faq-template"></a><a href=
|
||||||
|
"template/faq.html">FAQ (Frequently Asked Questions) Page
|
||||||
Template</a></li>
|
Template</a></li>
|
||||||
</ul>
|
|
||||||
<hr>
|
<li><a name="bibliography-template" id=
|
||||||
<p>Revised
|
"bibliography-template"></a><a href=
|
||||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->29 November, 2003<!--webbot bot="Timestamp" endspan i-checksum="39371" -->
|
"template/bibliography.html">Bibliography Page Template</a></li>
|
||||||
</p>
|
|
||||||
<p><i>© Copyright <a href="mailto:williamkempf@hotmail.com">William E. Kempf</a>
|
<li><a name="acknowledgements-template" id=
|
||||||
2001. All Rights Reserved.</i></p>
|
"acknowledgements-template"></a><a href=
|
||||||
|
"template/acknowledgments.html">Acknowledgments Page Template</a></li>
|
||||||
|
|
||||||
|
<li><a name="header-template" id="header-template"></a><a href=
|
||||||
|
"template/header.html">Header Page Template</a></li>
|
||||||
|
</ul>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
|
||||||
|
"http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
|
||||||
|
height="31" width="88"></a></p>
|
||||||
|
|
||||||
|
<p>Revised
|
||||||
|
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->04
|
||||||
|
December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38514" --></p>
|
||||||
|
|
||||||
|
<p><i>Copyright © 2001 <a href=
|
||||||
|
"mailto:williamkempf@hotmail.com">William E. Kempf</a></i></p>
|
||||||
|
|
||||||
|
<p><i>Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
accompanying file <a href="../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
|
||||||
|
copy at <a href=
|
||||||
|
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,36 +1,57 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Language" content="en-us">
|
||||||
<link rel="stylesheet" type="text/css" href="../../boost.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||||
<title>Writing Documentation for Boost</title>
|
<link rel="stylesheet" type="text/css" href="../../boost.css">
|
||||||
|
|
||||||
|
<title>Writing Documentation for Boost</title>
|
||||||
</head>
|
</head>
|
||||||
<body link="#0000ff" vlink="#800080">
|
|
||||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
<body link="#0000FF" vlink="#800080">
|
||||||
|
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||||
"header">
|
"header">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" width="300">
|
<td valign="top" width="300">
|
||||||
<h3><a href="../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../boost.png" border="0"></a></h3>
|
<h3><a href="../../index.htm"><img height="86" width="277" alt=
|
||||||
|
"C++ Boost" src="../../boost.png" border="0"></a></h3>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<h1 align="center">Writing Documentation for Boost</h1>
|
<h1 align="center">Writing Documentation for Boost</h1>
|
||||||
|
|
||||||
<h2 align="center">Index</h2>
|
<h2 align="center">Index</h2>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
<h2>Contents</h2>
|
|
||||||
<dl class="index">
|
<h2>Contents</h2>
|
||||||
|
|
||||||
|
<dl class="index">
|
||||||
<dt><a href="introduction.html">Introduction</a></dt>
|
<dt><a href="introduction.html">Introduction</a></dt>
|
||||||
|
|
||||||
<dt><a href="structure.html">Documentation Structure</a></dt>
|
<dt><a href="structure.html">Documentation Structure</a></dt>
|
||||||
|
|
||||||
<dt><a href="design.html">HTML Design</a></dt>
|
<dt><a href="design.html">HTML Design</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
<hr>
|
<hr>
|
||||||
<p>Revised
|
|
||||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
|
||||||
05 November, 2001
|
"http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
|
||||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
height="31" width="88"></a></p>
|
||||||
</p>
|
|
||||||
<p><i>© Copyright <a href="mailto:williamkempf@hotmail.com">William E. Kempf</a>
|
<p>Revised
|
||||||
2001. All Rights Reserved.</i></p>
|
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->04
|
||||||
|
December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38514" --></p>
|
||||||
|
|
||||||
|
<p><i>Copyright © 2001 <a href=
|
||||||
|
"mailto:williamkempf@hotmail.com">William E. Kempf</a></i></p>
|
||||||
|
|
||||||
|
<p><i>Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
accompanying file <a href="../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
|
||||||
|
copy at <a href=
|
||||||
|
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,46 +1,68 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Language" content="en-us">
|
||||||
<link rel="stylesheet" type="text/css" href="../../boost.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||||
<title>Writing Documentation for Boost - Introduction</title>
|
<link rel="stylesheet" type="text/css" href="../../boost.css">
|
||||||
|
|
||||||
|
<title>Writing Documentation for Boost - Introduction</title>
|
||||||
</head>
|
</head>
|
||||||
<body link="#0000ff" vlink="#800080">
|
|
||||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
<body link="#0000FF" vlink="#800080">
|
||||||
|
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||||
"header">
|
"header">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" width="300">
|
<td valign="top" width="300">
|
||||||
<h3><a href="index.html"><img height="86" width="277" alt="C++ Boost" src="../../boost.png" border="0"></a></h3>
|
<h3><a href="index.html"><img height="86" width="277" alt="C++ Boost"
|
||||||
|
src="../../boost.png" border="0"></a></h3>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<h1 align="center">Writing Documentation for Boost</h1>
|
<h1 align="center">Writing Documentation for Boost</h1>
|
||||||
|
|
||||||
<h2 align="center">Introduction</h2>
|
<h2 align="center">Introduction</h2>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
<p>Boost does not have any requirements on how you write your documentation. If
|
|
||||||
you are submitting a library that already has written documentation in HTML
|
<p>Boost does not have any requirements on how you write your
|
||||||
format, there is no reason to change it to follow any of the guidelines presented
|
documentation. If you are submitting a library that already has written
|
||||||
here. However, if you have documentation that's not in HTML format and can't
|
documentation in HTML format, there is no reason to change it to follow any
|
||||||
be easily converted to HTML, or if you're starting on a library from scratch
|
of the guidelines presented here. However, if you have documentation that's
|
||||||
or have a library with no documentation then these guidelines can make writing
|
not in HTML format and can't be easily converted to HTML, or if you're
|
||||||
the documentation much easier.</p>
|
starting on a library from scratch or have a library with no documentation
|
||||||
<p>The section on <a href="structure.html">Documentation Structure</a> describes
|
then these guidelines can make writing the documentation much easier.</p>
|
||||||
how to go about structuring the documentation's content. This section may be
|
|
||||||
helpful even for libraries that already have documentation. If there's a desire
|
<p>The section on <a href="structure.html">Documentation Structure</a>
|
||||||
to present the library for possible inclusion by the C++ Standards Committee
|
describes how to go about structuring the documentation's content. This
|
||||||
then there may be a need to restructure the documentation's content in order
|
section may be helpful even for libraries that already have documentation.
|
||||||
to insure the content meets explicit requirements for library components (Section
|
If there's a desire to present the library for possible inclusion by the
|
||||||
17.3).</p>
|
C++ Standards Committee then there may be a need to restructure the
|
||||||
<p>The section on <a href="design.html">HTML Design</a> gives general rules to
|
documentation's content in order to insure the content meets explicit
|
||||||
follow when writing HTML documentation in order to give a professional and consistent
|
requirements for library components (Section 17.3).</p>
|
||||||
look. This section also contains some template files that can be used to rapidly
|
|
||||||
create documentation pages.</p>
|
<p>The section on <a href="design.html">HTML Design</a> gives general rules
|
||||||
<hr>
|
to follow when writing HTML documentation in order to give a professional
|
||||||
<p>Revised
|
and consistent look. This section also contains some template files that
|
||||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->29 November, 2003<!--webbot bot="Timestamp" endspan i-checksum="39371" -->
|
can be used to rapidly create documentation pages.</p>
|
||||||
</p>
|
<hr>
|
||||||
<p><i>© Copyright <a href="mailto:williamkempf@hotmail.com">William E. Kempf</a>
|
|
||||||
2001. All Rights Reserved.</i></p>
|
<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
|
||||||
|
"http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
|
||||||
|
height="31" width="88"></a></p>
|
||||||
|
|
||||||
|
<p>Revised
|
||||||
|
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->04
|
||||||
|
December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38514" --></p>
|
||||||
|
|
||||||
|
<p><i>Copyright © 2001 <a href=
|
||||||
|
"mailto:williamkempf@hotmail.com">William E. Kempf</a></i></p>
|
||||||
|
|
||||||
|
<p><i>Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
accompanying file <a href="../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
|
||||||
|
copy at <a href=
|
||||||
|
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,254 +1,433 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Language" content="en-us">
|
||||||
<link rel="stylesheet" type="text/css" href="../../boost.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||||
<title>Writing Documentation for Boost - Documentation Structure</title>
|
<link rel="stylesheet" type="text/css" href="../../boost.css">
|
||||||
|
|
||||||
|
<title>Writing Documentation for Boost - Documentation Structure</title>
|
||||||
</head>
|
</head>
|
||||||
<body link="#0000ff" vlink="#800080">
|
|
||||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
<body link="#0000FF" vlink="#800080">
|
||||||
|
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||||
"header">
|
"header">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" width="300">
|
<td valign="top" width="300">
|
||||||
<h3><a href="index.html"><img height="86" width="277" alt="C++ Boost" src="../../boost.png" border="0"></a></h3>
|
<h3><a href="index.html"><img height="86" width="277" alt="C++ Boost"
|
||||||
|
src="../../boost.png" border="0"></a></h3>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<h1 align="center">Writing Documentation for Boost</h1>
|
<h1 align="center">Writing Documentation for Boost</h1>
|
||||||
|
|
||||||
<h2 align="center">Documentation Structure</h2>
|
<h2 align="center">Documentation Structure</h2>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
<dl class="page-index">
|
|
||||||
|
<dl class="page-index">
|
||||||
<dt><a href="#introduction">Introduction</a></dt>
|
<dt><a href="#introduction">Introduction</a></dt>
|
||||||
<dt><a href="#standards-conforming">Standards Conforming Documentation</a></dt>
|
|
||||||
|
<dt><a href="#standards-conforming">Standards Conforming
|
||||||
|
Documentation</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#elements">Document elements</a></dt>
|
<dt><a href="#elements">Document elements</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#summary">Summary</a></dt>
|
<dt><a href="#summary">Summary</a></dt>
|
||||||
|
|
||||||
<dt><a href="#requirements">Requirements</a></dt>
|
<dt><a href="#requirements">Requirements</a></dt>
|
||||||
|
|
||||||
<dt><a href="#detailed-specs">Detailed specifications</a></dt>
|
<dt><a href="#detailed-specs">Detailed specifications</a></dt>
|
||||||
<dt><a href="#ref-cpp">References to the Standard C++ library</a></dt>
|
|
||||||
<dt><a href="#ref-c">References to the Standard C library</a></dt>
|
<dt><a href="#ref-cpp">References to the Standard C++
|
||||||
|
library</a></dt>
|
||||||
|
|
||||||
|
<dt><a href="#ref-c">References to the Standard C
|
||||||
|
library</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="#other">Other conventions</a></dt>
|
<dt><a href="#other">Other conventions</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#type-descs">Type descriptions</a></dt>
|
<dt><a href="#type-descs">Type descriptions</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="#more">More Information</a></dt>
|
<dt><a href="#more">More Information</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#function-semantic-explanations">Function semantic element explanations</a></dt>
|
<dt><a href="#function-semantic-explanations">Function semantic
|
||||||
|
element explanations</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#requires">Requires</a></dt>
|
<dt><a href="#requires">Requires</a></dt>
|
||||||
|
|
||||||
<dt><a href="#effects">Effects</a></dt>
|
<dt><a href="#effects">Effects</a></dt>
|
||||||
|
|
||||||
<dt><a href="#postconditions">Postconditions</a></dt>
|
<dt><a href="#postconditions">Postconditions</a></dt>
|
||||||
|
|
||||||
<dt><a href="#returns">Returns</a></dt>
|
<dt><a href="#returns">Returns</a></dt>
|
||||||
|
|
||||||
<dt><a href="#throws">Throws</a></dt>
|
<dt><a href="#throws">Throws</a></dt>
|
||||||
|
|
||||||
<dt><a href="#complexity">Complexity</a></dt>
|
<dt><a href="#complexity">Complexity</a></dt>
|
||||||
|
|
||||||
<dt><a href="#rationale">Rationale</a></dt>
|
<dt><a href="#rationale">Rationale</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="#footnotes">Footnotes</a></dt>
|
<dt><a href="#footnotes">Footnotes</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
<h2><a name="introduction">Introduction</a></h2>
|
|
||||||
<p>Boost itself does not require any specific documentation structure. The C++
|
<h2><a name="introduction" id="introduction">Introduction</a></h2>
|
||||||
Standard, however, has very explicit requirements for the description of library
|
|
||||||
components (Section 17.3). So for Boost libraries likely to be proposed for
|
<p>Boost itself does not require any specific documentation structure. The
|
||||||
inclusion in the standard, it is highly desirable to structure documentation
|
C++ Standard, however, has very explicit requirements for the description
|
||||||
in a way that meets the requirements of the the standard. Doing so eliminates
|
of library components (Section 17.3). So for Boost libraries likely to be
|
||||||
the need to rewrite the documentation for standardization.</p>
|
proposed for inclusion in the standard, it is highly desirable to structure
|
||||||
<p>Library developers should remember that for a library to be accepted as part
|
documentation in a way that meets the requirements of the the standard.
|
||||||
of the C++ Standard Library, the proposal must include full wording. The committee
|
Doing so eliminates the need to rewrite the documentation for
|
||||||
will not do that work for you.</p>
|
standardization.</p>
|
||||||
<p>Beyond that, the documentation structure required for the standard is an effective
|
|
||||||
way to communicate the technical specifications for a library. Although terse,
|
<p>Library developers should remember that for a library to be accepted as
|
||||||
it is already familiar to many Boost users, and is far more precise than most
|
part of the C++ Standard Library, the proposal must include full wording.
|
||||||
ad hoc documentation structures.</p>
|
The committee will not do that work for you.</p>
|
||||||
<p>The following description is for the structure of documentation required by
|
|
||||||
the standard. Boost libraries should also provided additional documentation,
|
<p>Beyond that, the documentation structure required for the standard is an
|
||||||
such as introductory, tutorial, example, and rationale material.</p>
|
effective way to communicate the technical specifications for a library.
|
||||||
<h2><a name="standards-conforming">Standards Conforming</a> Documentation</h2>
|
Although terse, it is already familiar to many Boost users, and is far more
|
||||||
<h3><a name="elements">Document elements</a></h3>
|
precise than most ad hoc documentation structures.</p>
|
||||||
<p>Each document contains the following elements, as applicable<a class="footnote" href="#footnote1">(1)</a>:</p>
|
|
||||||
<ul>
|
<p>The following description is for the structure of documentation required
|
||||||
|
by the standard. Boost libraries should also provided additional
|
||||||
|
documentation, such as introductory, tutorial, example, and rationale
|
||||||
|
material.</p>
|
||||||
|
|
||||||
|
<h2><a name="standards-conforming" id="standards-conforming">Standards
|
||||||
|
Conforming</a> Documentation</h2>
|
||||||
|
|
||||||
|
<h3><a name="elements" id="elements">Document elements</a></h3>
|
||||||
|
|
||||||
|
<p>Each document contains the following elements, as applicable<a class=
|
||||||
|
"footnote" href="#footnote1">(1)</a>:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
<li><a href="#summary">Summary</a></li>
|
<li><a href="#summary">Summary</a></li>
|
||||||
|
|
||||||
<li><a href="#requirements">Requirements</a></li>
|
<li><a href="#requirements">Requirements</a></li>
|
||||||
|
|
||||||
<li><a href="#detailed-specs">Detailed specifications</a></li>
|
<li><a href="#detailed-specs">Detailed specifications</a></li>
|
||||||
|
|
||||||
<li><a href="#ref-cpp">References to the Standard C++ library</a></li>
|
<li><a href="#ref-cpp">References to the Standard C++ library</a></li>
|
||||||
|
|
||||||
<li><a href="#ref-c">References to the Standard C library</a></li>
|
<li><a href="#ref-c">References to the Standard C library</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<h4><a name="summary">Summary</a></h4>
|
|
||||||
<p>The Summary provides a synopsis of the category, and introduces the first-level
|
<h4><a name="summary" id="summary">Summary</a></h4>
|
||||||
subclauses. Each subclause also provides a summary, listing the headers specified
|
|
||||||
in the subclause and the library entities provided in each header.</p>
|
<p>The Summary provides a synopsis of the category, and introduces the
|
||||||
<p>Paragraphs labeled "Note(s):" or "Example(s):" are informative, other paragraphs
|
first-level subclauses. Each subclause also provides a summary, listing the
|
||||||
are normative.</p>
|
headers specified in the subclause and the library entities provided in
|
||||||
<p>The summary and the detailed specifications are presented in the order:</p>
|
each header.</p>
|
||||||
<ul>
|
|
||||||
|
<p>Paragraphs labeled "Note(s):" or "Example(s):" are informative, other
|
||||||
|
paragraphs are normative.</p>
|
||||||
|
|
||||||
|
<p>The summary and the detailed specifications are presented in the
|
||||||
|
order:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
<li>Macros</li>
|
<li>Macros</li>
|
||||||
|
|
||||||
<li>Values</li>
|
<li>Values</li>
|
||||||
|
|
||||||
<li>Types</li>
|
<li>Types</li>
|
||||||
|
|
||||||
<li>Classes</li>
|
<li>Classes</li>
|
||||||
|
|
||||||
<li>Functions</li>
|
<li>Functions</li>
|
||||||
|
|
||||||
<li>Objects</li>
|
<li>Objects</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h4><a name="requirements">Requirements</a></h4>
|
|
||||||
<p>The library can be extended by a C++ program. Each clause, as applicable, describes
|
<h4><a name="requirements" id="requirements">Requirements</a></h4>
|
||||||
the requirements that such extensions must meet. Such extensions are generally
|
|
||||||
one of the following:</p>
|
<p>The library can be extended by a C++ program. Each clause, as
|
||||||
<ul>
|
applicable, describes the requirements that such extensions must meet. Such
|
||||||
|
extensions are generally one of the following:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
<li>Template arguments</li>
|
<li>Template arguments</li>
|
||||||
|
|
||||||
<li>Derived classes</li>
|
<li>Derived classes</li>
|
||||||
<li>Containers, iterators, and/or algorithms that meet an interface convention</li>
|
|
||||||
</ul>
|
<li>Containers, iterators, and/or algorithms that meet an interface
|
||||||
<p>Interface convention requirements are stated as generally as possible. Instead
|
convention</li>
|
||||||
of stating "<code>class X</code> has to define a member function <code>operator++()</code>,"
|
</ul>
|
||||||
the interface requires "for any object <code>x</code> of <code>class X</code>,
|
|
||||||
<code>++x</code> is defined." That is, whether the operator is a member is unspecified.</p>
|
<p>Interface convention requirements are stated as generally as possible.
|
||||||
<p>Requirements are stated in terms of well-defined expressions, which define
|
Instead of stating "<code>class X</code> has to define a member function
|
||||||
valid terms of the types that satisfy the requirements. For every set of requirements
|
<code>operator++()</code>," the interface requires "for any object
|
||||||
there is a table that specifies an initial set of the valid expressions and
|
<code>x</code> of <code>class X</code>, <code>++x</code> is defined." That
|
||||||
their semantics. Any generic algorithm that uses the requirements is described
|
is, whether the operator is a member is unspecified.</p>
|
||||||
in terms of the valid expressions for its formal type parameters.</p>
|
|
||||||
<p>Template argument requirements are sometimes referenced by name.</p>
|
<p>Requirements are stated in terms of well-defined expressions, which
|
||||||
<p>In some cases the semantic requirements are presented as C++ code. Such code
|
define valid terms of the types that satisfy the requirements. For every
|
||||||
is intended as a specification of equivalance of a construct to another construct,
|
set of requirements there is a table that specifies an initial set of the
|
||||||
not necessarily as the way the construct must be implemented.<a class="footnote" href="#footnote2">(2)</a></p>
|
valid expressions and their semantics. Any generic algorithm that uses the
|
||||||
<h4><a name="detailed-specs">Detailed specification</a></h4>
|
requirements is described in terms of the valid expressions for its formal
|
||||||
<p>The detailed specifications each contain the following elements:</p>
|
type parameters.</p>
|
||||||
<ul>
|
|
||||||
|
<p>Template argument requirements are sometimes referenced by name.</p>
|
||||||
|
|
||||||
|
<p>In some cases the semantic requirements are presented as C++ code. Such
|
||||||
|
code is intended as a specification of equivalance of a construct to
|
||||||
|
another construct, not necessarily as the way the construct must be
|
||||||
|
implemented.<a class="footnote" href="#footnote2">(2)</a></p>
|
||||||
|
|
||||||
|
<h4><a name="detailed-specs" id="detailed-specs">Detailed
|
||||||
|
specification</a></h4>
|
||||||
|
|
||||||
|
<p>The detailed specifications each contain the following elements:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
<li>Name and brief description</li>
|
<li>Name and brief description</li>
|
||||||
<li>Synopsis (class definition or function prototype, as appropriate)</li>
|
|
||||||
|
<li>Synopsis (class definition or function prototype, as
|
||||||
|
appropriate)</li>
|
||||||
|
|
||||||
<li>Restrictions on template arguments, if any</li>
|
<li>Restrictions on template arguments, if any</li>
|
||||||
|
|
||||||
<li>Description of class invariants</li>
|
<li>Description of class invariants</li>
|
||||||
|
|
||||||
<li>Description of function semantics</li>
|
<li>Description of function semantics</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Descriptions of class member functions follow the order (as appropriate)<a class="footnote" href="#footnote3">(3)</a>:</p>
|
|
||||||
<ul>
|
<p>Descriptions of class member functions follow the order (as
|
||||||
|
appropriate)<a class="footnote" href="#footnote3">(3)</a>:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
<li>Constructor(s) and destructor</li>
|
<li>Constructor(s) and destructor</li>
|
||||||
|
|
||||||
<li>Copying and assignment functions</li>
|
<li>Copying and assignment functions</li>
|
||||||
|
|
||||||
<li>Comparison functions</li>
|
<li>Comparison functions</li>
|
||||||
|
|
||||||
<li>Modifier functions</li>
|
<li>Modifier functions</li>
|
||||||
|
|
||||||
<li>Observer functions</li>
|
<li>Observer functions</li>
|
||||||
|
|
||||||
<li>Operators and other non-member functions</li>
|
<li>Operators and other non-member functions</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Descriptions of function semantics contain the following <a name="function-elements">elements</a>
|
|
||||||
(as appropriate)<a class="footnote" href="#footnote4">(4):</a></p>
|
<p>Descriptions of function semantics contain the following <a name=
|
||||||
<dl class="function-semantics">
|
"function-elements" id="function-elements">elements</a> (as
|
||||||
<dt><b><a href="#requires">Requires:</a></b> the preconditions for calling the
|
appropriate)<a class="footnote" href="#footnote4">(4):</a></p>
|
||||||
|
|
||||||
|
<dl class="function-semantics">
|
||||||
|
<dt><b><a href="#requires">Requires:</a></b> the preconditions for
|
||||||
|
calling the function</dt>
|
||||||
|
|
||||||
|
<dt><b><a href="#effects">Effects:</a></b> the actions performed by the
|
||||||
function</dt>
|
function</dt>
|
||||||
<dt><b><a href="#effects">Effects:</a></b> the actions performed by the function</dt>
|
|
||||||
<dt><b><a href="#postconditions">Postconditions:</a></b> the observable results
|
<dt><b><a href="#postconditions">Postconditions:</a></b> the observable
|
||||||
established by the function</dt>
|
results established by the function</dt>
|
||||||
<dt><b><a href="#returns">Returns:</a></b> a description of the value(s) returned
|
|
||||||
by the function</dt>
|
<dt><b><a href="#returns">Returns:</a></b> a description of the value(s)
|
||||||
<dt><b><a href="#throws">Throws:</a></b> any exceptions thrown by the function,
|
returned by the function</dt>
|
||||||
and the conditions that would cause the exception</dt>
|
|
||||||
<dt><b><a href="#complexity">Complexity:</a></b> the time and/or space complexity
|
<dt><b><a href="#throws">Throws:</a></b> any exceptions thrown by the
|
||||||
of the function</dt>
|
function, and the conditions that would cause the exception</dt>
|
||||||
<dt><b><a href="#rationale">Rationale:</a></b> the rationale for the function's design
|
|
||||||
or existence</dt>
|
<dt><b><a href="#complexity">Complexity:</a></b> the time and/or space
|
||||||
</dl>
|
complexity of the function</dt>
|
||||||
<p>Complexity requirements specified in the library clauses are upper bounds,
|
|
||||||
and implementations that provide better complexity guarantees satisfy the requirements.</p>
|
<dt><b><a href="#rationale">Rationale:</a></b> the rationale for the
|
||||||
<h4><a name="ref-cpp">References to the C++ Standard library</a></h4>
|
function's design or existence</dt>
|
||||||
<h4><a name="ref-c">References to the C Standard library</a></h4>
|
</dl>
|
||||||
<h3><a name="other">Other conventions</a></h3>
|
|
||||||
<p>These conventions are for describing implementation-defined types, and member
|
<p>Complexity requirements specified in the library clauses are upper
|
||||||
functions.</p>
|
bounds, and implementations that provide better complexity guarantees
|
||||||
<h4><a name="type-descs">Type descriptions</a></h4>
|
satisfy the requirements.</p>
|
||||||
<p>The Requirements subclauses may describe names that are used to specify constraints
|
|
||||||
on template arguments.</p>
|
<h4><a name="ref-cpp" id="ref-cpp">References to the C++ Standard
|
||||||
<h2><a name="more">More Information</a></h2>
|
library</a></h4>
|
||||||
<h3><a name="function-semantic-explanations">Function semantic element explanations</a></h3>
|
|
||||||
<p>The function semantic element description <a href="#function-elements">above</a>
|
<h4><a name="ref-c" id="ref-c">References to the C Standard
|
||||||
is taken directly from the C++ standard, and is quite terse. Here is a more
|
library</a></h4>
|
||||||
detailed explanation of each of the elements.</p>
|
|
||||||
<p>Note the use of the <code><code> ... </code></code> font tag to
|
<h3><a name="other" id="other">Other conventions</a></h3>
|
||||||
distinguish actual C++ usage from English prose.</p>
|
|
||||||
<h4><a name="requires">Requires</a></h4>
|
<p>These conventions are for describing implementation-defined types, and
|
||||||
<p>Preconditions for calling the function, typically expressed as predicates.
|
member functions.</p>
|
||||||
The most common preconditions are requirements on the value of arguments, often
|
|
||||||
in the form of C++ expressions. For example,
|
<h4><a name="type-descs" id="type-descs">Type descriptions</a></h4>
|
||||||
<pre>
|
|
||||||
|
<p>The Requirements subclauses may describe names that are used to specify
|
||||||
|
constraints on template arguments.</p>
|
||||||
|
|
||||||
|
<h2><a name="more" id="more">More Information</a></h2>
|
||||||
|
|
||||||
|
<h3><a name="function-semantic-explanations" id=
|
||||||
|
"function-semantic-explanations">Function semantic element
|
||||||
|
explanations</a></h3>
|
||||||
|
|
||||||
|
<p>The function semantic element description <a href=
|
||||||
|
"#function-elements">above</a> is taken directly from the C++ standard, and
|
||||||
|
is quite terse. Here is a more detailed explanation of each of the
|
||||||
|
elements.</p>
|
||||||
|
|
||||||
|
<p>Note the use of the <code><code> ... </code></code> font tag
|
||||||
|
to distinguish actual C++ usage from English prose.</p>
|
||||||
|
|
||||||
|
<h4><a name="requires" id="requires">Requires</a></h4>
|
||||||
|
|
||||||
|
<p>Preconditions for calling the function, typically expressed as
|
||||||
|
predicates. The most common preconditions are requirements on the value of
|
||||||
|
arguments, often in the form of C++ expressions. For example,</p>
|
||||||
|
<pre>
|
||||||
|
|
||||||
<code>void limit( int * p, int min, int max );</code>
|
<code>void limit( int * p, int min, int max );</code>
|
||||||
</pre>
|
</pre>
|
||||||
<dl class="function-semantics">
|
|
||||||
|
<dl class="function-semantics">
|
||||||
<dt><b>Requires:</b> <code>p != 0 && min <= max</code></dt>
|
<dt><b>Requires:</b> <code>p != 0 && min <= max</code></dt>
|
||||||
</dl>
|
</dl>
|
||||||
<p>Requirements already enforced by the C++ language rules (such as the type of
|
|
||||||
arguments) are not repeated in Requires paragraphs.</p>
|
<p>Requirements already enforced by the C++ language rules (such as the
|
||||||
<h4><a name="effects">Effects</a></h4>
|
type of arguments) are not repeated in Requires paragraphs.</p>
|
||||||
<p>The actions performed by the function, described either in prose or in C++.
|
|
||||||
A description in prose is often less limiting on implementors, but is often
|
<h4><a name="effects" id="effects">Effects</a></h4>
|
||||||
less precise than C++ code.</p>
|
|
||||||
<p>If an effect is specified in one of the other elements, particularly <i>postconditions</i>,
|
<p>The actions performed by the function, described either in prose or in
|
||||||
<i>returns</i>, or <i>throws</i>, it is not also described in the <i>effects</i>
|
C++. A description in prose is often less limiting on implementors, but is
|
||||||
paragraph. Having only a single description ensures that there is one and only
|
often less precise than C++ code.</p>
|
||||||
one specification, and thus eliminates the risk of divergence.</p>
|
|
||||||
<h4><a name="postconditions">Postconditions</a></h4>
|
<p>If an effect is specified in one of the other elements, particularly
|
||||||
<p>The observable results of the function, such as the value of variables. Postconditions
|
<i>postconditions</i>, <i>returns</i>, or <i>throws</i>, it is not also
|
||||||
are often expressed as predicates that are true after the function completes,
|
described in the <i>effects</i> paragraph. Having only a single description
|
||||||
in the form of C++ expressions. For example:</p>
|
ensures that there is one and only one specification, and thus eliminates
|
||||||
<pre>
|
the risk of divergence.</p>
|
||||||
|
|
||||||
|
<h4><a name="postconditions" id="postconditions">Postconditions</a></h4>
|
||||||
|
|
||||||
|
<p>The observable results of the function, such as the value of variables.
|
||||||
|
Postconditions are often expressed as predicates that are true after the
|
||||||
|
function completes, in the form of C++ expressions. For example:</p>
|
||||||
|
<pre>
|
||||||
|
|
||||||
void make_zero_if_negative( int & x );
|
void make_zero_if_negative( int & x );
|
||||||
</pre>
|
</pre>
|
||||||
<dl class="function-semantics">
|
|
||||||
|
<dl class="function-semantics">
|
||||||
<dt><b>Postcondition:</b> <code>x >= 0</code></dt>
|
<dt><b>Postcondition:</b> <code>x >= 0</code></dt>
|
||||||
</dl>
|
</dl>
|
||||||
<h4><a name="returns">Returns</a></h4>
|
|
||||||
<p>The value returned by the function, usually in the form of a C++ expression.
|
<h4><a name="returns" id="returns">Returns</a></h4>
|
||||||
For example:</p>
|
|
||||||
<pre>int sum( int x, int y );
|
<p>The value returned by the function, usually in the form of a C++
|
||||||
|
expression. For example:</p>
|
||||||
|
<pre>
|
||||||
|
int sum( int x, int y );
|
||||||
</pre>
|
</pre>
|
||||||
<dl class="function-semantics">
|
|
||||||
|
<dl class="function-semantics">
|
||||||
<dt><b>Returns:</b> <code>x + y</code></dt>
|
<dt><b>Returns:</b> <code>x + y</code></dt>
|
||||||
</dl>
|
</dl>
|
||||||
<p>Only specify the return value; the type is already dictated by C++ language
|
|
||||||
rules.
|
<p>Only specify the return value; the type is already dictated by C++
|
||||||
<h4><a name="throws">Throws</a></h4>
|
language rules.</p>
|
||||||
<p>Specify both the type of exception thrown, and the condition that causes the
|
|
||||||
exception to be thrown. For example, the <code>std::basic_string</code> class
|
<h4><a name="throws" id="throws">Throws</a></h4>
|
||||||
specifies:
|
|
||||||
<pre>
|
<p>Specify both the type of exception thrown, and the condition that causes
|
||||||
|
the exception to be thrown. For example, the <code>std::basic_string</code>
|
||||||
|
class specifies:</p>
|
||||||
|
<pre>
|
||||||
|
|
||||||
void resize(size_type n, charT c);
|
void resize(size_type n, charT c);
|
||||||
</pre>
|
</pre>
|
||||||
<dl class="function-semantics">
|
|
||||||
<dt><b>Throws:</b> <code> length_error</code> if <code>n > max_size()</code>.</dt>
|
<dl class="function-semantics">
|
||||||
</dl>
|
<dt><b>Throws:</b> <code>length_error</code> if <code>n >
|
||||||
<h4><a name="complexity">Complexity</a></h4>
|
max_size()</code>.</dt>
|
||||||
<p>Specifying the time and/or space complexity of a function is often not desirable
|
</dl>
|
||||||
because it over-constrains implementors and is hard to specify correctly. Complexity
|
|
||||||
is thus often best left as a quality of implementation issue.</p>
|
<h4><a name="complexity" id="complexity">Complexity</a></h4>
|
||||||
<p>A library component, however, can become effectively non-portable if there
|
|
||||||
is wide variation in performance between conforming implementations. Containers
|
<p>Specifying the time and/or space complexity of a function is often not
|
||||||
are a prime example. In these cases it becomes worthwhile to specify complexity.</p>
|
desirable because it over-constrains implementors and is hard to specify
|
||||||
<p>Complexity is often specified in generalized <a href="http://hissa.nist.gov/dads/HTML/bigOnotation.html">
|
correctly. Complexity is thus often best left as a quality of
|
||||||
"Big-O" notation</a>.</p>
|
implementation issue.</p>
|
||||||
<h4><a name="rationale">Rationale</a></h4>
|
|
||||||
<p>Specifying the rationale for a function's design or existence can often give users
|
<p>A library component, however, can become effectively non-portable if
|
||||||
a lot of insight into why a library is designed the way it is. More importantly, it
|
there is wide variation in performance between conforming implementations.
|
||||||
can help prevent "fixing" something that wasn't really broken as the library matures.</p>
|
Containers are a prime example. In these cases it becomes worthwhile to
|
||||||
<h2><a name="footnotes">Footnotes</a></h2>
|
specify complexity.</p>
|
||||||
<dl>
|
|
||||||
<dt><a class="footnote" name="footnote1">(1)</a>
|
<p>Complexity is often specified in generalized <a href=
|
||||||
To save space, items that do not apply to a clause are omitted. For example,
|
"http://hissa.nist.gov/dads/HTML/bigOnotation.html">"Big-O"
|
||||||
if a clause does not specify any requirements, there will be no "Requirements"
|
notation</a>.</p>
|
||||||
|
|
||||||
|
<h4><a name="rationale" id="rationale">Rationale</a></h4>
|
||||||
|
|
||||||
|
<p>Specifying the rationale for a function's design or existence can often
|
||||||
|
give users a lot of insight into why a library is designed the way it is.
|
||||||
|
More importantly, it can help prevent "fixing" something that wasn't really
|
||||||
|
broken as the library matures.</p>
|
||||||
|
|
||||||
|
<h2><a name="footnotes" id="footnotes">Footnotes</a></h2>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt><a class="footnote" name="footnote1" id="footnote1">(1)</a> To save
|
||||||
|
space, items that do not apply to a clause are omitted. For example, if a
|
||||||
|
clause does not specify any requirements, there will be no "Requirements"
|
||||||
subclause.</dt>
|
subclause.</dt>
|
||||||
<dt><a class="footnote" name="footnote2">(2)</a> Although in some cases the
|
|
||||||
code is unambiguously the optimum implementation.</dt>
|
<dt><a class="footnote" name="footnote2" id="footnote2">(2)</a> Although
|
||||||
<dt><a class="footnote" name="footnote3">(3)</a> To save space, items that do
|
in some cases the code is unambiguously the optimum implementation.</dt>
|
||||||
not apply to a class are omitted. For example, if a class does not specify
|
|
||||||
any comparison functions, there will be no "Comparison functions" subclause.</dt>
|
<dt><a class="footnote" name="footnote3" id="footnote3">(3)</a> To save
|
||||||
<dt><a class="footnote" name="footnote4">(4)</a> To save space, items that do
|
space, items that do not apply to a class are omitted. For example, if a
|
||||||
not apply to a function are omitted. For example, if a function does not specify
|
class does not specify any comparison functions, there will be no
|
||||||
any precondition, there will be no "Requires" paragraph.</dt>
|
"Comparison functions" subclause.</dt>
|
||||||
</dl>
|
|
||||||
<hr>
|
<dt><a class="footnote" name="footnote4" id="footnote4">(4)</a> To save
|
||||||
<p>Revised
|
space, items that do not apply to a function are omitted. For example, if
|
||||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->29 November, 2003<!--webbot bot="Timestamp" endspan i-checksum="39371" -->
|
a function does not specify any precondition, there will be no "Requires"
|
||||||
</p>
|
paragraph.</dt>
|
||||||
<p><i>© Copyright <a href="mailto:williamkempf@hotmail.com">William E. Kempf</a>
|
</dl>
|
||||||
2001. All Rights Reserved.</i></p>
|
<hr>
|
||||||
|
|
||||||
|
<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
|
||||||
|
"http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
|
||||||
|
height="31" width="88"></a></p>
|
||||||
|
|
||||||
|
<p>Revised
|
||||||
|
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->04
|
||||||
|
December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38514" --></p>
|
||||||
|
|
||||||
|
<p><i>Copyright © 2001 <a href=
|
||||||
|
"mailto:williamkempf@hotmail.com">William E. Kempf</a></i></p>
|
||||||
|
|
||||||
|
<p><i>Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
accompanying file <a href="../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
|
||||||
|
copy at <a href=
|
||||||
|
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,31 +1,48 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Language" content="en-us">
|
||||||
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||||
<title>{{Library}} - Acknowledgments</title>
|
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
||||||
|
|
||||||
|
<title>{{Library}} - Acknowledgments</title>
|
||||||
</head>
|
</head>
|
||||||
<body link="#0000ff" vlink="#800080">
|
|
||||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
<body link="#0000FF" vlink="#800080">
|
||||||
|
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||||
"header">
|
"header">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" width="300">
|
<td valign="top" width="300">
|
||||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
<h3><a href="../../../index.htm"><img height="86" width="277" alt=
|
||||||
|
"C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<h1 align="center">{{Library}}</h1>
|
<h1 align="center">{{Library}}</h1>
|
||||||
|
|
||||||
<h2 align="center">Acknowledgments</h2>
|
<h2 align="center">Acknowledgments</h2>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
{{text}}
|
{{text}}
|
||||||
<hr>
|
<hr>
|
||||||
<p>Revised
|
|
||||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
|
||||||
05 November, 2001
|
"http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
|
||||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
height="31" width="88"></a></p>
|
||||||
</p>
|
|
||||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
<p>Revised
|
||||||
2002. All Rights Reserved.</i></p>
|
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->04
|
||||||
|
December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38514" --></p>
|
||||||
|
|
||||||
|
<p><i>Copyright © 2006 <a href=
|
||||||
|
"mailto:{{address}}">{{author}}</a></i></p>
|
||||||
|
|
||||||
|
<p><i>Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
accompanying file <a href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
|
||||||
|
copy at <a href=
|
||||||
|
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,31 +1,48 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Language" content="en-us">
|
||||||
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||||
<title>{{Library}} - Bibliography</title>
|
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
||||||
|
|
||||||
|
<title>{{Library}} - Bibliography</title>
|
||||||
</head>
|
</head>
|
||||||
<body link="#0000ff" vlink="#800080">
|
|
||||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
<body link="#0000FF" vlink="#800080">
|
||||||
|
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||||
"header">
|
"header">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" width="300">
|
<td valign="top" width="300">
|
||||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
<h3><a href="../../../index.htm"><img height="86" width="277" alt=
|
||||||
|
"C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<h1 align="center">{{Library}}</h1>
|
<h1 align="center">{{Library}}</h1>
|
||||||
|
|
||||||
<h2 align="center">Bibliography</h2>
|
<h2 align="center">Bibliography</h2>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
{{bibliographical information}}
|
{{bibliographical information}}
|
||||||
<hr>
|
<hr>
|
||||||
<p>Revised
|
|
||||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
|
||||||
05 November, 2001
|
"http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
|
||||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
height="31" width="88"></a></p>
|
||||||
</p>
|
|
||||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
<p>Revised
|
||||||
2002. All Rights Reserved.</i></p>
|
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->04
|
||||||
|
December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38514" --></p>
|
||||||
|
|
||||||
|
<p><i>Copyright © 2006 <a href=
|
||||||
|
"mailto:{{address}}">{{author}}</a></i></p>
|
||||||
|
|
||||||
|
<p><i>Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
accompanying file <a href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
|
||||||
|
copy at <a href=
|
||||||
|
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,90 +1,145 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Language" content="en-us">
|
||||||
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||||
<title>{{Library}} - Configuration</title>
|
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
||||||
|
|
||||||
|
<title>{{Library}} - Configuration</title>
|
||||||
</head>
|
</head>
|
||||||
<body link="#0000ff" vlink="#800080">
|
|
||||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
<body link="#0000FF" vlink="#800080">
|
||||||
|
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||||
"header">
|
"header">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" width="300">
|
<td valign="top" width="300">
|
||||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
<h3><a href="../../../index.htm"><img height="86" width="277" alt=
|
||||||
|
"C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<h1 align="center">{{Library}}</h1>
|
<h1 align="center">{{Library}}</h1>
|
||||||
|
|
||||||
<h2 align="center">Configuration</h2>
|
<h2 align="center">Configuration</h2>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
<dl class="page-index">
|
|
||||||
|
<dl class="page-index">
|
||||||
<dt><a href="#introduction">Introduction</a></dt>
|
<dt><a href="#introduction">Introduction</a></dt>
|
||||||
|
|
||||||
<dt><a href="#app-defined">Application Defined Macros</a></dt>
|
<dt><a href="#app-defined">Application Defined Macros</a></dt>
|
||||||
|
|
||||||
<dt><a href="#lib-defined-public">Public Library Defined Macros</a></dt>
|
<dt><a href="#lib-defined-public">Public Library Defined Macros</a></dt>
|
||||||
<dt><a href="#lib-defined-impl">Library Defined Implementation Macros</a></dt>
|
|
||||||
</dl>
|
<dt><a href="#lib-defined-impl">Library Defined Implementation
|
||||||
<h2><a name="introduction"></a>Introduction</h2>
|
Macros</a></dt>
|
||||||
<p>{{library}} uses several configuration macros in <a href="http://www.boost.org/libs/config/config.htm"><boost/config.hpp></a>,
|
</dl>
|
||||||
as well as configuration macros meant to be supplied by the application. These
|
|
||||||
macros are documented here.</p>
|
<h2><a name="introduction" id="introduction"></a>Introduction</h2>
|
||||||
<h2><a name="app-defined"></a>Application Defined Macros</h2>
|
|
||||||
<p>These are the macros that may be defined by an application using {{library}}.</p>
|
<p>{{library}} uses several configuration macros in <a href=
|
||||||
<table summary="application defined macros" cellspacing="10" width="100%">
|
"http://www.boost.org/libs/config/config.htm"><boost/config.hpp></a>,
|
||||||
|
as well as configuration macros meant to be supplied by the application.
|
||||||
|
These macros are documented here.</p>
|
||||||
|
|
||||||
|
<h2><a name="app-defined" id="app-defined"></a>Application Defined
|
||||||
|
Macros</h2>
|
||||||
|
|
||||||
|
<p>These are the macros that may be defined by an application using
|
||||||
|
{{library}}.</p>
|
||||||
|
|
||||||
|
<table summary="application defined macros" cellspacing="10" width="100%">
|
||||||
<tr>
|
<tr>
|
||||||
<td><b>Macro</b></td>
|
<td><b>Macro</b></td>
|
||||||
|
|
||||||
<td><b>Meaning</b></td>
|
<td><b>Meaning</b></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{macro}}</td>
|
<td>{{macro}}</td>
|
||||||
|
|
||||||
<td>{{meaning}}</td>
|
<td>{{meaning}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{macro}}</td>
|
<td>{{macro}}</td>
|
||||||
|
|
||||||
<td>{{meaning}}</td>
|
<td>{{meaning}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<h2><a name="lib-defined-public"></a>Public Library Defined Macros</h2>
|
|
||||||
<p>These macros are defined by {{library}} but are expected to be used by application
|
<h2><a name="lib-defined-public" id="lib-defined-public"></a>Public Library
|
||||||
code.</p>
|
Defined Macros</h2>
|
||||||
<table summary="public library defined macros" cellspacing="10" width="100%">
|
|
||||||
|
<p>These macros are defined by {{library}} but are expected to be used by
|
||||||
|
application code.</p>
|
||||||
|
|
||||||
|
<table summary="public library defined macros" cellspacing="10" width=
|
||||||
|
"100%">
|
||||||
<tr>
|
<tr>
|
||||||
<td><b>Macro</b></td>
|
<td><b>Macro</b></td>
|
||||||
|
|
||||||
<td><b>Meaning</b></td>
|
<td><b>Meaning</b></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{macro}}</td>
|
<td>{{macro}}</td>
|
||||||
|
|
||||||
<td>{{meaning}}</td>
|
<td>{{meaning}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{macro}}</td>
|
<td>{{macro}}</td>
|
||||||
|
|
||||||
<td>{{meaning}}</td>
|
<td>{{meaning}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<h2><a name="lib-defined-impl"></a>Library Defined Implementation Macros</h2>
|
|
||||||
<p>These macros are defined by {{library}} and are implementation details of interest
|
<h2><a name="lib-defined-impl" id="lib-defined-impl"></a>Library Defined
|
||||||
only to implementers.</p>
|
Implementation Macros</h2>
|
||||||
<table summary="library defined implementation macros" cellspacing="10" width="100%">
|
|
||||||
|
<p>These macros are defined by {{library}} and are implementation details
|
||||||
|
of interest only to implementers.</p>
|
||||||
|
|
||||||
|
<table summary="library defined implementation macros" cellspacing="10"
|
||||||
|
width="100%">
|
||||||
<tr>
|
<tr>
|
||||||
<td><b>Macro</b></td>
|
<td><b>Macro</b></td>
|
||||||
|
|
||||||
<td><b>Meaning</b></td>
|
<td><b>Meaning</b></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{macro}}</td>
|
<td>{{macro}}</td>
|
||||||
|
|
||||||
<td>{{meaning}}</td>
|
<td>{{meaning}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{macro}}</td>
|
<td>{{macro}}</td>
|
||||||
|
|
||||||
<td>{{meaning}}</td>
|
<td>{{meaning}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
<p>Revised
|
|
||||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
|
||||||
05 November, 2001
|
"http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
|
||||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
height="31" width="88"></a></p>
|
||||||
</p>
|
|
||||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
<p>Revised
|
||||||
2002. All Rights Reserved.</i></p>
|
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->04
|
||||||
|
December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38514" --></p>
|
||||||
|
|
||||||
|
<p><i>Copyright © 2006 <a href=
|
||||||
|
"mailto:{{address}}">{{author}}</a></i></p>
|
||||||
|
|
||||||
|
<p><i>Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
accompanying file <a href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
|
||||||
|
copy at <a href=
|
||||||
|
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,47 +1,78 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Language" content="en-us">
|
||||||
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||||
<title>{{Library}} - Definitions</title>
|
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
||||||
|
|
||||||
|
<title>{{Library}} - Definitions</title>
|
||||||
</head>
|
</head>
|
||||||
<body link="#0000ff" vlink="#800080">
|
|
||||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
<body link="#0000FF" vlink="#800080">
|
||||||
|
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||||
"header">
|
"header">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" width="300">
|
<td valign="top" width="300">
|
||||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
<h3><a href="../../../index.htm"><img height="86" width="277" alt=
|
||||||
|
"C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<h1 align="center">{{Library}}</h1>
|
<h1 align="center">{{Library}}</h1>
|
||||||
|
|
||||||
<h2 align="center">Definitions</h2>
|
<h2 align="center">Definitions</h2>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
<h2>Contents</h2>
|
|
||||||
<dl class="page-index">
|
<h2>Contents</h2>
|
||||||
|
|
||||||
|
<dl class="page-index">
|
||||||
<dt><a href="#introduction">Introduction</a></dt>
|
<dt><a href="#introduction">Introduction</a></dt>
|
||||||
|
|
||||||
<dt><a href="#definitions">Definitions</a></dt>
|
<dt><a href="#definitions">Definitions</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#definition-term1">Term 1</a></dt>
|
<dt><a href="#definition-term1">Term 1</a></dt>
|
||||||
|
|
||||||
<dt><a href="#definition-term2">Term 2</a></dt>
|
<dt><a href="#definition-term2">Term 2</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
</dl>
|
</dd>
|
||||||
<hr>
|
</dl>
|
||||||
<h2><a name="introduction"></a>Introduction</h2>
|
<hr>
|
||||||
<p>{{Introductory text}}</p>
|
|
||||||
<h2><a name="definitions"></a>Definitions</h2>
|
<h2><a name="introduction" id="introduction"></a>Introduction</h2>
|
||||||
<dl class="definitions">
|
|
||||||
<dt><a name="definition-term1"></a><b>{{term}}:</b> {{definition}}</dt>
|
<p>{{Introductory text}}</p>
|
||||||
<dt><a name="definition-term2"></a><b>{{term}}:</b> {{definition}}</dt>
|
|
||||||
</dl>
|
<h2><a name="definitions" id="definitions"></a>Definitions</h2>
|
||||||
<hr>
|
|
||||||
<p>Revised
|
<dl class="definitions">
|
||||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
<dt><a name="definition-term1" id="definition-term1"></a><b>{{term}}:</b>
|
||||||
05 November, 2001
|
{{definition}}</dt>
|
||||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
|
||||||
</p>
|
<dt><a name="definition-term2" id="definition-term2"></a><b>{{term}}:</b>
|
||||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
{{definition}}</dt>
|
||||||
2002. All Rights Reserved.</i></p>
|
</dl>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
|
||||||
|
"http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
|
||||||
|
height="31" width="88"></a></p>
|
||||||
|
|
||||||
|
<p>Revised
|
||||||
|
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->04
|
||||||
|
December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38514" --></p>
|
||||||
|
|
||||||
|
<p><i>Copyright © 2006 <a href=
|
||||||
|
"mailto:{{address}}">{{author}}</a></i></p>
|
||||||
|
|
||||||
|
<p><i>Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
accompanying file <a href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
|
||||||
|
copy at <a href=
|
||||||
|
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,38 +1,61 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Language" content="en-us">
|
||||||
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||||
<title>{{Library}} - FAQ</title>
|
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
||||||
|
|
||||||
|
<title>{{Library}} - FAQ</title>
|
||||||
</head>
|
</head>
|
||||||
<body link="#0000ff" vlink="#800080">
|
|
||||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
<body link="#0000FF" vlink="#800080">
|
||||||
|
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||||
"header">
|
"header">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" width="300">
|
<td valign="top" width="300">
|
||||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
<h3><a href="../../../index.htm"><img height="86" width="277" alt=
|
||||||
|
"C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<h1 align="center">{{Library}}</h1>
|
<h1 align="center">{{Library}}</h1>
|
||||||
|
|
||||||
<h2 align="center">Frequently Asked Questions (FAQs)</h2>
|
<h2 align="center">Frequently Asked Questions (FAQs)</h2>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
<dl class="page-index">
|
|
||||||
|
<dl class="page-index">
|
||||||
<dt><a href="#question1">{{question}}</a></dt>
|
<dt><a href="#question1">{{question}}</a></dt>
|
||||||
|
|
||||||
<dt><a href="#question2">{{question}}</a></dt>
|
<dt><a href="#question2">{{question}}</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
<h2><a name="question1"></a>{{question}}</h2>
|
|
||||||
<p>{{answer}}</p>
|
<h2><a name="question1" id="question1"></a>{{question}}</h2>
|
||||||
<h2><a name="question2"></a>{{question}}</h2>
|
|
||||||
<p>{{answer}}</p>
|
<p>{{answer}}</p>
|
||||||
<hr>
|
|
||||||
<p>Revised
|
<h2><a name="question2" id="question2"></a>{{question}}</h2>
|
||||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
|
||||||
05 November, 2001
|
<p>{{answer}}</p>
|
||||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
<hr>
|
||||||
</p>
|
|
||||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
|
||||||
2002. All Rights Reserved.</i></p>
|
"http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
|
||||||
|
height="31" width="88"></a></p>
|
||||||
|
|
||||||
|
<p>Revised
|
||||||
|
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->04
|
||||||
|
December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38514" --></p>
|
||||||
|
|
||||||
|
<p><i>Copyright © 2006 <a href=
|
||||||
|
"mailto:{{address}}">{{author}}</a></i></p>
|
||||||
|
|
||||||
|
<p><i>Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
accompanying file <a href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
|
||||||
|
copy at <a href=
|
||||||
|
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,74 +1,137 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Language" content="en-us">
|
||||||
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||||
<title>{{library}} - Header <{{header}}></title>
|
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
||||||
|
|
||||||
|
<title>{{library}} - Header <{{header}}></title>
|
||||||
</head>
|
</head>
|
||||||
<body link="#0000ff" vlink="#800080">
|
|
||||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
<body link="#0000FF" vlink="#800080">
|
||||||
|
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||||
"header">
|
"header">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" width="300">
|
<td valign="top" width="300">
|
||||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
<h3><a href="../../../index.htm"><img height="86" width="277" alt=
|
||||||
|
"C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<h1 align="center">{{library}}</h1>
|
<h1 align="center">{{library}}</h1>
|
||||||
|
|
||||||
<h2 align="center">Header <{{header}}></h2>
|
<h2 align="center">Header <{{header}}></h2>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
<h2>Contents</h2>
|
|
||||||
<dl class="page-index">
|
<h2>Contents</h2>
|
||||||
|
|
||||||
|
<dl class="page-index">
|
||||||
<dt><a href="#introduction">Introduction</a></dt>
|
<dt><a href="#introduction">Introduction</a></dt>
|
||||||
|
|
||||||
<dt><a href="#macros">Macros</a></dt>
|
<dt><a href="#macros">Macros</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#macro-spec">{{macro name}}</a></dt>
|
<dt><a href="#macro-spec">{{macro name}}</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="#values">Values</a></dt>
|
<dt><a href="#values">Values</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#value-spec">{{value name}}</a></dt>
|
<dt><a href="#value-spec">{{value name}}</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="#types">Types</a></dt>
|
<dt><a href="#types">Types</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#type-spec">{{type name}}</a></dt>
|
<dt><a href="#type-spec">{{type name}}</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="#classes">Classes</a></dt>
|
<dt><a href="#classes">Classes</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#class-spec">Class <code>{{class name}}</code></a></dt>
|
<dt><a href="#class-spec">Class <code>{{class name}}</code></a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#class-spec-synopsis">Class <code>{{class name}}</code> synopsis</a></dt>
|
<dt><a href="#class-spec-synopsis">Class <code>{{class
|
||||||
<dt><a href="#class-spec-ctors">Class <code>{{class name}}</code> constructors and destructor</a></dt>
|
name}}</code> synopsis</a></dt>
|
||||||
<dt><a href="#class-spec-comparisons">Class <code>{{class name}}</code> comparison functions</a></dt>
|
|
||||||
<dt><a href="#class-spec-modifiers">Class <code>{{class name}}</code> modifier functions</a></dt>
|
<dt><a href="#class-spec-ctors">Class <code>{{class name}}</code>
|
||||||
<dt><a href="#class-spec-observers">Class <code>{{class name}}</code> observer functions</a></dt>
|
constructors and destructor</a></dt>
|
||||||
<dt><a href="#class-spec-statics">Class <code>{{class name}}</code> static functions</a></dt>
|
|
||||||
|
<dt><a href="#class-spec-comparisons">Class <code>{{class
|
||||||
|
name}}</code> comparison functions</a></dt>
|
||||||
|
|
||||||
|
<dt><a href="#class-spec-modifiers">Class <code>{{class
|
||||||
|
name}}</code> modifier functions</a></dt>
|
||||||
|
|
||||||
|
<dt><a href="#class-spec-observers">Class <code>{{class
|
||||||
|
name}}</code> observer functions</a></dt>
|
||||||
|
|
||||||
|
<dt><a href="#class-spec-statics">Class <code>{{class
|
||||||
|
name}}</code> static functions</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="#functions">Functions</a></dt>
|
<dt><a href="#functions">Functions</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#function-spec">{{function name}}</a></dt>
|
<dt><a href="#function-spec">{{function name}}</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="#objects">Objects</a></dt>
|
<dt><a href="#objects">Objects</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="page-index">
|
<dl class="page-index">
|
||||||
<dt><a href="#object-spec">{{object name}}</a></dt>
|
<dt><a href="#object-spec">{{object name}}</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="#examples">Example(s)</a></dt>
|
<dt><a href="#examples">Example(s)</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
<hr>
|
<hr>
|
||||||
<h2><a name="introduction"></a>Introduction</h2>
|
|
||||||
<p>{{Introductory text}}</p>
|
<h2><a name="introduction" id="introduction"></a>Introduction</h2>
|
||||||
<h2><a name="macros"></a>Macros</h2>
|
|
||||||
<p><a name="macro-spec"></a>{{Macro specifications}}</p>
|
<p>{{Introductory text}}</p>
|
||||||
<h2><a name="values"></a>Values</h2>
|
|
||||||
<p><a name="value-spec"></a>{{Value specifications}}</p>
|
<h2><a name="macros" id="macros"></a>Macros</h2>
|
||||||
<h2><a name="types"></a>Types</h2>
|
|
||||||
<p><a name="type-spec"></a>{{Type specifications}}</p>
|
<p><a name="macro-spec" id="macro-spec"></a>{{Macro specifications}}</p>
|
||||||
<h2><a name="classes"></a>Classes</h2>
|
|
||||||
<h3><a name="class-spec"></a>Class <code>{{class name}}</code></h3>
|
<h2><a name="values" id="values"></a>Values</h2>
|
||||||
<p>{{class overview text}}</p>
|
|
||||||
<h4><a name="class-spec-synopsis"></a>Class <code>{{class name}}</code> synopsis</h4>
|
<p><a name="value-spec" id="value-spec"></a>{{Value specifications}}</p>
|
||||||
<pre>
|
|
||||||
|
<h2><a name="types" id="types"></a>Types</h2>
|
||||||
|
|
||||||
|
<p><a name="type-spec" id="type-spec"></a>{{Type specifications}}</p>
|
||||||
|
|
||||||
|
<h2><a name="classes" id="classes"></a>Classes</h2>
|
||||||
|
|
||||||
|
<h3><a name="class-spec" id="class-spec"></a>Class <code>{{class
|
||||||
|
name}}</code></h3>
|
||||||
|
|
||||||
|
<p>{{class overview text}}</p>
|
||||||
|
|
||||||
|
<h4><a name="class-spec-synopsis" id="class-spec-synopsis"></a>Class
|
||||||
|
<code>{{class name}}</code> synopsis</h4>
|
||||||
|
<pre>
|
||||||
namespace boost
|
namespace boost
|
||||||
{
|
{
|
||||||
class {{class name}}
|
class {{class name}}
|
||||||
@ -76,120 +139,208 @@ namespace boost
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
</pre>
|
</pre>
|
||||||
<h4><a name="class-spec-ctors"></a>Class <code>{{class name}}</code> constructors and destructor</h4>
|
|
||||||
<pre>
|
<h4><a name="class-spec-ctors" id="class-spec-ctors"></a>Class
|
||||||
|
<code>{{class name}}</code> constructors and destructor</h4>
|
||||||
|
<pre>
|
||||||
{{constructor}}
|
{{constructor}}
|
||||||
</pre>
|
</pre>
|
||||||
<dl class="function-semantics">
|
|
||||||
|
<dl class="function-semantics">
|
||||||
<dt><b>Requires:</b> {{text}}</dt>
|
<dt><b>Requires:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Effects:</b> {{text}}</dt>
|
<dt><b>Effects:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Postconditions:</b> {{text}}</dt>
|
<dt><b>Postconditions:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Returns:</b> {{text}}</dt>
|
<dt><b>Returns:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Throws:</b> {{text}}</dt>
|
<dt><b>Throws:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Complexity:</b> {{text}}</dt>
|
<dt><b>Complexity:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Note:</b> {{text}}</dt>
|
<dt><b>Note:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Danger:</b> {{text}}</dt>
|
<dt><b>Danger:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Rationale:</b> {{text}}</dt>
|
<dt><b>Rationale:</b> {{text}}</dt>
|
||||||
</dl>
|
</dl>
|
||||||
<pre>
|
<pre>
|
||||||
{{destructor}}
|
{{destructor}}
|
||||||
</pre>
|
</pre>
|
||||||
<dl class="function-semantics">
|
|
||||||
|
<dl class="function-semantics">
|
||||||
<dt><b>Requires:</b> {{text}}</dt>
|
<dt><b>Requires:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Effects:</b> {{text}}</dt>
|
<dt><b>Effects:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Postconditions:</b> {{text}}</dt>
|
<dt><b>Postconditions:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Returns:</b> {{text}}</dt>
|
<dt><b>Returns:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Throws:</b> {{text}}</dt>
|
<dt><b>Throws:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Complexity:</b> {{text}}</dt>
|
<dt><b>Complexity:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Note:</b> {{text}}</dt>
|
<dt><b>Note:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Danger:</b> {{text}}</dt>
|
<dt><b>Danger:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Rationale:</b> {{text}}</dt>
|
<dt><b>Rationale:</b> {{text}}</dt>
|
||||||
</dl>
|
</dl>
|
||||||
<h4><a name="class-spec-comparisons"></a>Class <code>{{class name}}</code> comparison functions</h4>
|
|
||||||
<pre>
|
<h4><a name="class-spec-comparisons" id="class-spec-comparisons"></a>Class
|
||||||
|
<code>{{class name}}</code> comparison functions</h4>
|
||||||
|
<pre>
|
||||||
{{function}}
|
{{function}}
|
||||||
</pre>
|
</pre>
|
||||||
<dl class="function-semantics">
|
|
||||||
|
<dl class="function-semantics">
|
||||||
<dt><b>Requires:</b> {{text}}</dt>
|
<dt><b>Requires:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Effects:</b> {{text}}</dt>
|
<dt><b>Effects:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Postconditions:</b> {{text}}</dt>
|
<dt><b>Postconditions:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Returns:</b> {{text}}</dt>
|
<dt><b>Returns:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Throws:</b> {{text}}</dt>
|
<dt><b>Throws:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Complexity:</b> {{text}}</dt>
|
<dt><b>Complexity:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Note:</b> {{text}}</dt>
|
<dt><b>Note:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Danger:</b> {{text}}</dt>
|
<dt><b>Danger:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Rationale:</b> {{text}}</dt>
|
<dt><b>Rationale:</b> {{text}}</dt>
|
||||||
</dl>
|
</dl>
|
||||||
<h4><a name="class-spec-modifiers"></a>Class <code>{{class name}}</code> modifier functions</h4>
|
|
||||||
<pre>
|
<h4><a name="class-spec-modifiers" id="class-spec-modifiers"></a>Class
|
||||||
|
<code>{{class name}}</code> modifier functions</h4>
|
||||||
|
<pre>
|
||||||
{{function}}
|
{{function}}
|
||||||
</pre>
|
</pre>
|
||||||
<dl class="function-semantics">
|
|
||||||
|
<dl class="function-semantics">
|
||||||
<dt><b>Requires:</b> {{text}}</dt>
|
<dt><b>Requires:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Effects:</b> {{text}}</dt>
|
<dt><b>Effects:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Postconditions:</b> {{text}}</dt>
|
<dt><b>Postconditions:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Returns:</b> {{text}}</dt>
|
<dt><b>Returns:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Throws:</b> {{text}}</dt>
|
<dt><b>Throws:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Complexity:</b> {{text}}</dt>
|
<dt><b>Complexity:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Note:</b> {{text}}</dt>
|
<dt><b>Note:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Danger:</b> {{text}}</dt>
|
<dt><b>Danger:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Rationale:</b> {{text}}</dt>
|
<dt><b>Rationale:</b> {{text}}</dt>
|
||||||
</dl>
|
</dl>
|
||||||
<h4><a name="class-spec-observers"></a>Class <code>{{class name}}</code> observer functions</h4>
|
|
||||||
<pre>
|
<h4><a name="class-spec-observers" id="class-spec-observers"></a>Class
|
||||||
|
<code>{{class name}}</code> observer functions</h4>
|
||||||
|
<pre>
|
||||||
{{function}}
|
{{function}}
|
||||||
</pre>
|
</pre>
|
||||||
<dl class="function-semantics">
|
|
||||||
|
<dl class="function-semantics">
|
||||||
<dt><b>Requires:</b> {{text}}</dt>
|
<dt><b>Requires:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Effects:</b> {{text}}</dt>
|
<dt><b>Effects:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Postconditions:</b> {{text}}</dt>
|
<dt><b>Postconditions:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Returns:</b> {{text}}</dt>
|
<dt><b>Returns:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Throws:</b> {{text}}</dt>
|
<dt><b>Throws:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Complexity:</b> {{text}}</dt>
|
<dt><b>Complexity:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Note:</b> {{text}}</dt>
|
<dt><b>Note:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Danger:</b> {{text}}</dt>
|
<dt><b>Danger:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Rationale:</b> {{text}}</dt>
|
<dt><b>Rationale:</b> {{text}}</dt>
|
||||||
</dl>
|
</dl>
|
||||||
<h4><a name="class-spec-statics"></a>Class <code>{{class name}}</code> static functions</h4>
|
|
||||||
<pre>
|
<h4><a name="class-spec-statics" id="class-spec-statics"></a>Class
|
||||||
|
<code>{{class name}}</code> static functions</h4>
|
||||||
|
<pre>
|
||||||
{{function}}
|
{{function}}
|
||||||
</pre>
|
</pre>
|
||||||
<dl class="function-semantics">
|
|
||||||
|
<dl class="function-semantics">
|
||||||
<dt><b>Requires:</b> {{text}}</dt>
|
<dt><b>Requires:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Effects:</b> {{text}}</dt>
|
<dt><b>Effects:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Postconditions:</b> {{text}}</dt>
|
<dt><b>Postconditions:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Returns:</b> {{text}}</dt>
|
<dt><b>Returns:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Throws:</b> {{text}}</dt>
|
<dt><b>Throws:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Complexity:</b> {{text}}</dt>
|
<dt><b>Complexity:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Note:</b> {{text}}</dt>
|
<dt><b>Note:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Danger:</b> {{text}}</dt>
|
<dt><b>Danger:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Rationale:</b> {{text}}</dt>
|
<dt><b>Rationale:</b> {{text}}</dt>
|
||||||
</dl>
|
</dl>
|
||||||
<h2><a name="functions"></a>Functions</h2>
|
|
||||||
<pre>
|
<h2><a name="functions" id="functions"></a>Functions</h2>
|
||||||
<a name="function-spec"></a>{{function}}
|
<pre>
|
||||||
|
<a name="function-spec" id="function-spec"></a>{{function}}
|
||||||
</pre>
|
</pre>
|
||||||
<dl class="function-semantics">
|
|
||||||
|
<dl class="function-semantics">
|
||||||
<dt><b>Requires:</b> {{text}}</dt>
|
<dt><b>Requires:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Effects:</b> {{text}}</dt>
|
<dt><b>Effects:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Postconditions:</b> {{text}}</dt>
|
<dt><b>Postconditions:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Returns:</b> {{text}}</dt>
|
<dt><b>Returns:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Throws:</b> {{text}}</dt>
|
<dt><b>Throws:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Complexity:</b> {{text}}</dt>
|
<dt><b>Complexity:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Note:</b> {{text}}</dt>
|
<dt><b>Note:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Danger:</b> {{text}}</dt>
|
<dt><b>Danger:</b> {{text}}</dt>
|
||||||
|
|
||||||
<dt><b>Rationale:</b> {{text}}</dt>
|
<dt><b>Rationale:</b> {{text}}</dt>
|
||||||
</dl>
|
</dl>
|
||||||
<h2><a name="objects"></a>Objects</h2>
|
|
||||||
<p><a name="object-spec"></a>{{Object specifications}}</p>
|
<h2><a name="objects" id="objects"></a>Objects</h2>
|
||||||
<h2><a name="examples"></a>Example(s)</h2>
|
|
||||||
<p>{{Example(s)}}</p>
|
<p><a name="object-spec" id="object-spec"></a>{{Object specifications}}</p>
|
||||||
<p>Revised
|
|
||||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
<h2><a name="examples" id="examples"></a>Example(s)</h2>
|
||||||
05 November, 2001
|
|
||||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
<p>{{Example(s)}}</p>
|
||||||
</p>
|
<hr>
|
||||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
|
||||||
2002. All Rights Reserved.</i></p>
|
<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
|
||||||
|
"http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
|
||||||
|
height="31" width="88"></a></p>
|
||||||
|
|
||||||
|
<p>Revised
|
||||||
|
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->04
|
||||||
|
December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38514" --></p>
|
||||||
|
|
||||||
|
<p><i>Copyright © 2006 <a href=
|
||||||
|
"mailto:{{address}}">{{author}}</a></i></p>
|
||||||
|
|
||||||
|
<p><i>Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
accompanying file <a href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
|
||||||
|
copy at <a href=
|
||||||
|
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,70 +1,126 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Language" content="en-us">
|
||||||
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||||
<title>{{Library}}</title>
|
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
||||||
|
|
||||||
|
<title>{{Library}}</title>
|
||||||
</head>
|
</head>
|
||||||
<body link="#0000ff" vlink="#800080">
|
|
||||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
<body link="#0000FF" vlink="#800080">
|
||||||
|
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||||
"header">
|
"header">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" width="300">
|
<td valign="top" width="300">
|
||||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
<h3><a href="../../../index.htm"><img height="86" width="277" alt=
|
||||||
|
"C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<h1 align="center">{{Library}}</h1>
|
<h1 align="center">{{Library}}</h1>
|
||||||
|
|
||||||
<h2 align="center">Index</h2>
|
<h2 align="center">Index</h2>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
<h2>Contents</h2>
|
|
||||||
<dl class="index">
|
<h2>Contents</h2>
|
||||||
|
|
||||||
|
<dl class="index">
|
||||||
<dt><a href="overview.html">Overview</a></dt>
|
<dt><a href="overview.html">Overview</a></dt>
|
||||||
|
|
||||||
<dt>Reference</dt>
|
<dt>Reference</dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="index">
|
<dl class="index">
|
||||||
<dt><a href="header.html">{{header}}</a></dt>
|
<dt><a href="header.html">{{header}}</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="index">
|
<dl class="index">
|
||||||
<dt><a href="header.html#macros">Macros</a></dt>
|
<dt><a href="header.html#macros">Macros</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="index">
|
<dl class="index">
|
||||||
<dt><a href="header.html#macro-spec">{{macro name}}</a></dt>
|
<dt><a href="header.html#macro-spec">{{macro name}}</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="header.html#values">Values</a></dt>
|
<dt><a href="header.html#values">Values</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="index">
|
<dl class="index">
|
||||||
<dt><a href="header.html#value-spec">{{value name}}</a></dt>
|
<dt><a href="header.html#value-spec">{{value name}}</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="header.html#types">Types</a></dt>
|
<dt><a href="header.html#types">Types</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="index">
|
<dl class="index">
|
||||||
<dt><a href="header.html#value-spec">{{type name}}</a></dt>
|
<dt><a href="header.html#value-spec">{{type name}}</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="header.html#classes">Classes</a></dt>
|
<dt><a href="header.html#classes">Classes</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="index">
|
<dl class="index">
|
||||||
<dt><a href="header.html#value-spec">{{class name}}</a></dt>
|
<dt><a href="header.html#value-spec">{{class name}}</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="header.html#functions">Functions</a></dt>
|
<dt><a href="header.html#functions">Functions</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="index">
|
<dl class="index">
|
||||||
<dt><a href="header.html#value-spec">{{function name}}</a></dt>
|
<dt><a href="header.html#value-spec">{{function
|
||||||
|
name}}</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="header.html#objects">Objects</a></dt>
|
<dt><a href="header.html#objects">Objects</a></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
<dl class="index">
|
<dl class="index">
|
||||||
<dt><a href="header.html#value-spec">{{object name}}</a></dt>
|
<dt><a href="header.html#value-spec">{{object name}}</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt><a href="configuration.html">Configuration Information</a></dt>
|
<dt><a href="configuration.html">Configuration Information</a></dt>
|
||||||
|
|
||||||
<dt><a href="rationale.html">Rationale</a></dt>
|
<dt><a href="rationale.html">Rationale</a></dt>
|
||||||
|
|
||||||
<dt><a href="definitions.html">Definitions</a></dt>
|
<dt><a href="definitions.html">Definitions</a></dt>
|
||||||
|
|
||||||
<dt><a href="faq.html">Frequently Asked Questions (FAQs)</a></dt>
|
<dt><a href="faq.html">Frequently Asked Questions (FAQs)</a></dt>
|
||||||
|
|
||||||
<dt><a href="bibliography.html">Bibliography</a></dt>
|
<dt><a href="bibliography.html">Bibliography</a></dt>
|
||||||
|
|
||||||
<dt><a href="acknowledgments.html">Acknowledgments</a></dt>
|
<dt><a href="acknowledgments.html">Acknowledgments</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
<hr>
|
<hr>
|
||||||
<p>Revised
|
|
||||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
|
||||||
05 November, 2001
|
"http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
|
||||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
height="31" width="88"></a></p>
|
||||||
</p>
|
|
||||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
<p>Revised
|
||||||
2002. All Rights Reserved.</i></p>
|
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->04
|
||||||
|
December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38514" --></p>
|
||||||
|
|
||||||
|
<p><i>Copyright © 2006 <a href=
|
||||||
|
"mailto:{{address}}">{{author}}</a></i></p>
|
||||||
|
|
||||||
|
<p><i>Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
accompanying file <a href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
|
||||||
|
copy at <a href=
|
||||||
|
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,47 +1,79 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Language" content="en-us">
|
||||||
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||||
<title>{{Library}} - Overview</title>
|
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
||||||
|
|
||||||
|
<title>{{Library}} - Overview</title>
|
||||||
</head>
|
</head>
|
||||||
<body link="#0000ff" vlink="#800080">
|
|
||||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
<body link="#0000FF" vlink="#800080">
|
||||||
|
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||||
"header">
|
"header">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" width="300">
|
<td valign="top" width="300">
|
||||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
<h3><a href="../../../index.htm"><img height="86" width="277" alt=
|
||||||
|
"C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<h1 align="center">{{Library}}</h1>
|
<h1 align="center">{{Library}}</h1>
|
||||||
|
|
||||||
<h2 align="center">Overview</h2>
|
<h2 align="center">Overview</h2>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
<dl class="index">
|
|
||||||
|
<dl class="index">
|
||||||
<dt><a href="#introduction">Introduction</a></dt>
|
<dt><a href="#introduction">Introduction</a></dt>
|
||||||
|
|
||||||
<dt><a href="#topic1">First topic</a></dt>
|
<dt><a href="#topic1">First topic</a></dt>
|
||||||
|
|
||||||
<dt><a href="#topic2">Second topic</a></dt>
|
<dt><a href="#topic2">Second topic</a></dt>
|
||||||
|
|
||||||
<dt><a href="#footnotes">Footnotes</a></dt>
|
<dt><a href="#footnotes">Footnotes</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
<h2><a name="introduction"></a>Introduction</h2>
|
|
||||||
<p>{{text}}</p>
|
<h2><a name="introduction" id="introduction"></a>Introduction</h2>
|
||||||
<h2><a name="topic1"></a>First Topic</h2>
|
|
||||||
<p>{{text}}</p>
|
<p>{{text}}</p>
|
||||||
<h2><a name="topic2"></a>Second Topic</h2>
|
|
||||||
<p>{{text}}</p>
|
<h2><a name="topic1" id="topic1"></a>First Topic</h2>
|
||||||
<h2><a name="footnotes"></a>Footnotes</h2>
|
|
||||||
<dl>
|
<p>{{text}}</p>
|
||||||
<dt><a name="footnote1" class="footnote">(1)</a> {{text}}</dt>
|
|
||||||
<dt><a name="footnote2" class="footnote">(2)</a> {{text}}</dt>
|
<h2><a name="topic2" id="topic2"></a>Second Topic</h2>
|
||||||
</dl>
|
|
||||||
<hr>
|
<p>{{text}}</p>
|
||||||
<p>Revised
|
|
||||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
<h2><a name="footnotes" id="footnotes"></a>Footnotes</h2>
|
||||||
05 November, 2001
|
|
||||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
<dl>
|
||||||
</p>
|
<dt><a name="footnote1" class="footnote" id="footnote1">(1)</a>
|
||||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
{{text}}</dt>
|
||||||
2002. All Rights Reserved.</i></p>
|
|
||||||
|
<dt><a name="footnote2" class="footnote" id="footnote2">(2)</a>
|
||||||
|
{{text}}</dt>
|
||||||
|
</dl>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
|
||||||
|
"http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
|
||||||
|
height="31" width="88"></a></p>
|
||||||
|
|
||||||
|
<p>Revised
|
||||||
|
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->04
|
||||||
|
December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38514" --></p>
|
||||||
|
|
||||||
|
<p><i>Copyright © 2006 <a href=
|
||||||
|
"mailto:{{address}}">{{author}}</a></i></p>
|
||||||
|
|
||||||
|
<p><i>Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
accompanying file <a href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
|
||||||
|
copy at <a href=
|
||||||
|
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,47 +1,79 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Language" content="en-us">
|
||||||
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||||
<title>{{Library}} - Rationale</title>
|
<link rel="stylesheet" type="text/css" href="../../../boost.css">
|
||||||
|
|
||||||
|
<title>{{Library}} - Rationale</title>
|
||||||
</head>
|
</head>
|
||||||
<body link="#0000ff" vlink="#800080">
|
|
||||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
<body link="#0000FF" vlink="#800080">
|
||||||
|
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||||
"header">
|
"header">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" width="300">
|
<td valign="top" width="300">
|
||||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
<h3><a href="../../../index.htm"><img height="86" width="277" alt=
|
||||||
|
"C++ Boost" src="../../../boost.png" border="0"></a></h3>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<h1 align="center">{{Library}}</h1>
|
<h1 align="center">{{Library}}</h1>
|
||||||
|
|
||||||
<h2 align="center">Rationale</h2>
|
<h2 align="center">Rationale</h2>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr>
|
||||||
<dl class="index">
|
|
||||||
|
<dl class="index">
|
||||||
<dt><a href="#introduction">Introduction</a></dt>
|
<dt><a href="#introduction">Introduction</a></dt>
|
||||||
|
|
||||||
<dt><a href="#topic1">First topic</a></dt>
|
<dt><a href="#topic1">First topic</a></dt>
|
||||||
|
|
||||||
<dt><a href="#topic2">Second topic</a></dt>
|
<dt><a href="#topic2">Second topic</a></dt>
|
||||||
|
|
||||||
<dt><a href="#footnotes">Footnotes</a></dt>
|
<dt><a href="#footnotes">Footnotes</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
<h2><a name="introduction"></a>Introduction</h2>
|
|
||||||
<p>{{text}}</p>
|
<h2><a name="introduction" id="introduction"></a>Introduction</h2>
|
||||||
<h2><a name="topic1"></a>First Topic</h2>
|
|
||||||
<p>{{text}}</p>
|
<p>{{text}}</p>
|
||||||
<h2><a name="topic2"></a>Second Topic</h2>
|
|
||||||
<p>{{text}}</p>
|
<h2><a name="topic1" id="topic1"></a>First Topic</h2>
|
||||||
<h2><a name="footnotes"></a>Footnotes</h2>
|
|
||||||
<dl>
|
<p>{{text}}</p>
|
||||||
<dt><a name="footnote1" class="footnote">(1)</a> {{text}}</dt>
|
|
||||||
<dt><a name="footnote2" class="footnote">(2)</a> {{text}}</dt>
|
<h2><a name="topic2" id="topic2"></a>Second Topic</h2>
|
||||||
</dl>
|
|
||||||
<hr>
|
<p>{{text}}</p>
|
||||||
<p>Revised
|
|
||||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
<h2><a name="footnotes" id="footnotes"></a>Footnotes</h2>
|
||||||
05 November, 2001
|
|
||||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
<dl>
|
||||||
</p>
|
<dt><a name="footnote1" class="footnote" id="footnote1">(1)</a>
|
||||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
{{text}}</dt>
|
||||||
2002. All Rights Reserved.</i></p>
|
|
||||||
|
<dt><a name="footnote2" class="footnote" id="footnote2">(2)</a>
|
||||||
|
{{text}}</dt>
|
||||||
|
</dl>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
|
||||||
|
"http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
|
||||||
|
height="31" width="88"></a></p>
|
||||||
|
|
||||||
|
<p>Revised
|
||||||
|
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->04
|
||||||
|
December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38514" --></p>
|
||||||
|
|
||||||
|
<p><i>Copyright © 2006 <a href=
|
||||||
|
"mailto:{{address}}">{{author}}</a></i></p>
|
||||||
|
|
||||||
|
<p><i>Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
accompanying file <a href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
|
||||||
|
copy at <a href=
|
||||||
|
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
Loading…
Reference in New Issue
Block a user