Skip to content

Commit 5b3cf3d

Browse files
committed
Rearranging main page and now use * as FILE_PATTERNS (for includes without extensions).
1 parent b2476fb commit 5b3cf3d

7 files changed

+65
-93
lines changed

Doxyfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -688,7 +688,7 @@ INPUT_ENCODING = UTF-8
688688
# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
689689
# *.f90 *.f *.for *.vhd *.vhdl
690690

691-
FILE_PATTERNS =
691+
FILE_PATTERNS = *
692692

693693
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
694694
# should be searched for input files as well. Possible values are YES and NO.
@@ -716,7 +716,7 @@ EXCLUDE_SYMLINKS = NO
716716
# against the file with absolute path, so to exclude all test directories
717717
# for example use the pattern */test/*
718718

719-
EXCLUDE_PATTERNS =
719+
EXCLUDE_PATTERNS = *.png *.pdf *.eps *.svg *.bib *.xml *.css
720720

721721
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
722722
# (namespaces, classes, functions, etc.) that should be excluded from the

doc/common.dox

+22-59
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// -*- mode: c++; mode: visual-line; mode: flyspell; fill-column: 100000 -*-
12
/***************************************************************************
23
* doc/common.dox
34
*
@@ -12,10 +13,7 @@
1213

1314
/*! \page common Common Utilities and Helpers found in STXXL
1415
15-
A lots of basic utility classes and helper functions have accumulated in
16-
STXXL. Try are usually fundamental enough to be also used in an application
17-
program. Before implementing a common software utility, please check the list
18-
below; it might already exist in STXXL:
16+
A lots of basic utility classes and helper functions have accumulated in STXXL. Try are usually fundamental enough to be also used in an application program. Before implementing a common software utility, please check the list below; it might already exist in STXXL:
1917
2018
- \subpage common_random "random number generators"
2119
- \subpage common_timer "timestamp and timer function"
@@ -47,35 +45,25 @@ TODO-df
4745

4846
/*! \page common_simple_vector A Non-growing, Non-initializing Simpler Vector
4947
50-
For applications where a std::vector is overkill, or one wishes to allocate an
51-
uninitialied POD array, the stxxl::simple_vector is a good method.
48+
For applications where a std::vector is overkill, or one wishes to allocate an uninitialied POD array, the stxxl::simple_vector is a good method.
5249
5350
*/
5451

5552
/*! \page common_counting_ptr Reference Counted (Shared) Objects
5653
57-
Some objects in STXXL are reference counted. This is usually done for large
58-
objects, which should not be copied deeply in assignments. Instead, a reference
59-
counting pointer is used, which holds a handle while the pointer exists and
60-
deletes the object once all pointers go out of scope. Examples are matrices and
61-
sorted_runs.
54+
Some objects in STXXL are reference counted. This is usually done for large objects, which should not be copied deeply in assignments. Instead, a reference counting pointer is used, which holds a handle while the pointer exists and deletes the object once all pointers go out of scope. Examples are matrices and sorted_runs.
6255
63-
The method used is called stxxl::counting_ptr or intrusive reference counting.
64-
This is similar, but not identical to boost or TR1's shared_ptr.
56+
The method used is called stxxl::counting_ptr or intrusive reference counting. This is similar, but not identical to boost or TR1's shared_ptr.
6557
66-
The stxxl::counting_ptr is accompanied by stxxl::counted_object, which contains
67-
the actual reference counter (a single integer). A reference counted object
68-
must derive from stxxl::counted_object:
58+
The stxxl::counting_ptr is accompanied by stxxl::counted_object, which contains the actual reference counter (a single integer). A reference counted object must derive from stxxl::counted_object:
6959
7060
\code
7161
struct something : public stxxl::counted_object
7262
{
7363
};
7464
\endcode
7565
76-
Code that now wishes to use pointers referencing this object, will typedef an
77-
stxxl::counting_ptr, which is used to increment and decrement the included
78-
reference counter automatically.
66+
Code that now wishes to use pointers referencing this object, will typedef an stxxl::counting_ptr, which is used to increment and decrement the included reference counter automatically.
7967
8068
\code
8169
typedef stxxl::counting_ptr<something> something_ptr
@@ -91,25 +79,19 @@ typedef stxxl::counting_ptr<something> something_ptr
9179
}
9280
\endcode
9381
94-
The stxxl::counting_ptr can generally be used like a usual pointer or
95-
shared_ptr (see the docs for more).
82+
The stxxl::counting_ptr can generally be used like a usual pointer or shared_ptr (see the docs for more).
9683
97-
There is also stxxl::const_counting_ptr to return const objects (note that a
98-
const stxxl::counting_ptr will only render the pointer const, not the enclosed
99-
object).
84+
There is also stxxl::const_counting_ptr to return const objects (note that a const stxxl::counting_ptr will only render the pointer const, not the enclosed object).
10085
10186
*/
10287

