|
|
@@ -27,19 +27,19 @@
|
|
|
<a href="#Portability">Portability requirements</a><br>
|
|
|
<a href="#Ownership">Ownership</a><br>
|
|
|
<a href="#Guidelines">Guidelines</a><br>
|
|
|
- <a href="#Design and Programming">Design and programming</a><br>
|
|
|
- <a href="#Directory structure">Directory structure and
|
|
|
+ <a href="#Design_and_Programming">Design and programming</a><br>
|
|
|
+ <a href="#Directory_structure">Directory structure and
|
|
|
filenames</a><br>
|
|
|
- <a href="#Naming consistency">Naming consistency</a><br>
|
|
|
+ <a href="#Naming_consistency">Naming consistency</a><br>
|
|
|
<a href="#Documentation">Documentation</a><br>
|
|
|
<a href="#Rationale">Rationale</a><br>
|
|
|
<a href="#Exception-specification">Exception-specification
|
|
|
rationale</a><br>
|
|
|
<a href="#Naming">Naming conventions rationale</a><br>
|
|
|
- <a href="#code fonts">Source code fonts rationale</a><br>
|
|
|
+ <a href="#code_fonts">Source code fonts rationale</a><br>
|
|
|
<a href="#Tabs">Tabs rationale</a><br>
|
|
|
<a href="#JavaScript">ECMAScript/JavaScript rationale</a><br>
|
|
|
- <a href="#Rationale rationale">Rationale rationale</a><br>
|
|
|
+ <a href="#Rationale_rationale">Rationale rationale</a><br>
|
|
|
<a href="#Acknowledgements">Acknowledgements rationale</a></p>
|
|
|
<h2 align="left"><a name="Introduction">Introduction</a></h2>
|
|
|
<p align="left">This page describes requirements and guidelines for the content
|
|
|
@@ -65,8 +65,8 @@ rejected, it must meets these requirements:</p>
|
|
|
<li>The library must come reasonably close to meeting the <a href="#Guidelines">Guidelines</a>
|
|
|
below.
|
|
|
<ul>
|
|
|
- <li><a href="#Design and Programming">Design and Programming</a></li>
|
|
|
- <li><a href="#Directory structure">Directory Structure</a></li>
|
|
|
+ <li><a href="#Design_and_Programming">Design and Programming</a></li>
|
|
|
+ <li><a href="#Directory_structure">Directory Structure</a></li>
|
|
|
<li><a href="#Documentation">Documentation</a></li>
|
|
|
</ul>
|
|
|
</li>
|
|
|
@@ -142,7 +142,7 @@ Boost won't accept libraries without clear copyright information.</p>
|
|
|
<p align="left">Please use these guidelines as a checklist for preparing the
|
|
|
content a library submission. Not every guideline applies to every
|
|
|
library, but a reasonable effort to comply is expected.</p>
|
|
|
-<h3><a name="Design and Programming">Design and Programming</a></h3>
|
|
|
+<h3><a name="Design_and_Programming">Design and Programming</a></h3>
|
|
|
<ul>
|
|
|
<li>Aim first for clarity and correctness; optimization should be only a
|
|
|
secondary concern in most Boost libraries.</li>
|
|
|
@@ -154,7 +154,7 @@ library, but a reasonable effort to comply is expected.</p>
|
|
|
</ul>
|
|
|
<ul>
|
|
|
<li>Headers should be good neighbors. See the <a href="header.htm">header
|
|
|
- policy</a>. See <a href="#Naming consistency">Naming consistency</a>.</li>
|
|
|
+ policy</a>. See <a href="#Naming_consistency">Naming consistency</a>.</li>
|
|
|
</ul>
|
|
|
<ul>
|
|
|
<li>Follow quality programming practices. See, for example, "Effective
|
|
|
@@ -203,7 +203,7 @@ library, but a reasonable effort to comply is expected.</p>
|
|
|
line lengths in their own code, boost's widely distributed source code
|
|
|
should follow more conservative guidelines:
|
|
|
<ul>
|
|
|
- <li>Use fixed-width fonts. See <a href="#code fonts">fonts rationale</a>.</li>
|
|
|
+ <li>Use fixed-width fonts. See <a href="#code_fonts">fonts rationale</a>.</li>
|
|
|
<li>Use spaces rather than tabs. See <a href="#Tabs">tabs rationale</a>.</li>
|
|
|
<li>Limit line lengths to 80 characters.</li>
|
|
|
</ul>
|
|
|
@@ -225,14 +225,14 @@ library, but a reasonable effort to comply is expected.</p>
|
|
|
</ul>
|
|
|
</li>
|
|
|
</ul>
|
|
|
-<h3><a name="Directory structure">Directory Structure</a> and Filenames</h3>
|
|
|
+<h3><a name="Directory_structure">Directory Structure</a> and Filenames</h3>
|
|
|
<ul>
|
|
|
<li>File and directory names must contain only lowercase ASCII letters ,
|
|
|
numbers, underscores, and a period. Leading character must be
|
|
|
alphabetic. Maximum length 31. Only a single period is permitted.
|
|
|
These requirements ensure file and directory names are relatively portable.</li>
|
|
|
<li>All libraries have at their highest level a primary directory named for
|
|
|
- the particular library. See <a href="#Naming consistency">Naming consistency</a>. The primary directory may have sub-directories.</li>
|
|
|
+ the particular library. See <a href="#Naming_consistency">Naming consistency</a>. The primary directory may have sub-directories.</li>
|
|
|
<li>For very simple libraries implemented entirely within the library header,
|
|
|
all files go in the primary directory (except headers, which go in the boost
|
|
|
header directory).</li>
|
|
|
@@ -292,7 +292,7 @@ Automatic redirection failed, please go to
|
|
|
</body>
|
|
|
</html></pre>
|
|
|
</blockquote>
|
|
|
-<h3><a name="Naming consistency">Naming consistency</a></h3>
|
|
|
+<h3><a name="Naming_consistency">Naming consistency</a></h3>
|
|
|
<p>As library developers and users have gained experience with Boost, the
|
|
|
following consistent naming approach has come to be viewed as very helpful,
|
|
|
particularly for larger libraries which need their own header subdirectories and
|
|
|
@@ -390,7 +390,7 @@ early boost postings. A short summary:</p>
|
|
|
</li>
|
|
|
</ul>
|
|
|
<hr>
|
|
|
-<h3>Source <a name="code fonts">code fonts</a> rationale</h3>
|
|
|
+<h3>Source <a name="code_fonts">code fonts</a> rationale</h3>
|
|
|
<p>Dave Abrahams comments: An important purpose (I daresay the primary purpose)
|
|
|
of source code is communication: the documentation of intent. This is a doubly
|
|
|
important goal for boost, I think. Using a fixed-width font allows us to
|
|
|
@@ -425,7 +425,7 @@ ECMAScript/JavaScript. Reasons given for banning included:</p>
|
|
|
difficult.</li>
|
|
|
</ul>
|
|
|
<hr>
|
|
|
-<h3><a name="Rationale rationale">Rationale rationale</a></h3>
|
|
|
+<h3><a name="Rationale_rationale">Rationale rationale</a></h3>
|
|
|
<p>Rationale is defined as "The fundamental reasons for something;
|
|
|
basis" by the American Heritage Dictionary.</p>
|
|
|
<p>Beman Dawes comments: Failure to supply contemporaneous rationale for
|
|
|
@@ -444,7 +444,7 @@ suggestion. Major contributions are usually acknowledged in the
|
|
|
documentation, while minor fixes are often mentioned in comments within the code
|
|
|
itself.</p>
|
|
|
<hr>
|
|
|
-<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->22 December, 2002<!--webbot bot="Timestamp" endspan i-checksum="38508" --></p>
|
|
|
+<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->09 January, 2003<!--webbot bot="Timestamp" endspan i-checksum="38582" --></p>
|
|
|
|
|
|
</body>
|
|
|
|