forked from boostorg/preprocessor
Bibliography instead of References
[SVN r12729]
This commit is contained in:
47
doc/bibliography.htm
Normal file
47
doc/bibliography.htm
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||||
|
<title>Boost.Preprocessor - Bibliography</title>
|
||||||
|
</head>
|
||||||
|
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
|
||||||
|
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||||
|
"header">
|
||||||
|
<tr>
|
||||||
|
<td valign="top" width="300">
|
||||||
|
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
|
||||||
|
</td>
|
||||||
|
<td valign="top">
|
||||||
|
<h1 align="center">Boost.Preprocessor</h1>
|
||||||
|
<h2 align="center">Bibliography</h2>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr><td><b>[Stroustrup]</b></td><td><a name="[Stroustrup]">Stroustrup: <i>The Design and Evolution of C++</i>, ISBN 0201543303</a></td></tr>
|
||||||
|
<tr><td><b>[Czarnecki]</b></td><td><a name="[Czarnecki]">Czarnecki, Eisenecker: <i>Generative Programming</i>, ISBN 0201309777</a></td></tr>
|
||||||
|
<tr><td><b>[Barton]</b></td><td><a name="[Barton]">Barton, Nackman: <i>Scientific and Engineering C++</i>, ISBN 0201533936</a></td></tr>
|
||||||
|
<tr><td><b>[McConnell]</b></td><td><a name="[McConnell]">McConnell: <i>Code Complete</i>, ISBN 1556154844</a></td></tr>
|
||||||
|
<tr><td><b>[Std]</b></td><td><a name="[Std]">ISO/IEC 14882:1998 <i>Programming languages - C++</i></a></td></tr>
|
||||||
|
<tr><td><b>[Thompson]</b></td><td><a name="[Thompson]">Thompson: Haskell: <i>The Craft of Functional Programming</i>, ISBN 0201342758</a></td></tr>
|
||||||
|
<tr><td><b>[Okasaki]</b></td><td><a name="[Okasaki]">Okasaki: <i>Purely Functional Data Structures</i>, ISBN 0521663504</a></td></tr>
|
||||||
|
<tr><td><b>[Cousineau]</b></td><td><a name="[Cousineau]">Cousineau, Mauny: <i>The Functional Approach to Programming</i>, ISBN 0521576814</a></td></tr>
|
||||||
|
<tr><td><b>[Abelson]</b></td><td><a name="[Abelson]">Abelson, Sussman, Sussman: <i>Structure and Interpretation of Computer Programs</i>, ISBN 0262011530</a></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p>Revised
|
||||||
|
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||||
|
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||||
|
</p>
|
||||||
|
<p><i>© Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
|
||||||
|
|
||||||
|
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
|
||||||
|
provided this copyright notice appears in all copies. This document is provided
|
||||||
|
"as is" without express or implied warranty, and with no claim as to its suitability
|
||||||
|
for any purpose.</i></p>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -26,7 +26,7 @@
|
|||||||
<dt><a href="known_problems_with_cpp.htm">Widely known problems with the C preprocessor</a></dt>
|
<dt><a href="known_problems_with_cpp.htm">Widely known problems with the C preprocessor</a></dt>
|
||||||
<dt><a href="keywords.txt">Keywords for syntax highlighting</a></dt>
|
<dt><a href="keywords.txt">Keywords for syntax highlighting</a></dt>
|
||||||
<dt><a href="problems_with_compilers.htm">Known problems with specific compilers</a></dt>
|
<dt><a href="problems_with_compilers.htm">Known problems with specific compilers</a></dt>
|
||||||
<dt><a href="references.htm">References</a></dt>
|
<dt><a href="bibliography.htm">Bibliography</a></dt>
|
||||||
<dt><a href="acknowledgements.htm">Acknowledgements</a></dt>
|
<dt><a href="acknowledgements.htm">Acknowledgements</a></dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
@ -100,15 +100,15 @@ substituting the parameters of the macro. </P>
|
|||||||
simply by using a search and replace tool. </LI></UL>
|
simply by using a search and replace tool. </LI></UL>
|
||||||
<P><B><EM> An especially important thing to remember is to limit the use of preprocessor
|
<P><B><EM> An especially important thing to remember is to limit the use of preprocessor
|
||||||
to the structured, well understood and safe methods. Structure helps to understand
|
to the structured, well understood and safe methods. Structure helps to understand
|
||||||
complex systems <A href="references.htm#[4]">[4]</A>.</EM></B></P>
|
complex systems <A href="bibliography.htm#[McConnell]">[McConnell]</A>.</EM></B></P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<P><B>PROBLEM:</B> "I'd
|
<P><B>PROBLEM:</B> "I'd
|
||||||
like to see Cpp abolished." - Bjarne Stroustrup in <A href="references.htm#[1]">[1]</A></P>
|
like to see Cpp abolished." - Bjarne Stroustrup in <A href="bibliography.htm#[Stroustrup]">[Stroustrup]</A></P>
|
||||||
<P><B>SOLUTION:</B> The C preprocessor will be here for a
|
<P><B>SOLUTION:</B> The C preprocessor will be here for a
|
||||||
long time.</P>
|
long time.</P>
|
||||||
<P><EM><B>In practice, preprocessor metaprogramming is far simpler and more portable
|
<P><EM><B>In practice, preprocessor metaprogramming is far simpler and more portable
|
||||||
than template metaprogramming <A href="references.htm#[2]">[2]</A>.</B></EM></P>
|
than template metaprogramming <A href="bibliography.htm#[Czarnecki]">[Czarnecki]</A>.</B></EM></P>
|
||||||
<hr>
|
<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 -->
|
||||||
|
@ -1,40 +0,0 @@
|
|||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
||||||
<title>Boost.Preprocessor - References</title>
|
|
||||||
</head>
|
|
||||||
<body bgcolor="#FFFFFF" link="#0000ff" vlink="#800080">
|
|
||||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
|
||||||
"header">
|
|
||||||
<tr>
|
|
||||||
<td valign="top" width="300">
|
|
||||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
|
|
||||||
</td>
|
|
||||||
<td valign="top">
|
|
||||||
<h1 align="center">Boost.Preprocessor</h1>
|
|
||||||
<h2 align="center">References</h2>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<OL>
|
|
||||||
<LI> <a name="[1]">Stroustrup: The Design and Evolution of C++, ISBN 0-201-54330-3</a>
|
|
||||||
<LI> <a name="[2]">Czarnecki, Eisenecker: Generative Programming, ISBN 0-201-30977-7</a>
|
|
||||||
<LI> <a name="[3]">Barton, Nackman: Scientific and Engineering C++, ISBN 0-201-53393-6</a>
|
|
||||||
<LI> <a name="[4]">McConnell: Code Complete, ISBN 1-55615-484-4</a></LI>
|
|
||||||
<LI> <a name="[4]">ISO/IEC 14882:1998 <i>Programming languages - C++</i></a></LI>
|
|
||||||
</OL>
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<p><i>© Copyright <a href="http://www.housemarque.com">Housemarque Oy</a> 2002</i></p>
|
|
||||||
|
|
||||||
<p><i>Permission to copy, use, modify, sell and distribute this document is granted
|
|
||||||
provided this copyright notice appears in all copies. This document is provided
|
|
||||||
"as is" without express or implied warranty, and with no claim as to its suitability
|
|
||||||
for any purpose.</i></p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -103,7 +103,7 @@ yes_type is_function_tester(R (*)(A0, A1, A2));
|
|||||||
specifically does not support repetition or recursive macros. Library support
|
specifically does not support repetition or recursive macros. Library support
|
||||||
is needed!</p>
|
is needed!</p>
|
||||||
<p><i>For detailed information on the capabilities and limitations of the preprocessor,
|
<p><i>For detailed information on the capabilities and limitations of the preprocessor,
|
||||||
please refer to the C++ standard <A href="references.htm#[5]">[5]</A>.</i></p>
|
please refer to the C++ standard <A href="bibliography.htm#[Std]">[Std]</A>.</i></p>
|
||||||
<h3>The motivation example revisited</h3>
|
<h3>The motivation example revisited</h3>
|
||||||
<p>Using the primitives of the PREPROCESSOR library, the is_function_tester()s
|
<p>Using the primitives of the PREPROCESSOR library, the is_function_tester()s
|
||||||
could be implemented like this:</p>
|
could be implemented like this:</p>
|
||||||
@ -158,8 +158,8 @@ BOOST_PP_DEF(/)
|
|||||||
the line continuation operator when they are aligned.</P>
|
the line continuation operator when they are aligned.</P>
|
||||||
<P><B>NOTES:</B> You can extend this example by defining more and different kinds
|
<P><B>NOTES:</B> You can extend this example by defining more and different kinds
|
||||||
of operators. Before doing so, consider using the Algebraic Categories technique
|
of operators. Before doing so, consider using the Algebraic Categories technique
|
||||||
introduced in <A href="references.htm#[3]">[3]</A> or a Layered Architecture (see for instance
|
introduced in <A href="bibliography.htm#[Barton]">[Barton]</A> or a Layered Architecture (see for instance
|
||||||
<A href="references.htm#[2]">[2]</A>). However, at some point you must type the operator tokens
|
<A href="bibliography.htm#[Czarnecki]">[Czarnecki]</A>). However, at some point you must type the operator tokens
|
||||||
*, /, +, -, ..., because it is impossible to generate them using templates.
|
*, /, +, -, ..., because it is impossible to generate them using templates.
|
||||||
The resulting Categorical Repetition of tokens can be eliminated by using preprocessor
|
The resulting Categorical Repetition of tokens can be eliminated by using preprocessor
|
||||||
metaprogramming.</P>
|
metaprogramming.</P>
|
||||||
@ -369,7 +369,7 @@ BOOST_PP_REPEAT
|
|||||||
</blockquote>
|
</blockquote>
|
||||||
|
|
||||||
<P><B>NOTE:</B> The repetition of the above
|
<P><B>NOTE:</B> The repetition of the above
|
||||||
example can be eliminated using template metaprogramming <A href="references.htm#[2]">[2]</A> as well. However
|
example can be eliminated using template metaprogramming <A href="bibliography.htm#[Czarnecki]">[Czarnecki]</A> as well. However
|
||||||
categorical repetition of operator tokens can not be completely eliminated by
|
categorical repetition of operator tokens can not be completely eliminated by
|
||||||
using template metaprogramming.</P>
|
using template metaprogramming.</P>
|
||||||
<HR>
|
<HR>
|
||||||
|
Reference in New Issue
Block a user