10388
/*! \page common_thread_sync Synchronization Primitives for Multi-Threading
10489
105-
To support multi-threading, some parts of STXXL use synchronization primitives
106-
to ensure correct results. The primitives are based either on pthreads or on
107-
Boost classes.
90+
To support multi-threading, some parts of STXXL use synchronization primitives to ensure correct results. The primitives are based either on pthreads or on Boost classes.
10891
10992
\section mutex Mutexes
11093
111-
For simple mutual exclusion contexts, stxxl::mutex objects should be used
112-
together with scoped locks:
94+
For simple mutual exclusion contexts, stxxl::mutex objects should be used together with scoped locks:
11395
11496
\code
11597
class Something
@@ -137,8 +119,7 @@ stxxl::onoff_switch is a two state semaphore thing?
137119

138120
/*! \page common_logging Logging Macros STXXL_MSG
139121
140-
All STXXL components should output log or trace messages using the following
141-
macros. There are two basic methods for logging using ostream syntax:
122+
All STXXL components should output log or trace messages using the following macros. There are two basic methods for logging using ostream syntax:
142123
143124
\code
144125
// for plain messages
@@ -159,8 +140,7 @@ STXXL_VERBOSE2("text " << var)
159140
STXXL_VERBOSE3("text " << var)
160141
\endcode
161142
162-
A method used by some submodule authors to create their own levels of verbosity
163-
is to make their own debugging macros:
143+
A method used by some submodule authors to create their own levels of verbosity is to make their own debugging macros:
164144
165145
\code
166146
#define STXXL_VERBOSE_VECTOR(msg) STXXL_VERBOSE1("vector[" << static_cast<const void *>(this) << "]::" << msg)
@@ -170,8 +150,7 @@ is to make their own debugging macros:
170150

171151
/*! \page common_assert Macros for Checking Assertions
172152
173-
There are quite a bunch of macros for testing assertions. You must be careful
174-
to pick the right one depending on when and what you want to assert on.
153+
There are quite a bunch of macros for testing assertions. You must be careful to pick the right one depending on when and what you want to assert on.
175154
176155
\section static Compile-time Assertions: STXXL_STATIC_ASSERT
177156
@@ -184,10 +163,7 @@ STXXL_STATIC_ASSERT(sizeof(item) == 4 * sizeof(int));
184163
185164
\section unittest Assertions in Unit Tests: STXXL_CHECK
186165
187-
Assertions in unit tests must use the following macros to ensure that the
188-
condition is also checked in release builds (where a plain \c "assert()" is
189-
void). These \c CHECK function should NOT be used to test return values, since
190-
we try to throw exceptions instead of aborting the program.
166+
Assertions in unit tests must use the following macros to ensure that the condition is also checked in release builds (where a plain \c "assert()" is void). These \c CHECK function should NOT be used to test return values, since we try to throw exceptions instead of aborting the program.
191167
192168
\code
193169
// test a condition
@@ -196,19 +172,13 @@ STXXL_CHECK( 2+2 == 4 );
196172
STXXL_CHECK2( 2+2 == 4, "We cannot count!");
197173
\endcode
198174
199-
Sometimes one also wants to check that a specific expression \b throws an
200-
exception. This checking can be done automatically using a <tt>try { } catch
201-
{}</tt> by using STXXL_CHECK_THROW.
175+
Sometimes one also wants to check that a specific expression \b throws an exception. This checking can be done automatically using a <tt>try { } catch {}</tt> by using STXXL_CHECK_THROW.
202176
203177
\section plain Plain Assertions: assert
204178
205-
For the usual assertions, that should be removed in production code for
206-
performance, we use the standard \c "assert()" function.
179+
For the usual assertions, that should be removed in production code for performance, we use the standard \c "assert()" function.
207180
208-
However, there is also \c STXXL_ASSERT(), which can be used as a replacement
209-
for \c assert(), when compiler warnings about unused variables or typedefs
210-
occur. The issue is that assert() completely removes the code, whereas
211-
STXXL_ASSERT() keeps the code encloses it inside \c if(0).
181+
However, there is also \c STXXL_ASSERT(), which can be used as a replacement for \c assert(), when compiler warnings about unused variables or typedefs occur. The issue is that assert() completely removes the code, whereas STXXL_ASSERT() keeps the code encloses it inside \c if(0).
212182
213183
TODO: STXXL_THROW
214184
@@ -236,14 +206,11 @@ See the file common/uint_types.h
236206
237207
\section namespaces __STXXL_BEGIN_NAMESPACE
238208
239-
A long, long time ago, not all compilers supported C++ namespaces, thus STXXL
240-
uses the macros __STXXL_BEGIN_NAMESPACE and __STXXL_END_NAMESPACE, which open
241-
and close the \c "namespace stxxl".
209+
A long, long time ago, not all compilers supported C++ namespaces, thus STXXL uses the macros __STXXL_BEGIN_NAMESPACE and __STXXL_END_NAMESPACE, which open and close the \c "namespace stxxl".
242210
243211
\section unused STXXL_UNUSED
244212
245-
STXXL_UNUSED is not actually a macro. It is a remedy against "unused variable"
246-
warnings, for whatever reason. Usage:
213+
STXXL_UNUSED is not actually a macro. It is a remedy against "unused variable" warnings, for whatever reason. Usage:
247214
248215
\code
249216
void function(int x)
@@ -254,9 +221,7 @@ void function(int x)
254221
255222
\section likely LIKELY and UNLIKEY
256223
257-
Some compilers have facilities to specify whether a condition is likely or
258-
unlikely to be true. This may have consequences on how to layout the assembler
259-
code better.
224+
Some compilers have facilities to specify whether a condition is likely or unlikely to be true. This may have consequences on how to layout the assembler code better.
260225
261226
\code
262227
if (LIKELY(x > 1)) { ... }
@@ -265,8 +230,6 @@ if (UNLIKELY(x > 8)) { ... }
265230
266231
\section deprecated Deprecated Functions
267232
268-
Some compilers can warn the user about deprecated function by tagging them in
269-
the source. In STXXL we use the macro _STXXL_DEPRECATED(...) to enclose
270-
deprecated functions.
233+
Some compilers can warn the user about deprecated function by tagging them in the source. In STXXL we use the macro _STXXL_DEPRECATED(...) to enclose deprecated functions.
271234
272235
*/

doc/design.dox

+5-7
Original file line numberDiff line numberDiff line change
@@ -126,13 +126,11 @@ The documentation of \subpage design_stl "The STL-User Layer" is on a separate s
126126
127127
# The Algorithm Pipelining Layer
128128
129-
The \subpage design_pipeline "Streaming layer" provides efficient support for
130-
external memory algorithms with mostly \b sequential I/O pattern, i.e. scan,
131-
sort, merge, etc. A user algorithm, implemented using this module can save many
132-
I/Os. The win is due to an efficient interface, that couples the input and the
133-
output of the algorithms-components (scans, sorts, etc.). The output from an
134-
algorithm is directly fed into another algorithm as the input, without the need
135-
to store it on the disk.
129+
The \subpage design_pipeline "Streaming layer" provides efficient support for external memory algorithms with mostly \b sequential I/O pattern, i.e. scan, sort, merge, etc. A user algorithm, implemented using this module can save many I/Os. The win is due to an efficient interface, that couples the input and the output of the algorithms-components (scans, sorts, etc.). The output from an algorithm is directly fed into another algorithm as the input, without the need to store it on the disk.
130+
131+
# Common Helpers and Utilities
132+
133+
Beyond the layered library, STXXL contains many small helpers commonly used in C++ like random numbers or shared pointers. See \subpage common "the common library" for short descriptions.
136134
137135
*/
138136

doc/faq.dox

+17-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,20 @@
1-
/*! \page FAQ FAQ - Frequently Asked Questions
1+
// -*- mode: c++; mode: visual-line; mode: flyspell; fill-column: 100000 -*-
2+
/***************************************************************************
3+
* doc/faq.dox
4+
*
5+
* Frequently asked and answered questions
6+
*
7+
* Part of the STXXL. See http://stxxl.sourceforge.net
8+
*
9+
* Copyright (C) 2007 Andreas Beckmann <[email protected]>
10+
* Copyright (C) 2013 Timo Bingmann <[email protected]>
11+
*
12+
* Distributed under the Boost Software License, Version 1.0.
13+
* (See accompanying file LICENSE_1_0.txt or copy at
14+
* http://www.boost.org/LICENSE_1_0.txt)
15+
**************************************************************************/
16+
17+
/** \page faq FAQ - Frequently Asked Questions
218
319
\section FAQ-latest Latest version of this FAQ
420
The most recent version of this FAQ can always be found

doc/install.dox

+2
Original file line numberDiff line numberDiff line change
@@ -149,4 +149,6 @@ where you execute the program (in our case this would be /project/build/src). A
149149
[TODO] use syscall_unlink INSTEAD !!! touch /tmp/stxxl to create a file, the Stxxl is allowed to use as disk space \endverbatim
150150
Please see [TODO] for further available options.
151151
152+
\author Timo Bingmann
153+
152154
*/

doc/introduction.dox

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/***************************************************************************
2-
* doc/intro-design.dox
2+
* doc/introduction.dox
33
*
44
* Most of this is from the old TeX tutorial and papers.
55
*
@@ -13,7 +13,7 @@
1313
* http://www.boost.org/LICENSE_1_0.txt)
1414
**************************************************************************/
1515

16-
/*! \page introduction Introduction and Design
16+
/*! \page introduction Introduction to External Memory
1717

1818
There exist many applications that have to process data sets which can not fit
1919
into the main memory of a computer, but fit into external memory (e.g. hard

doc/mainpage.dox

+15-22
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* http://www.boost.org/LICENSE_1_0.txt)
1414
**************************************************************************/
1515

16-
/*! \mainpage Welcome to STXXL
16+
/** \mainpage Welcome to STXXL
1717
1818
The core of STXXL is an implementation of the C++ standard template library STL for <b>external memory</b> (out-of-core) computations, i.e., STXXL implements containers and algorithms that can process huge volumes of data that only fit on disks. While the compatibility to the STL supports ease of use and compatibility with existing applications, another design priority is high performance. Here is a selection of STXXL performance features:
1919
@@ -24,23 +24,19 @@ The core of STXXL is an implementation of the C++ standard template library STL
2424
- algorithm pipelining
2525
- utilization of multiple processor cores for internal computation
2626
27-
See the \subpage introduction "introduction and design" page for a longer mission statement.
27+
See the \subpage introduction "introduction to external memory" for a longer description and our vision.
2828
29-
\section getting_started Getting Started
29+
# Getting Started: Building and Tutorial
3030
3131
This section will help you if you are using the STXXL for the first time.
3232
33-
\subpage install_unix
33+
First you must compile the library. Pick one of the following instructions, depending on your host system:
3434
35-
\link install-windows Compiling and Installing the STXXL on Microsoft Windows \endlink
35+
- \subpage install_unix
3636
37-
\link install-macos Compiling Installing the STXXL on Mac OS \endlink
37+
- \link install-windows Compiling and Installing the STXXL on Microsoft Windows \endlink
3838
39-
\subpage design "Design of STXXL concepts, containers and algorithms"
40-
41-
\section usage_functionality Usage and Functionality
42-
43-
This section provides simple and detailed documented examples on STXXL's datastructures.
39+
Once compiled, you can read the following simple tutorial on how to use STXXL containers and algorithms:
4440
4541
\link external_vector External Memory Vector \endlink
4642
@@ -54,26 +50,23 @@ This section provides simple and detailed documented examples on STXXL's datastr
5450
5551
\link external_stack External Memory Stack \endlink
5652
57-
\section installation Instructions on installation, usage, configuration
58-
59-
- \link installation_linux_gcc Installation, usage, configuration (Linux/Unix &ndash; g++/icpc/clang++) \endlink
60-
- \link installation_msvc Installation, usage, configuration (Windows &ndash; Microsoft Visual C++) \endlink
53+
# Design and More Information
6154
62-
- \link install-svn Installing from subversion \endlink
55+
We have collected much documentation about the design of STXXL. Even more information is available as academic research papers, technical reports and theses.
6356
57+
- \subpage design "Design of STXXL concepts, containers and algorithms"
6458
65-
\section questions Questions
59+
# Questions
6660
6761
- Questions concerning use and development of the STXXL library should be posted to the <b><a href="http://sourceforge.net/projects/stxxl/forums">FORUMS</a></b>. Please search the forum before posting, your question may have been answered before.
6862
69-
\section bugreports Bug Reports
63+
# Bug Reports and FAQ
7064
71-
- Bugs should be reported in the <b><a href="https://stxxl.ae.cs.uni-frankfurt.de/bugs/">Bugzilla Bug Tracker</a></b>
72-
73-
- \link FAQ FAQ - Frequently Asked Questions \endlink
65+
- \subpage faq "FAQ - Frequently Asked Questions"
7466
67+
- Bugs should be reported in the <b><a href="https://stxxl.ae.cs.uni-frankfurt.de/bugs/">Bugzilla Bug Tracker</a></b>
7568
76-
\section license License
69+
# License
7770
7871
\c STXXL is distributed under the Boost Software License, Version 1.0.<br> You can find a copy of the license in the accompanying file \c LICENSE_1_0.txt or online at <a href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>.
7972

0 commit comments

Comments
 (0)