Boost
Threads by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- 23 participants
- 33382 discussions
Tom Brinkman writes:
> The review of Generic Image Library (GIL) begins today,
> October 5, 2006, and continues through October 15, 2006.
> [...]
> Review questions:
>
> Please always explicitly state in your review, whether you think the
> library should be accepted into Boost.
In current state - no. But I hope that it'll be accepted the next time.
>
> You might want to comment on the following questions:
>
> - What is your evaluation of the design?
Very promising, but I have some dissatisfactions about it that I'd like to be addressed. Or, may be just resolved if they are the result of my misunderstanding.
> - What is your evaluation of the implementation?
Have not seen the details.
> - What is your evaluation of the documentation?
Not good, really.
It consists of two parts: the tutorial and the design guide.
the first is too superficial and the second is both superficial and too detailed in some places. It is easier to say what the documentation of this and any other generic library should be:
1) The description of the domain covered (it is equal to abstract mathematical model)
2) introductory examples of simple library usages
3) definitions of concepts _with_ examples of it's implementations and adoptation of existing types to model the concept
This section covers the important question of how one can extend the library. It is too hard to harvest this information from current concepts definitions in GIL docs.
> - What is your evaluation of the potential usefulness of the library?
This library is very useful for me in particular and it can be made much more useful (see below)
> - Did you try to use the library? With what compiler? Did you have
> any problems?
No, I've not used it yet.
> - How much effort did you put into your evaluation? A glance? A quick
> reading? In-depth study?
In-depth reading the tutorial, quick reading of the design guide and a lot of thinking.
> - Are you knowledgeable about the problem domain?
I think yes. My PhD was about electron tomography where I've implemented 3D reconstruction algorithms on a series of 2D images (the result is in 3D). Currently, my job is related to OCR and other pattern recognition software development that is tightly coupled with imaging.
Below is a constructive (I hope) critics and suggestions for GIL.
First of all, GIL claims to apply generic programming techniques to achieve its goals. The generic part is understood well now:
1) define concepts
2) provide implementations that models concepts defined
But what about the programming part in "generic programming" term? What the programming is all about? This question has many answers, I have one that is close to the topic: "Programming is an implementation of abstract models in a form that computer can understand"
"Abstract model" - is the most abstract one, like in mathematics we define abstract objects and operations on them. then we investigate the "world" created by such a choice of objects and operations.
It would be a true to say that every good program or library has a very well defined "Abstract model" in it's grounds.
Now I can formulate my main dissatisfaction with GIL:
It seems that it has no well-defined abstract model behind.
It leads to not so clear design IMO.
Now I'll try to sketch out the model that GIL can have behind it.
It is relatively easy. What is an Image at first place? (I mean abstract image here.)
Mathematically speaking, image is a N-dimensional vector function in M-dimensional space.
In other words, we have a set of points in one N-dimensional space (let call it S(N)) and a set of points in another M-dimensional space (let call it S'(M), where ' corresponds to the target space), that corresponds to the first set.
In short form the same can be formulated as:
Image := S(N) -> S'(M)
where ":=" means "by definition"
For example, for the 2D RGB image N == 2 and M == 3.
To complete this definition, we need to add that each dimension in both spaces is discretized and finite in some interval.
For example, it is [0,255] for one byte channel in GIL terms.
This definition can be used as is to define the Image and View concepts for GIL.
After defining abstract object we can play with - the Image, we can define Transformations on such objects. and different kinds of transformations.
The most general transformation can be expressed like this:
Transform := {Img1} -> {Img2}
where Img1 := S(N1) -> S'(M1) and
Img2 := S(N2) -> S'(M2) and
{} - defines a set in mathematical sense, so {Img1} is a set of images
in other words, all attributes can change:
dimensions of both, source and target spaces (S and S')
and a number of images (let call it |{Img}|) in a source and destination image sets:
|{Img1}| and |{Img2}| can be different
The simplest case is when
N1 == N2 and
M1 == M2 and
|{Img1}| == |{Img2}| == 1
The example is std::transform algorithm (N1 == N2 == 1)
It also has a two-sequences overload that can be used in case when |{Img1}| == 2
The reference to the STL is not by chance. The part of STL that defines and operates on a Random Access Sequences has the same Abstraction behind it, that is formulated here, but only for case when N is identical to 1.
Wait a minute! STL operates on objects of arbitrarily type T, not on a linear spaces of dimension M as in our formulation here. Yes, but there is a one to one relation between the two. (Each class object can be seen as a set of values that it holds and this set of values can be seen as a set of choords in our M-dimensional space)
Note, that even for the case when N == 1 STL doesn't cover all kinds of transformations possible, and it is really sad, GIL should be better in this aspect. Moreover, GIL can (and may be should) supersede STL in a Random Access Sequences Transformations business.
I want to claim that GIL should provide a primitives to express any kind of Transformation possible.
Ok, now we have the Abstraction, let see how it can be expressed in C++ in a generic fashion.
There is nothing to invent here - the STL and the GIL is already there.
In STL the Image object is represented by std::vector<T>, std::deque<T>, std::basic_string<T> and T* for any type T.
The transformation in STL is represented in a form of generic algorithms like std::transform, std::sort, std::copy, std::remove_if, etc.
These algorithms operate not on images directly, but the additional layer of iterators is added and algorithms operate on a pairs of iterators that represents an iterators ranges. The goal of iterator is to abstract out the type of the container object it originates from, that allows as to implement all algorithms once and for all existing and future container types.
The real reason to provide this additional "indirection" layer is to support T* - containers.
Nevertheless, it opens up the new way to express the Transformation - through a special iterator adapter like boost::transform_iterator. It can do exactly what std::transform can do (N == 1 version), but it can do it in a _lazy_ way, it doesn't compute it's results, but can be invoked later to do this job.
It means that in STL we have two ways to express the Transformation:
the _strict_ - by algorithms
and the _lazy_ - by special iterator adapters
Is it good or bad? I think that having two ways to do the same thing is generally bad.
The lazy way is superior to the strict one, because the last can be implemented by simply invoking the lazy one in a well defined manner
strict := apply(lazy);
The GIL has a View concept that is the same as an iterators range in STL is. It means that GIL inherits from STL the same duality problem in expressing the Transformation concept.
I claim that GIL has to remove algorithm concept completely, and leave only View with a new meaning - it is not only a lightweight Image representation, but it is a representation of the Transformation abstraction from now.
View would be invoked when, and only when it would be assigned to Image:
Image img = some_view; // all computation made here
Given such a TransformationView concept it is interesting to explore some new possibilities that it opens up - For example, one can define mpl::vector<view_type1, view_type2, view_type3, etc.> and apply some meta-programming to construct the final view type that would be invoked. And if View construction can be separated from it's lazy-application, then Views can be treated as a function objects that can be groped into a tuple and manipulated in some non-trivial way in response to run-time user input. I see, that there is a huge new field to explore...
Here you should say that View already is a Transformation in GIL. Yes, but from docs I've realized that that its potentioal is not clearly understud by GIL authors. I claim that TransformationView should become the central part in GIL, almost all GIL programming and using/extending should be centered around the View concept.
Next, and very important issue: laziness produces overhead without some kind of memoization technique. I claim that GIL should have one built-in.
Now GIL docs have examples of suboptimal algorithms, that are suboptimal because of this absence of memoization support.
I mean examples, where one needs to apply non-trivial views on each step in order to increase performance, but it is:
1) suboptimal
2) looks agly
3) wastes memory
The same examples could be rewritten by hand without GIL in a much more efficient way. It is not a good conclusion for library that claims that "Performance. Speed has been instrumental to the design of the library. The generic algorithms provided in the library are
comparable in speed to hand-coding the algorithm for a specific image type."
I understand, that the general support for memoization is a hard task, but I claim, that it can be done with a little help from transformation (or View in current GIL) writer.
My final claim is about representativity of implementations of concepts in GIL. I claim that they are insufficient. For example, sub-byte channels should be implemented to ensure that GIL's concepts are good enough to handle it. In particular, I'm very interested to see an implementation for 1bpp colorspace that is very common in OCR development.
I can provide an example usage of such a functionality, that can be used by authors of GIL to illustrate it's abilities:
Suppose we have a 1bpp image and want to find all horizontal lines that are black ( bit is set to 0 ). Line is defined by its first and last positions (x1, x2).
The example code should define a new image type that consists of a rows of lines (x, x2), like std::vector< std::vector<line> >, and a new View type that can produce such an image from normal 1bpp image.
One more idea of how to improve GIL:
It is typically enough to use N and/or N-1 dimensional Views to implement Transformation for N-dimensional View. Only in rare cases there is a need for N-2, N-3, ... 1, 0 - dimensional slices, like 0-dimensional pixels for 2D images.
For example, your x_gradient algorithm can be implemented as a Transformation View by using 1D SubView consisting of only two points.
1) define the 1D View like here
View1D v1d = {1, 0, -1}; // Note: pseudocode
2) multiply the current View defined by enclosing view and current location by the v1d
3) use accumulation_view on the result to calculate the final gradient
The vast magority of image processing algorithms do convolution of an image with some KxL kernel, the technique above can be used to express them in a universal way.
The idea here is that the programming model for GIL should be as follows:
1) if there are enough predefined views - express your program as a compositions of views.
2) if you are forced to wrote your own view - do it in terms of higher-dimensional (N and/or N-1) sub-views, use lower-dimensional only if absolutely nesessary.
The reason is efficiency at first place:
such highly abstract transformation implementation could be effectively optimized by the lib internally. For example, by parallelizing it, or in a case of convolution - library can provide a higher-order convolution_view, that would be implemented through FFT transforms internally.
I hope, that my comments would help authors to make the GIL that would be in a magnitude better than STL is now.
Best regards,
Oleg Abrosimov.
3
2
09 Oct '06
Pavel Syomin wrote:
> This is solve my problems, but why there is nothing about spurious
> wakeup in boost documentation?...
The older documentation
http://web.archive.org/web/20041024220516/boost.org/libs/thread/doc/conditi…
does have a few sentences that mention spurious wakeups; I've no idea how
they got lost. I'll CC: the dev list.
3
19
Hi,
As far as I know some interesting libraries have cropped up from SOC
into the boost vault. See http://code.google.com/soc/boost/about.html
What is the status of these libraries in terms of submissions, reviews
etc.
Why don't they show up in the sandbox?
I am mostly interested in:
* boost.process
* boost.tree
Thanks
Shams
8
10
The following code:
using namespace boost::algorithm;
std::string test("DataItem.item[4]");
std::vector< std::string > path;
split(path,test,is_any_of(".[]"),token_compress_on);
for(int i=0;i<path.size();i++)
{
const char* dbg=path[i].c_str();
std::cout<<path[i]<<std::endl;
}
std::cout<<" DONE!"<<std::endl;
produces the following output:
DataItem
4
<null string>
DONE!
This happens every time the test string ends with a terminator.
Is this the desired behaviour? It seems to me that it is more
intuitive if the split returns just the first two items without the
final <null> string.
Regards,
Luca Regini
2
1
Please ignore
1
0
Boost Inspection Report
Run Date: 16:07:17 UTC, Monday 09 October 2006
An inspection program <http://www.boost.org/tools/inspect/index.html>
checks each file in the current Boost CVS for various problems,
generating this as output. Problems detected include tabs in files,
missing copyrights, broken URL's, and similar misdemeanors.
Totals:
11686 files scanned
904 directories scanned (including root)
2683 problems reported
Problem counts:
1673 files missing Boost license info or having wrong reference text
1010 files missing copyright notice
Summary:
any (3)
archive (1)
array (3)
assign (2)
bind (9)
boost-root (6)
boostbook (70)
build (428)
compatibility (2)
compose (2)
concept_check (24)
conversion (5)
detail (4)
disjoint_sets (6)
doc (56)
filesystem (7)
format (12)
function (17)
functional (8)
graph (180)
inspect (1)
integer (9)
io (2)
iostreams (2)
iterator (2)
lambda (14)
libs (8)
logic (2)
math (1)
mem_fn (2)
more (31)
mpl (930)
multi_array (16)
numeric (214)
optional (3)
people (90)
pool (32)
program_options (45)
property_map (17)
ptr_container (113)
python (6)
quickbook (11)
random (22)
range (18)
rational (5)
regex (4)
regression (67)
release (3)
serialization (16)
signals (32)
smart_ptr (15)
test (5)
timer (3)
tokenizer (9)
tools (6)
tr1 (2)
tuple (9)
utility (26)
variant (43)
wiki (2)
Details:
*L* missing Boost license info, or wrong reference text
*C* missing copyright notice
|any|
libs/any/doc/
any.xml: *L*
libs/any/
index.html: *C* *L*
|archive|
boost/archive/detail/
utf8_codecvt_facet.hpp: *L*
|array|
libs/array/doc/
array.xml: *L*
libs/array/
index.html: *C* *L*
|assign|
libs/assign/doc/
style.css: *L*
libs/assign/
index.html: *L*
|bind|
libs/bind/
bind.html: *L*
libs/bind/doc/
ref.xml: *L*
libs/bind/
index.html: *C* *L*
mem_fn.html: *L*
ref.html: *C* *L*
libs/bind/test/
Jamfile: *L*
Jamfile.v2: *L*
|boost-root|
/
Jamfile.v2: *C* *L*
README: *C*
boost.css: *C* *L*
rst.css: *L*
|boostbook|
tools/boostbook/doc/
Jamfile.v2: *C* *L*
boostbook.xml: *L*
documenting.xml: *C* *L*
reference.xml: *L*
together.xml: *C* *L*
tools/boostbook/
setup_boostbook.py: *C* *L*
setup_boostbook.sh: *C* *L*
tools/boostbook/xsl/
admon.xsl: *C* *L*
annotation.xsl: *C* *L*
tools/boostbook/xsl/caramel/
concept2docbook.xsl: *L*
cpp-operators.xml: *L*
unparser.xsl: *L*
tools/boostbook/xsl/
chunk-common.xsl: *C* *L*
docbook-layout.xsl: *C* *L*
docbook.xsl: *C* *L*
tools/boostbook/xsl/doxygen/
collect.xsl: *C* *L*
doxygen2boostbook.xsl: *C* *L*
tools/boostbook/xsl/dtd/
dtd2boostbook.xsl: *C* *L*
tools/boostbook/xsl/
error.xsl: *C* *L*
fo.xsl: *C* *L*
function.xsl: *C* *L*
global.xsl: *C* *L*
html-single.xsl: *C* *L*
html.xsl: *L*
index.xsl: *C* *L*
library.xsl: *L*
lookup.xsl: *C* *L*
macro.xsl: *C* *L*
manpages.xsl: *C* *L*
navbar.xsl: *C* *L*
reference.xsl: *C* *L*
relative-href.xsl: *C* *L*
source-highlight.xsl: *C* *L*
template.xsl: *C* *L*
tools/boostbook/xsl/testing/
Jamfile.xsl: *L*
testsuite.xsl: *C* *L*
tools/boostbook/xsl/
type.xsl: *C* *L*
utility.xsl: *C* *L*
xref.xsl: *C* *L*
|build|
tools/build/v1/
gcc-nocygwin-tools.html: *L*
gcc-nocygwin-tools.jam: *L*
stlport.jam: *L*
sunpro-stlport-tools.jam: *L*
tools/build/v1/test/
test-testing.jam: *L*
tools/build/v1/
vacpp-tools.jam: *L*
tools/build/v2/
boost-build.jam: *C* *L*
boost.css: *C* *L*
build-system.jam: *L*
tools/build/v2/build/
alias.jam: *L*
build-request.jam: *L*
feature.jam: *L*
modifiers.jam: *L*
project.jam: *L*
property-set.jam: *L*
property.jam: *L*
readme.txt: *C* *L*
scanner.jam: *L*
toolset.jam: *L*
type.jam: *L*
version.jam: *L*
virtual-target.jam: *L*
tools/build/v2/
changes.txt: *C* *L*
tools/build/v2/doc/
Jamfile.v2: *C* *L*
development_plan.html: *L*
tools/build/v2/doc/src/
advanced.xml: *C* *L*
architecture.xml: *C* *L*
catalog.xml: *C* *L*
extending.xml: *C* *L*
faq.xml: *C* *L*
howto.xml: *C* *L*
install.xml: *C* *L*
recipes.xml: *C* *L*
reference.xml: *C* *L*
standalone.xml: *C* *L*
tutorial.xml: *C* *L*
userman.xml: *C* *L*
tools/build/v2/doc/
tools.html: *L*
tools/build/v2/example/
boost-build.jam: *C* *L*
tools/build/v2/example/customization/
Jamfile: *C* *L*
inline_file.py: *L*
project-root.jam: *C* *L*
readme.txt: *C* *L*
verbatim.jam: *L*
tools/build/v2/example/gettext/
Jamfile: *C* *L*
project-root.jam: *C* *L*
readme.txt: *C* *L*
tools/build/v2/example/libraries/app/
Jamfile: *C* *L*
tools/build/v2/example/libraries/util/foo/
Jamfile: *C* *L*
tools/build/v2/example/make/
readme.txt: *C* *L*
tools/build/v2/example/qt/
README.txt: *C* *L*
tools/build/v2/example/variant/
Jamfile: *C* *L*
tools/build/v2/example/variant/libs/
Jamfile: *C* *L*
tools/build/v2/example/variant/
project-root.jam: *C* *L*
readme.txt: *C* *L*
tools/build/v2/example/versioned/
jamfile.jam: *L*
project-root.jam: *L*
tools/build/v2/
generators_prototype.py: *L*
hacking.txt: *C* *L*
index.html: *L*
tools/build/v2/kernel/
boost-build.jam: *L*
bootstrap.jam: *L*
class.jam: *L*
errors.jam: *L*
modules.jam: *L*
tools/build/v2/
nightly.sh: *C* *L*
tools/build/v2/notes/
README.txt: *C* *L*
build_dir_option.txt: *C* *L*
relative_source_paths.txt: *C* *L*
tools/build/v2/options/
help.jam: *L*
tools/build/v2/
release_procedure.txt: *C* *L*
roll.sh: *C* *L*
site-config.jam: *L*
tools/build/v2/test/
BoostBuild.py: *C* *L*
Jamfile: *C* *L*
TestCmd.py: *L*
abs_workdir.py: *C* *L*
absolute_sources.py: *C* *L*
alias.py: *C* *L*
alternatives.py: *C* *L*
assert-equal.jam: *C* *L*
bad_dirname.py: *L*
boost-build.jam: *C* *L*
boostbook.py: *L*
tools/build/v2/test/boostbook/
a.hpp: *C* *L*
docs.xml: *L*
tools/build/v2/test/
build_dir.py: *C* *L*
c_file.py: *L*
chain.py: *C* *L*
check-arguments.jam: *L*
check-bindrule.jam: *C* *L*
check-jam-patches.jam: *C* *L*
check-test-tools.jam: *C* *L*
composite.py: *L*
conditionals.py: *C* *L*
conditionals2.py: *L*
conditionals3.py: *L*
core_d12.py: *C* *L*
core_delete_module.py: *C* *L*
core_dependencies.py: *C* *L*
core_import_module.py: *L*
core_modifiers.py: *C* *L*
core_typecheck.py: *C* *L*
core_varnames.py: *C* *L*
custom_generator.py: *L*
default_build.py: *C* *L*
default_features.py: *L*
tools/build/v2/test/dependency-test/
Jamfile: *C* *L*
foo.jam: *C* *L*
project-root.jam: *C* *L*
tools/build/v2/test/dependency-test/src1/
z.h: *C* *L*
tools/build/v2/test/
dependency_property.py: *L*
dependency_test.py: *C* *L*
tools/build/v2/test/direct-request-test/
Jamfile: *C* *L*
project-root.jam: *C* *L*
tools/build/v2/test/
direct_request_test.py: *C* *L*
dll_path.py: *L*
double_loading.py: *L*
duplicate.py: *L*
echo_args.jam: *C* *L*
empty.jam: *C* *L*
expansion.py: *L*
explicit.py: *L*
gcc_runtime.py: *L*
tools/build/v2/test/generators-test/
Jamfile: *C* *L*
extra.jam: *C* *L*
lex.jam: *L*
tools/build/v2/test/generators-test/lib/
Jamfile: *C* *L*
tools/build/v2/test/generators-test/
nm.jam: *C* *L*
project-root.jam: *C* *L*
qt.jam: *C* *L*
tools/build/v2/test/
generators_test.py: *C* *L*
glob.py: *L*
inherit_toolset.py: *L*
inline.py: *L*
library_chain.py: *L*
library_order.py: *L*
library_property.py: *L*
loop.py: *L*
m1-01.py: *C* *L*
m1-02.py: *C* *L*
m1-03.py: *C* *L*
make_rule.py: *C* *L*
tools/build/v2/test/module-actions/
boost-build.jam: *C* *L*
bootstrap.jam: *C* *L*
tools/build/v2/test/
module_actions.py: *C* *L*
ndebug.py: *L*
no_type.py: *C* *L*
ordered_properties.py: *L*
path_features.py: *C* *L*
prebuilt.py: *C* *L*
tools/build/v2/test/prebuilt/
Jamfile: *C* *L*
tools/build/v2/test/prebuilt/ext/
Jamfile: *C* *L*
project-root.jam: *C* *L*
tools/build/v2/test/prebuilt/
project-root.jam: *C* *L*
tools/build/v2/test/
print.py: *C* *L*
project-test1.jam: *C* *L*
tools/build/v2/test/project-test1/
Jamfile: *C* *L*
tools/build/v2/test/project-test1/dir/
Jamfile: *C* *L*
tools/build/v2/test/project-test1/dir2/
Jamfile: *C* *L*
project-root.jam: *C* *L*
tools/build/v2/test/project-test1/
project-root.jam: *C* *L*
project-test1.jam: *C* *L*
readme.txt: *C* *L*
standalone-project.jam: *C* *L*
tools/build/v2/test/project-test3/
Jamfile: *C* *L*
tools/build/v2/test/project-test3/lib/
Jamfile: *C* *L*
tools/build/v2/test/project-test3/lib2/
Jamfile: *C* *L*
tools/build/v2/test/project-test3/lib2/helper/
Jamfile: *C* *L*
tools/build/v2/test/project-test3/lib3/
Jamfile: *C* *L*
project-root.jam: *C* *L*
tools/build/v2/test/project-test3/
project-root.jam: *C* *L*
readme.txt: *C* *L*
tools/build/v2/test/project-test4/
Jamfile: *C* *L*
tools/build/v2/test/project-test4/lib/
Jamfile: *C* *L*
tools/build/v2/test/project-test4/lib2/
Jamfile: *C* *L*
tools/build/v2/test/project-test4/
project-root.jam: *C* *L*
readme.txt: *C* *L*
tools/build/v2/test/
project_dependencies.py: *C* *L*
project_root_constants.py: *L*
project_test1.py: *C* *L*
project_test3.py: *C* *L*
project_test4.py: *C* *L*
property_expansion.py: *L*
railsys.py: *L*
readme.txt: *C* *L*
rebuilds.py: *C* *L*
recursive.jam: *L*
regression.py: *L*
relative_sources.py: *C* *L*
searched_lib.py: *C* *L*
skipping.py: *L*
stage.py: *C* *L*
standalone.py: *L*
tools/build/v2/test/startup/boost-root/
boost-build.jam: *C* *L*
tools/build/v2/test/startup/boost-root/build/
boost-build.jam: *C* *L*
bootstrap.jam: *C* *L*
tools/build/v2/test/startup/bootstrap-env/
boost-build.jam: *C* *L*
tools/build/v2/test/startup/bootstrap-explicit/
boost-build.jam: *C* *L*
tools/build/v2/test/startup/bootstrap-implicit/
readme.txt: *C* *L*
tools/build/v2/test/startup/no-bootstrap1/
boost-build.jam: *C* *L*
tools/build/v2/test/startup/no-bootstrap1/subdir/
readme.txt: *C* *L*
tools/build/v2/test/startup/no-bootstrap2/
boost-build.jam: *C* *L*
tools/build/v2/test/startup/no-bootstrap3/
boost-build.jam: *C* *L*
tools/build/v2/test/
startup_v1.py: *C* *L*
startup_v2.py: *C* *L*
suffix.py: *L*
svn_tree.py: *L*
symlink.py: *C* *L*
tag.py: *L*
test-config-example.jam: *C* *L*
test.jam: *C* *L*
test1.py: *C* *L*
test2.py: *C* *L*
tools/build/v2/test/test2/
Jamfile: *C* *L*
tools/build/v2/test/
test_all.py: *C* *L*
test_nt_line_length.jam: *L*
test_system.html: *L*
tools/build/v2/test/testing-primitives/
boost-build.jam: *C* *L*
bootstrap.jam: *C* *L*
tools/build/v2/test/
testing_primitives.py: *C* *L*
tree.py: *L*
unit-tests.jam: *L*
unit_test.py: *L*
unit_tests.py: *C* *L*
unused.py: *C* *L*
tools/build/v2/test/unused/
Jamfile: *C* *L*
b.cpp: *C* *L*
project-root.jam: *C* *L*
tools/build/v2/test/
use_requirements.py: *C* *L*
tools/build/v2/test/v1-testing/
Jamfile: *C* *L*
boost-build.jam: *C* *L*
tools/build/v2/test/
v1_testing.py: *C* *L*
tools/build/v2/test/v1_testing/
Jamfile: *C* *L*
boost-build.jam: *C* *L*
project-root.jam: *C* *L*
tools/build/v2/test/
wrapper.py: *L*
tools/build/v2/tools/
bison.jam: *L*
boostbook.jam: *L*
borland.jam: *L*
builtin.jam: *L*
common.jam: *L*
como-linux.jam: *L*
darwin.jam: *L*
doxygen.jam: *L*
gettext.jam: *L*
kylix.jam: *L*
lex.jam: *L*
make.jam: *L*
qt3.jam: *L*
stage.jam: *L*
stlport.jam: *L*
sun.jam: *L*
symlink.jam: *L*
testing.jam: *L*
xsltproc.jam: *L*
tools/build/v2/
user-config.jam: *L*
tools/build/v2/util/
assert.jam: *L*
container.jam: *L*
doc.jam: *L*
indirect.jam: *L*
numbers.jam: *L*
os.jam: *L*
path.jam: *L*
print.jam: *L*
regex.jam: *L*
sequence.jam: *L*
set.jam: *L*
string.jam: *L*
utility.jam: *L*
|compatibility|
libs/compatibility/
generate_cpp_c_headers.py: *L*
index.html: *L*
|compose|
libs/compose/
index.htm: *C* *L*
|concept_check|
libs/concept_check/
bibliography.htm: *L*
concept_check.htm: *L*
concept_covering.htm: *L*
creating_concepts.htm: *L*
libs/concept_check/doc/
Jamfile.v2: *C* *L*
libs/concept_check/doc/reference/
Assignable.xml: *L*
BidirectionalIterator.xml: *L*
CopyConstructible.xml: *L*
DefaultConstructible.xml: *L*
EqualityComparable.xml: *L*
ForwardIterator.xml: *L*
InputIterator.xml: *L*
LessThanComparable.xml: *L*
OutputIterator.xml: *L*
RandomAccessIterator.xml: *L*
SignedInteger.xml: *L*
concepts.xml: *L*
libs/concept_check/
implementation.htm: *L*
index.html: *C* *L*
prog_with_concepts.htm: *L*
reference.htm: *L*
using_concept_check.htm: *L*
|conversion|
libs/conversion/
cast.htm: *L*
index.html: *C* *L*
lexical_cast.htm: *L*
libs/conversion/test/
Jamfile.v2: *L*
|detail|
boost/detail/
algorithm.hpp: *L*
endian.hpp: *L*
limits.hpp: *L*
utf8_codecvt_facet.hpp: *L*
|disjoint_sets|
libs/disjoint_sets/
Jamfile: *C* *L*
bibliography.html: *L*
disjoint_sets.html: *L*
index.html: *C* *L*
|doc|
doc/
Jamfile.v2: *C* *L*
doc/html/
CopyConstructible.html: *C* *L*
any.html: *C* *L*
array.html: *C* *L*
doc/html/bbv2/
installation.html: *C* *L*
doc/html/
boost_math.html: *C* *L*
doc/html/boost_math/
gcd_lcm.html: *C* *L*
inverse_complex.html: *C* *L*
doc/html/
boost_staticassert.html: *C* *L*
boost_tr1.html: *C* *L*
boost_typetraits.html: *C* *L*
doc/html/boost_typetraits/
background.html: *C* *L*
doc/html/
boostbook.html: *C* *L*
date_time.html: *C* *L*
foreach.html: *C* *L*
function.html: *C* *L*
functionN.html: *C* *L*
lambda.html: *C* *L*
program_options.html: *C* *L*
ref.html: *C* *L*
reference.css: *C* *L*
signals.html: *C* *L*
string_algo.html: *C* *L*
tribool.html: *C* *L*
variant.html: *C* *L*
who_s_using_boost_.html: *C* *L*
xpressive.html: *C* *L*
doc/src/
boost.xml: *C* *L*
|filesystem|
libs/filesystem/build/
Jamfile.v2: *C* *L*
libs/filesystem/doc/
tr2_proposal.html: *L*
libs/filesystem/example/
Jamfile.v2: *C* *L*
libs/filesystem/src/
utf8_codecvt_facet.hpp: *L*
libs/filesystem/test/
Jamfile.v2: *L*
|format|
libs/format/
Jamfile: *L*
libs/format/benchmark/
Jamfile: *L*
bench_format.cpp: *C*
results.txt: *C* *L*
libs/format/doc/
choices.html: *L*
format.html: *C*
libs/format/example/
Jamfile: *L*
libs/format/
index.html: *C* *L*
libs/format/test/
Jamfile: *L*
Jamfile.v2: *L*
|function|
boost/function/detail/
gen_maybe_include.pl: *L*
libs/function/doc/
Jamfile.v2: *C* *L*
faq.xml: *C* *L*
history.xml: *C* *L*
misc.xml: *C* *L*
reference.xml: *C* *L*
tests.xml: *C* *L*
tutorial.xml: *C* *L*
libs/function/
index.html: *C* *L*
|functional|
boost/
functional.hpp: *L*
libs/functional/
binders.html: *L*
function_test.cpp: *L*
function_traits.html: *L*
index.html: *L*
mem_fun.html: *L*
negators.html: *L*
ptr_fun.html: *L*
|graph|
libs/graph/build/
Jamfile: *C* *L*
Jamfile.v2: *C* *L*
libs/graph/doc/
AStarHeuristic.html: *L*
AStarVisitor.html: *L*
AdjacencyGraph.html: *L*
AdjacencyMatrix.html: *L*
BFSVisitor.html: *L*
BasicMatrix.html: *L*
BellmanFordVisitor.html: *L*
BidirectionalGraph.html: *L*
Buffer.html: *L*
ColorValue.html: *L*
DFSVisitor.html: *L*
DijkstraVisitor.html: *L*
EdgeListGraph.html: *L*
EdgeMutableGraph.html: *L*
EventVisitor.html: *L*
EventVisitorList.html: *L*
Graph.html: *L*
IncidenceGraph.html: *L*
IteratorConstructibleGraph.html: *L*
Makefile: *C* *L*
Monoid.html: *L*
MutableGraph.html: *L*
MutablePropertyGraph.html: *L*
PropertyGraph.html: *L*
PropertyTag.html: *L*
VertexAndEdgeListGraph.html: *L*
VertexListGraph.html: *L*
VertexMutableGraph.html: *L*
acknowledgements.html: *L*
adjacency_iterator.html: *L*
adjacency_list.html: *L*
adjacency_list_traits.html: *L*
adjacency_matrix.html: *L*
astar_heuristic.html: *L*
astar_search.html: *L*
astar_visitor.html: *L*
bandwidth.html: *L*
bc_clustering.html: *L*
bellman_ford_shortest.html: *L*
bellman_visitor.html: *L*
betweenness_centrality.html: *L*
bfs_visitor.html: *L*
bgl_named_params.html: *L*
bibliography.html: *L*
breadth_first_search.html: *L*
breadth_first_visit.html: *L*
challenge.html: *L*
circle_layout.html: *L*
compressed_sparse_row.html: *L*
connected_components.html: *L*
constructing_algorithms.html: *L*
copy_graph.html: *L*
cuthill_mckee_ordering.html: *L*
dag_shortest_paths.html: *L*
default.css: *L*
depth_first_search.html: *L*
depth_first_visit.html: *L*
dfs_visitor.html: *L*
dijkstra_shortest_paths.html: *L*
dijkstra_visitor.html: *L*
distance_recorder.html: *L*
edge_list.html: *L*
edmunds_karp_max_flow.html: *L*
exception.html: *L*
faq.html: *L*
libs/graph/doc/figs/
Makefile: *C* *L*
libs/graph/doc/
file_dependency_example.html: *L*
filtered_graph.html: *L*
floyd_warshall_shortest.html: *L*
fruchterman_reingold.html: *L*
graph_coloring.html: *L*
graph_concepts.html: *L*
graph_theory_review.html: *L*
graph_traits.html: *L*
gursoy_atun_layout.html: *L*
history.html: *L*
incident.html: *L*
incremental_components.html: *L*
index.html: *L*
inv_adjacency_iterator.html: *L*
isomorphism.html: *L*
johnson_all_pairs_shortest.html: *L*
jwebfrob.pl: *C* *L*
kamada_kawai_spring_layout.html: *L*
kevin_bacon.html: *L*
king_ordering.html: *L*
known_problems.html: *L*
kruskal_min_spanning_tree.html: *L*
layout_tolerance.html: *C* *L*
leda_conversion.html: *L*
lengauer_tarjan_dominator_tree.htm: *L*
minimum_degree_ordering.html: *L*
null_visitor.html: *L*
opposite.html: *L*
predecessor_recorder.html: *L*
prim_minimum_spanning_tree.html: *L*
profile.htm: *L*
property.html: *L*
property_map.html: *L*
property_writer.html: *L*
publications.html: *L*
push_relabel_max_flow.html: *L*
python.html: *L*
quick_tour.html: *L*
random.html: *L*
random_layout.html: *L*
read_graphviz.html: *C* *L*
read_graphviz.rst: *C* *L*
reverse_graph.html: *L*
sequential_vertex_coloring.html: *L*
sloan_ordering.htm: *L*
sloan_start_end_vertices.htm: *L*
sparse_matrix_ordering.html: *L*
stanford_graph.html: *L*
strong_components.html: *L*
subgraph.html: *L*
table_of_contents.html: *L*
time_stamper.html: *L*
topological_sort.html: *L*
transitive_closure.html: *L*
transpose_graph.html: *L*
trouble_shooting.html: *L*
undirected_dfs.html: *L*
users.html: *C* *L*
using_adjacency_list.html: *L*
using_property_maps.html: *L*
visitor_concepts.html: *L*
wavefront.htm: *L*
write-graphviz.html: *L*
libs/graph/example/
Jamfile: *C* *L*
cuthill_mckee_ordering.cpp: *L*
data1.txt: *C* *L*
data2.txt: *C* *L*
data3.txt: *C* *L*
king_ordering.cpp: *L*
property_iterator.cpp: *L*
libs/graph/example/python/
breadth_first_search.py: *C* *L*
vis.py: *C* *L*
libs/graph/example/
regrtest.py: *C* *L*
sloan_ordering.cpp: *L*
libs/graph/
index.html: *C* *L*
libs/graph/src/
Makefile: *C* *L*
README: *C* *L*
graphviz_digraph_lex.cpp: *L*
graphviz_digraph_parser.hpp: *C* *L*
graphviz_graph_lex.cpp: *L*
graphviz_graph_parser.hpp: *C* *L*
libs/graph/test/
Jamfile: *C* *L*
Jamfile.v2: *C* *L*
cuthill_mckee_ordering.cpp: *L*
dag_longest_paths.cpp: *C* *L*
king_ordering.cpp: *L*
serialize.cpp: *C* *L*
|inspect|
tools/inspect/build/
Jamfile.v2: *L*
|integer|
libs/integer/
cstdint.htm: *C* *L*
libs/integer/doc/
integer_mask.html: *L*
static_min_max.html: *L*
libs/integer/
index.html: *C* *L*
integer.htm: *L*
integer_traits.html: *C* *L*
|io|
libs/io/
index.html: *C* *L*
|iostreams|
libs/iostreams/doc/
menu.html: *C*
libs/iostreams/test/detail/
utf8_codecvt_facet.hpp: *L*
|iterator|
libs/iterator/doc/
iter-issue-list.rst: *C* *L*
|lambda|
libs/lambda/doc/
Jamfile.v2: *C* *L*
libs/lambda/doc/detail/
README: *C* *L*
lambda_doc.xsl: *C* *L*
lambda_doc_chunks.xsl: *C* *L*
libs/lambda/doc/
index.html: *C* *L*
libs/lambda/
index.html: *C* *L*
libs/lambda/test/
Makefile: *C* *L*
|libs|
libs/
expected_results.xml: *C* *L*
index.html: *C* *L*
maintainers.txt: *C* *L*
platform_maintainers.txt: *C* *L*
|logic|
libs/logic/doc/
Jamfile.v2: *C* *L*
|math|
boost/math/
common_factor_rt.hpp: *L*
|mem_fn|
libs/mem_fn/
index.html: *C* *L*
|more|
more/
blanket-permission.txt: *C*
borland_cpp.html: *C* *L*
count_bdy.htm: *L*
discussion_policy.htm: *C*
error_handling.html: *L*
generic_exception_safety.html: *C* *L*
generic_programming.html: *L*
microsoft_vcpp.html: *C* *L*
moderators.html: *C*
regression.html: *C* *L*
report-apr-2006.html: *C* *L*
report-jan-2006.html: *C* *L*
more/writingdoc/
design.html: *L*
index.html: *L*
introduction.html: *L*
structure.html: *L*
more/writingdoc/template/
acknowledgments.html: *L*
bibliography.html: *L*
configuration.html: *L*
definitions.html: *L*
faq.html: *L*
header.html: *L*
index.html: *L*
overview.html: *L*
rationale.html: *L*
|mpl|
libs/mpl/doc/refmanual/
accumulate.html: *C* *L*
acknowledgements.html: *C* *L*
advance.html: *C* *L*
algorithms-concepts.html: *C* *L*
algorithms.html: *C* *L*
always.html: *C* *L*
and.html: *C* *L*
apply-wrap.html: *C* *L*
apply.html: *C* *L*
arg.html: *C* *L*
arithmetic-operations.html: *C* *L*
assert-msg.html: *C* *L*
assert-not.html: *C* *L*
assert-relation.html: *C* *L*
assert.html: *C* *L*
asserts.html: *C* *L*
associative-sequence.html: *C* *L*
at-c.html: *C* *L*
at.html: *C* *L*
aux-lambda-support.html: *C* *L*
back-extensible-sequence.html: *C* *L*
back-inserter.html: *C* *L*
back.html: *C* *L*
begin.html: *C* *L*
bidirectional-iterator.html: *C* *L*
bidirectional-sequence.html: *C* *L*
bind.html: *C* *L*
bitand.html: *C* *L*
bitor.html: *C* *L*
bitwise-operations.html: *C* *L*
bitxor.html: *C* *L*
bool.html: *C* *L*
broken-compiler.html: *C* *L*
categorized-concepts.html: *C* *L*
categorized-index.html: *C* *L*
cfg-no-has-xxx.html: *C* *L*
cfg-no-preprocessed.html: *C* *L*
classes.html: *C* *L*
clear.html: *C* *L*
comparisons.html: *C* *L*
components.html: *C* *L*
composition-and-argument.html: *C* *L*
concepts.html: *C* *L*
configuration.html: *C* *L*
contains.html: *C* *L*
copy-if.html: *C* *L*
copy.html: *C* *L*
count-if.html: *C* *L*
count.html: *C* *L*
data-concepts.html: *C* *L*
data-miscellaneous.html: *C* *L*
data-types.html: *C* *L*
deque.html: *C* *L*
deref.html: *C* *L*
distance.html: *C* *L*
divides.html: *C* *L*
empty-base.html: *C* *L*
empty-sequence.html: *C* *L*
empty.html: *C* *L*
end.html: *C* *L*
equal-to.html: *C* *L*
equal.html: *C* *L*
erase-key.html: *C* *L*
erase.html: *C* *L*
eval-if-c.html: *C* *L*
eval-if.html: *C* *L*
extensible-associative.html: *C* *L*
extensible-sequence.html: *C* *L*
filter-view.html: *C* *L*
find-if.html: *C* *L*
find.html: *C* *L*
fold.html: *C* *L*
forward-iterator.html: *C* *L*
forward-sequence.html: *C* *L*
front-extensible-sequence.html: *C* *L*
front-inserter.html: *C* *L*
front.html: *C* *L*
greater-equal.html: *C* *L*
greater.html: *C* *L*
has-key.html: *C* *L*
has-xxx-trait-def.html: *C* *L*
has-xxx-trait-named-def.html: *C* *L*
identity.html: *C* *L*
if-c.html: *C* *L*
if.html: *C* *L*
inherit-linearly.html: *C* *L*
inherit.html: *C* *L*
insert-range.html: *C* *L*
insert.html: *C* *L*
inserter.html: *C* *L*
inserters-inserter.html: *C* *L*
inserters.html: *C* *L*
int.html: *C* *L*
integral-c.html: *C* *L*
integral-constant.html: *C* *L*
integral-sequence-wrapper.html: *C* *L*
intrinsic-metafunctions.html: *C* *L*
introspection.html: *C* *L*
invocation.html: *C* *L*
is-sequence.html: *C* *L*
iter-fold.html: *C* *L*
iteration-algorithms.html: *C* *L*
iterator-category.html: *C* *L*
iterator-metafunctions.html: *C* *L*
iterator-range.html: *C* *L*
iterators-concepts.html: *C* *L*
iterators.html: *C* *L*
joint-view.html: *C* *L*
key-type.html: *C* *L*
lambda-expression.html: *C* *L*
lambda.html: *C* *L*
less-equal.html: *C* *L*
less.html: *C* *L*
limit-list-size.html: *C* *L*
limit-map-size.html: *C* *L*
limit-metafunction-arity.html: *C* *L*
limit-set-size.html: *C* *L*
limit-unrolling.html: *C* *L*
limit-vector-size.html: *C* *L*
list-c.html: *C* *L*
list.html: *C* *L*
logical-operations.html: *C* *L*
long.html: *C* *L*
lower-bound.html: *C* *L*
macros.html: *C* *L*
map.html: *C* *L*
max-element.html: *C* *L*
max.html: *C* *L*
metafunction-class.html: *C* *L*
metafunction.html: *C* *L*
metafunctions-concepts.html: *C* *L*
metafunctions.html: *C* *L*
min-element.html: *C* *L*
min.html: *C* *L*
minus.html: *C* *L*
miscellaneous.html: *C* *L*
modulus.html: *C* *L*
negate.html: *C* *L*
next.html: *C* *L*
not-equal-to.html: *C* *L*
not.html: *C* *L*
numeric-cast.html: *C* *L*
numeric-metafunction.html: *C* *L*
numeric.html: *C* *L*
or.html: *C* *L*
order.html: *C* *L*
pair.html: *C* *L*
partition.html: *C* *L*
placeholder-expression.html: *C* *L*
placeholders.html: *C* *L*
plus.html: *C* *L*
pop-back.html: *C* *L*
pop-front.html: *C* *L*
prior.html: *C* *L*
protect.html: *C* *L*
push-back.html: *C* *L*
push-front.html: *C* *L*
querying-algorithms.html: *C* *L*
quote.html: *C* *L*
random-access-iterator.html: *C* *L*
random-access-sequence.html: *C* *L*
range-c.html: *C* *L*
refmanual_toc.html: *C* *L*
remove-if.html: *C* *L*
remove.html: *C* *L*
replace-if.html: *C* *L*
replace.html: *C* *L*
reverse-copy-if.html: *C* *L*
reverse-copy.html: *C* *L*
reverse-fold.html: *C* *L*
reverse-iter-fold.html: *C* *L*
reverse-partition.html: *C* *L*
reverse-remove-if.html: *C* *L*
reverse-remove.html: *C* *L*
reverse-replace-if.html: *C* *L*
reverse-replace.html: *C* *L*
reverse-stable-partition.html: *C* *L*
reverse-transform.html: *C* *L*
reverse-unique.html: *C* *L*
reverse.html: *C* *L*
reversible-algorithm.html: *C* *L*
sequence-tag.html: *C* *L*
sequences.html: *C* *L*
set-c.html: *C* *L*
set.html: *C* *L*
shift-left.html: *C* *L*
shift-right.html: *C* *L*
single-view.html: *C* *L*
size-t.html: *C* *L*
size.html: *C* *L*
sizeof.html: *C* *L*
sort.html: *C* *L*
stable-partition.html: *C* *L*
tag-dispatched.html: *C* *L*
terminology.html: *C* *L*
times.html: *C* *L*
transform-view.html: *C* *L*
transform.html: *C* *L*
transformation-algorithms.html: *C* *L*
trivial-metafunction.html: *C* *L*
trivial-metafunctions.html: *C* *L*
trivial.html: *C* *L*
type-selection.html: *C* *L*
unique.html: *C* *L*
unpack-args.html: *C* *L*
upper-bound.html: *C* *L*
value-type.html: *C* *L*
variadic-sequence.html: *C* *L*
vector-c.html: *C* *L*
vector.html: *C* *L*
views.html: *C* *L*
void.html: *C* *L*
zip-view.html: *C* *L*
libs/mpl/doc/src/refmanual/
ASSERT.rst: *C* *L*
ASSERT_MSG.rst: *C* *L*
ASSERT_NOT.rst: *C* *L*
ASSERT_RELATION.rst: *C* *L*
AUX_LAMBDA_SUPPORT.rst: *C* *L*
Acknowledgements.rst: *C* *L*
Algorithms-Iteration.rst: *C* *L*
Algorithms-Querying.rst: *C* *L*
Algorithms-Runtime.rst: *C* *L*
Algorithms-Transformation.rst: *C* *L*
Algorithms.rst: *C* *L*
AssociativeSequence.rst: *C* *L*
BackExtensibleSequence.rst: *C* *L*
BidirectionalIterator.rst: *C* *L*
BidirectionalSequence.rst: *C* *L*
CFG_NO_HAS_XXX.rst: *C* *L*
CFG_NO_PREPROCESSED.rst: *C* *L*
Categorized.rst: *C* *L*
Data.rst: *C* *L*
ExtensibleAssociativeSeq.rst: *C* *L*
ExtensibleSequence.rst: *C* *L*
ForwardIterator.rst: *C* *L*
ForwardSequence.rst: *C* *L*
FrontExtensibleSequence.rst: *C* *L*
HAS_XXX_TRAIT_DEF.rst: *C* *L*
HAS_XXX_TRAIT_NAMED_DEF.rst: *C* *L*
Inserter.rst: *C* *L*
IntegralConstant.rst: *C* *L*
IntegralSequenceWrapper.rst: *C* *L*
Iterators-Concepts.rst: *C* *L*
Iterators-Metafunctions.rst: *C* *L*
Iterators.rst: *C* *L*
LIMIT_LIST_SIZE.rst: *C* *L*
LIMIT_MAP_SIZE.rst: *C* *L*
LIMIT_METAFUNCTION_ARITY.rst: *C* *L*
LIMIT_SET_SIZE.rst: *C* *L*
LIMIT_UNROLLING.rst: *C* *L*
LIMIT_VECTOR_SIZE.rst: *C* *L*
LambdaExpression.rst: *C* *L*
Macros-Asserts.rst: *C* *L*
Macros-Configuration.rst: *C* *L*
Macros.rst: *C* *L*
Metafunction.rst: *C* *L*
MetafunctionClass.rst: *C* *L*
Metafunctions-Arithmetic.rst: *C* *L*
Metafunctions-Bitwise.rst: *C* *L*
Metafunctions-Comparisons.rst: *C* *L*
Metafunctions-Composition.rst: *C* *L*
Metafunctions-Conditional.rst: *C* *L*
Metafunctions-Invocation.rst: *C* *L*
Metafunctions-Logical.rst: *C* *L*
Metafunctions-Trivial.rst: *C* *L*
Metafunctions-Type.rst: *C* *L*
Metafunctions.rst: *C* *L*
NumericMetafunction.rst: *C* *L*
PlaceholderExpression.rst: *C* *L*
Placeholders.rst: *C* *L*
RandomAccessIterator.rst: *C* *L*
RandomAccessSequence.rst: *C* *L*
ReversibleAlgorithm.rst: *C* *L*
Sequences-Classes.rst: *C* *L*
Sequences-Concepts.rst: *C* *L*
Sequences-Intrinsic.rst: *C* *L*
Sequences-Views.rst: *C* *L*
Sequences.rst: *C* *L*
TagDispatchedMetafunction.rst: *C* *L*
TrivialMetafunction.rst: *C* *L*
VariadicSequence.rst: *C* *L*
accumulate.rst: *C* *L*
advance.rst: *C* *L*
always.rst: *C* *L*
and_.rst: *C* *L*
apply.rst: *C* *L*
apply_wrap.rst: *C* *L*
arg.rst: *C* *L*
at.rst: *C* *L*
at_c.rst: *C* *L*
back.rst: *C* *L*
back_inserter.rst: *C* *L*
begin.rst: *C* *L*
bind.rst: *C* *L*
bitand_.rst: *C* *L*
bitor_.rst: *C* *L*
bitxor_.rst: *C* *L*
bool_.rst: *C* *L*
clear.rst: *C* *L*
contains.rst: *C* *L*
copy.rst: *C* *L*
copy_if.rst: *C* *L*
count.rst: *C* *L*
count_if.rst: *C* *L*
deque.rst: *C* *L*
deref.rst: *C* *L*
distance.rst: *C* *L*
divides.rst: *C* *L*
empty.rst: *C* *L*
empty_base.rst: *C* *L*
empty_sequence.rst: *C* *L*
end.rst: *C* *L*
equal.rst: *C* *L*
equal_to.rst: *C* *L*
erase.rst: *C* *L*
erase_key.rst: *C* *L*
eval_if.rst: *C* *L*
eval_if_c.rst: *C* *L*
filter_view.rst: *C* *L*
find.rst: *C* *L*
find_if.rst: *C* *L*
fold.rst: *C* *L*
for_each.rst: *C* *L*
front.rst: *C* *L*
front_inserter.rst: *C* *L*
greater.rst: *C* *L*
greater_equal.rst: *C* *L*
has_key.rst: *C* *L*
identity.rst: *C* *L*
if_.rst: *C* *L*
if_c.rst: *C* *L*
inherit.rst: *C* *L*
inherit_linearly.rst: *C* *L*
insert.rst: *C* *L*
insert_range.rst: *C* *L*
inserter_.rst: *C* *L*
int_.rst: *C* *L*
integral_c.rst: *C* *L*
is_sequence.rst: *C* *L*
iter_fold.rst: *C* *L*
iter_fold_if.rst: *C* *L*
iterator_category.rst: *C* *L*
iterator_range.rst: *C* *L*
joint_view.rst: *C* *L*
key_type.rst: *C* *L*
lambda.rst: *C* *L*
less.rst: *C* *L*
less_equal.rst: *C* *L*
list.rst: *C* *L*
list_c.rst: *C* *L*
long_.rst: *C* *L*
lower_bound.rst: *C* *L*
map.rst: *C* *L*
max.rst: *C* *L*
max_element.rst: *C* *L*
min.rst: *C* *L*
min_element.rst: *C* *L*
minus.rst: *C* *L*
modulus.rst: *C* *L*
multiplies.rst: *C* *L*
negate.rst: *C* *L*
next.rst: *C* *L*
not_.rst: *C* *L*
not_equal_to.rst: *C* *L*
numeric_cast.rst: *C* *L*
or_.rst: *C* *L*
order.rst: *C* *L*
pair.rst: *C* *L*
partition.rst: *C* *L*
plus.rst: *C* *L*
pop_back.rst: *C* *L*
pop_front.rst: *C* *L*
preface.rst: *C* *L*
prior.rst: *C* *L*
protect.rst: *C* *L*
push_back.rst: *C* *L*
push_front.rst: *C* *L*
quote.rst: *C* *L*
range_c.rst: *C* *L*
refmanual.py: *C* *L*
remove.rst: *C* *L*
remove_if.rst: *C* *L*
replace.rst: *C* *L*
replace_if.rst: *C* *L*
reverse.rst: *C* *L*
reverse_copy.rst: *C* *L*
reverse_copy_if.rst: *C* *L*
reverse_fold.rst: *C* *L*
reverse_iter_fold.rst: *C* *L*
reverse_partition.rst: *C* *L*
reverse_remove.rst: *C* *L*
reverse_remove_if.rst: *C* *L*
reverse_replace.rst: *C* *L*
reverse_replace_if.rst: *C* *L*
reverse_stable_partition.rst: *C* *L*
reverse_transform.rst: *C* *L*
reverse_unique.rst: *C* *L*
sequence_tag.rst: *C* *L*
set.rst: *C* *L*
set_c.rst: *C* *L*
shift_left.rst: *C* *L*
shift_right.rst: *C* *L*
single_view.rst: *C* *L*
size.rst: *C* *L*
size_t.rst: *C* *L*
sizeof_.rst: *C* *L*
sort.rst: *C* *L*
stable_partition.rst: *C* *L*
terminology.rst: *C* *L*
times.rst: *C* *L*
transform.rst: *C* *L*
transform_view.rst: *C* *L*
unique.rst: *C* *L*
unpack_args.rst: *C* *L*
upper_bound.rst: *C* *L*
value_type.rst: *C* *L*
vector.rst: *C* *L*
vector_c.rst: *C* *L*
void_.rst: *C* *L*
zip_view.rst: *C* *L*
libs/mpl/doc/
style.css: *L*
libs/mpl/doc/tutorial/
acknowledgements.html: *C* *L*
apply-lambda-semantics.html: *C* *L*
broken-integral-constant.html: *C* *L*
changelog-history.html: *C* *L*
changes-in-boost-1-32-0.html: *C* *L*
dependencies.html: *C* *L*
details.html: *C* *L*
dimensional-analysis.html: *C* *L*
eti.html: *C* *L*
exercises.html: *C* *L*
handling-placeholders.html: *C* *L*
higher-order.html: *C* *L*
implementing-addition-and.html: *C* *L*
implementing-division.html: *C* *L*
implementing.html: *C* *L*
incomplete-support-for.html: *C* *L*
iterator-protocol.html: *C* *L*
lambda-and-non.html: *C* *L*
lambda-details.html: *C* *L*
metafunction-composition.html: *C* *L*
miscellaneous.html: *C* *L*
more-lambda-capabilities.html: *C* *L*
numeric-metafunction.html: *C* *L*
partial-metafunction.html: *C* *L*
physical-structure.html: *C* *L*
placeholder-expression.html: *C* *L*
placeholders.html: *C* *L*
portability.html: *C* *L*
reference-manual.html: *C* *L*
renaming-cleanup.html: *C* *L*
representing-dimensions.html: *C* *L*
representing-quantities.html: *C* *L*
resources.html: *C* *L*
tag-dispatching-protocol.html: *C* *L*
technical-details.html: *C* *L*
the-apply-metafunction.html: *C* *L*
the-importance-of-being.html: *C* *L*
the-lambda-metafunction.html: *C* *L*
tutorial-metafunctions.html: *L*
tutorial_toc.html: *C* *L*
libs/mpl/example/
Jamfile: *C* *L*
libs/mpl/
index.html: *C* *L*
libs/mpl/test/
Jamfile: *C* *L*
Jamfile.v2: *C* *L*
libs/mpl/test/aux_/
Jamfile: *C* *L*
|multi_array|
libs/multi_array/doc/
iterator_categories.html: *C* *L*
reference.html: *L*
libs/multi_array/doc/xml/
MultiArray.xml: *C* *L*
const_multi_array_ref.xml: *C* *L*
multi_array.xml: *C* *L*
multi_array_ref.xml: *C* *L*
reference.xml: *L*
libs/multi_array/
index.html: *C* *L*
libs/multi_array/test/
Jamfile: *L*
Jamfile.v2: *L*
|numeric|
boost/numeric/ublas/
banded.hpp: *L*
blas.hpp: *L*
boost/numeric/ublas/detail/
concepts.hpp: *L*
config.hpp: *L*
definitions.hpp: *L*
documentation.hpp: *L*
duff.hpp: *L*
iterator.hpp: *L*
matrix_assign.hpp: *L*
raw.hpp: *L*
temporary.hpp: *L*
vector_assign.hpp: *L*
boost/numeric/ublas/
exception.hpp: *L*
expression_types.hpp: *L*
functional.hpp: *L*
fwd.hpp: *L*
hermitian.hpp: *L*
io.hpp: *L*
lu.hpp: *L*
matrix.hpp: *L*
matrix_expression.hpp: *L*
matrix_proxy.hpp: *L*
matrix_sparse.hpp: *L*
operation.hpp: *L*
operation_blocked.hpp: *L*
operation_sparse.hpp: *L*
storage.hpp: *L*
storage_sparse.hpp: *L*
symmetric.hpp: *L*
traits.hpp: *L*
triangular.hpp: *L*
vector.hpp: *L*
vector_expression.hpp: *L*
vector_of_vector.hpp: *L*
vector_proxy.hpp: *L*
vector_sparse.hpp: *L*
libs/numeric/conversion/
index.html: *C* *L*
libs/numeric/conversion/test/
Jamfile: *C* *L*
Jamfile.v2: *C* *L*
test_helpers.cpp: *C*
test_helpers2.cpp: *C*
test_helpers3.cpp: *C*
traits_test.cpp: *C*
udt_example_0.cpp: *C*
udt_support_test.cpp: *C*
libs/numeric/
index.html: *C* *L*
libs/numeric/interval/doc/
checking.htm: *L*
comparisons.htm: *L*
examples.htm: *L*
guide.htm: *L*
includes.htm: *L*
index.html: *C* *L*
interval.htm: *L*
numbers.htm: *L*
policies.htm: *L*
rounding.htm: *L*
todo.htm: *L*
libs/numeric/ublas/bench1/
Jamfile: *L*
bench1.cpp: *L*
bench1.hpp: *L*
bench11.cpp: *L*
bench12.cpp: *L*
bench13.cpp: *L*
libs/numeric/ublas/bench2/
Jamfile: *L*
bench2.cpp: *L*
bench2.hpp: *L*
bench21.cpp: *L*
bench22.cpp: *L*
bench23.cpp: *L*
libs/numeric/ublas/bench3/
Jamfile: *L*
bench3.cpp: *L*
bench3.hpp: *L*
bench31.cpp: *L*
bench32.cpp: *L*
bench33.cpp: *L*
libs/numeric/ublas/bench4/
Jamfile: *L*
bench4.cpp: *L*
bench41.cpp: *L*
bench42.cpp: *L*
bench43.cpp: *L*
libs/numeric/ublas/doc/
Release_notes.txt: *C* *L*
array_adaptor.htm: *C* *L*
banded.htm: *L*
blas.htm: *L*
bounded_array.htm: *C* *L*
container_concept.htm: *L*
doxygen.css: *C* *L*
expression_concept.htm: *L*
hermitian.htm: *L*
index.htm: *L*
iterator_concept.htm: *L*
matrix.htm: *L*
matrix_expression.htm: *L*
matrix_proxy.htm: *L*
matrix_sparse.htm: *L*
operations_overview.htm: *L*
overview.htm: *L*
products.htm: *L*
range.htm: *C* *L*
libs/numeric/ublas/doc/samples/
Jamfile: *L*
banded_adaptor.cpp: *L*
banded_matrix.cpp: *L*
bounded_array.cpp: *L*
compressed_matrix.cpp: *L*
compressed_vector.cpp: *L*
coordinate_matrix.cpp: *L*
coordinate_vector.cpp: *L*
hermitian_adaptor.cpp: *L*
hermitian_matrix.cpp: *L*
identity_matrix.cpp: *L*
map_array.cpp: *L*
mapped_matrix.cpp: *L*
mapped_vector.cpp: *L*
matrix.cpp: *L*
matrix_binary.cpp: *L*
matrix_binary_scalar.cpp: *L*
matrix_column.cpp: *L*
matrix_column_project.cpp: *L*
matrix_matrix_binary.cpp: *L*
matrix_matrix_solve.cpp: *L*
matrix_range.cpp: *L*
matrix_range_project.cpp: *L*
matrix_row.cpp: *L*
matrix_row_project.cpp: *L*
matrix_slice.cpp: *L*
matrix_slice_project.cpp: *L*
matrix_unary.cpp: *L*
matrix_vector_binary.cpp: *L*
matrix_vector_range.cpp: *L*
matrix_vector_slice.cpp: *L*
matrix_vector_solve.cpp: *L*
range.cpp: *L*
slice.cpp: *L*
symmetric_adaptor.cpp: *L*
symmetric_matrix.cpp: *L*
triangular_adaptor.cpp: *L*
triangular_matrix.cpp: *L*
unbounded_array.cpp: *L*
unit_vector.cpp: *L*
vector.cpp: *L*
vector_binary.cpp: *L*
vector_binary_outer.cpp: *L*
vector_binary_redux.cpp: *L*
vector_binary_scalar.cpp: *L*
vector_range.cpp: *L*
vector_range_project.cpp: *L*
vector_slice.cpp: *L*
vector_slice_project.cpp: *L*
vector_unary.cpp: *L*
vector_unary_redux.cpp: *L*
zero_matrix.cpp: *L*
zero_vector.cpp: *L*
libs/numeric/ublas/doc/
storage_concept.htm: *C* *L*
storage_sparse.htm: *L*
symmetric.htm: *L*
triangular.htm: *L*
types_overview.htm: *L*
ublas.css: *C* *L*
unbounded_array.htm: *C* *L*
vector.htm: *L*
vector_expression.htm: *L*
vector_proxy.htm: *L*
vector_sparse.htm: *L*
libs/numeric/ublas/
index.html: *C* *L*
libs/numeric/ublas/test/
Jamfile: *L*
README: *C* *L*
concepts.cpp: *L*
test1.cpp: *L*
test1.hpp: *L*
test11.cpp: *L*
test12.cpp: *L*
test13.cpp: *L*
test2.cpp: *L*
test2.hpp: *L*
test21.cpp: *L*
test22.cpp: *L*
test23.cpp: *L*
test3.cpp: *L*
test3.hpp: *L*
test31.cpp: *L*
test32.cpp: *L*
test33.cpp: *L*
test4.cpp: *L*
test4.hpp: *L*
test42.cpp: *L*
test43.cpp: *L*
test5.cpp: *L*
test5.hpp: *L*
test52.cpp: *L*
test53.cpp: *L*
test6.cpp: *L*
test6.hpp: *L*
test62.cpp: *L*
test63.cpp: *L*
test7.cpp: *L*
test7.hpp: *L*
test71.cpp: *L*
test72.cpp: *L*
test73.cpp: *L*
|optional|
libs/optional/
index.html: *C* *L*
libs/optional/test/
Jamfile.v2: *L*
|people|
people/
aleksey_gurtovoy.htm: *C* *L*
andreas_huber.html: *C* *L*
beman_dawes.html: *C* *L*
darin_adler.htm: *C* *L*
daryle_walker.html: *C* *L*
dietmar_kuehl.htm: *C* *L*
doug_gregor.html: *C* *L*
ed_brey.htm: *C* *L*
eric_friedman.htm: *C* *L*
fernando_cacciola.html: *C* *L*
gary_powell.htm: *C* *L*
gennadiy_rozental.htm: *C* *L*
greg_colvin.htm: *C* *L*
hartmut_kaiser.htm: *C* *L*
herve_bronnimann.htm: *C* *L*
howard_hinnant.htm: *C* *L*
hubert_holin.html: *C* *L*
jaakko_jarvi.htm: *C* *L*
jeff_garland.html: *C* *L*
jens_maurer.htm: *C* *L*
jeremy_siek.htm: *C* *L*
joaquin_lopez.htm: *C* *L*
joel_de_guzman.htm: *C* *L*
john_maddock.htm: *C* *L*
jonathan_turkanis.htm: *C* *L*
kevlin_henney.htm: *C* *L*
liequan_lee.htm: *C* *L*
mac_murrett.htm: *C* *L*
mark_rodgers.htm: *C* *L*
mat_marcus.htm: *C* *L*
paul_mensonides.htm: *C* *L*
paul_moore.htm: *C* *L*
pavol_droba.htm: *C* *L*
people.htm: *C* *L*
peter_dimov.htm: *C* *L*
ralf_w_grosse_kunstleve.htm: *C* *L*
rene_rivera.htm: *C* *L*
robert_ramey.htm: *C* *L*
ronald_garcia.htm: *C* *L*
samuel_krempp.htm: *C* *L*
thomas_witt.html: *C* *L*
thorsten_ottosen.html: *C* *L*
vesa_karvonen.htm: *C* *L*
vladimir_prus.htm: *C* *L*
william_kempf.htm: *C* *L*
|pool|
boost/pool/detail/
pool_construct.bat: *L*
pool_construct.sh: *L*
pool_construct_simple.bat: *L*
pool_construct_simple.sh: *L*
libs/pool/
TODO.txt: *C* *L*
libs/pool/doc/
concepts.html: *L*
copyright.html: *L*
libs/pool/doc/implementation/
alignment.html: *L*
ct_gcd_lcm.html: *L*
for.html: *L*
gcd_lcm.html: *L*
guard.html: *L*
mutex.html: *L*
object_pool.html: *L*
pool.html: *L*
pool_alloc.html: *L*
pool_construct.html: *L*
simple_segregated_storage.html: *L*
singleton.html: *L*
singleton_pool.html: *L*
libs/pool/doc/
index.html: *L*
interfaces.html: *L*
libs/pool/doc/interfaces/
object_pool.html: *L*
pool.html: *L*
pool_alloc.html: *L*
simple_segregated_storage.html: *L*
singleton_pool.html: *L*
user_allocator.html: *L*
libs/pool/doc/
pool.css: *L*
libs/pool/
index.html: *C* *L*
|program_options|
boost/program_options/detail/
utf8_codecvt_facet.hpp: *L*
libs/program_options/build/
Jamfile: *C* *L*
Jamfile.v2: *C* *L*
libs/program_options/doc/
Jamfile.v2: *C* *L*
acknowledgements.xml: *C* *L*
changes.xml: *C* *L*
design.xml: *C* *L*
glossary.xml: *C* *L*
howto.xml: *C* *L*
index.html: *C* *L*
overview.xml: *C* *L*
post_review_plan.txt: *C* *L*
todo.txt: *C* *L*
tutorial.xml: *C* *L*
libs/program_options/example/
Jamfile: *C* *L*
Jamfile.v2: *C* *L*
libs/program_options/
index.html: *C* *L*
libs/program_options/test/
Jamfile: *C* *L*
Jamfile.v2: *C* *L*
program_options_size_test.py: *C* *L*
ucs2.txt: *C* *L*
utf8.txt: *C* *L*
winmain.py: *C* *L*
|property_map|
libs/property_map/
LvaluePropertyMap.html: *L*
ReadWritePropertyMap.html: *L*
ReadablePropertyMap.html: *L*
WritablePropertyMap.html: *L*
associative_property_map.html: *L*
const_assoc_property_map.html: *L*
libs/property_map/doc/
dynamic_property_map.html: *C* *L*
dynamic_property_map.rst: *C* *L*
libs/property_map/
example2.cpp: *L*
identity_property_map.html: *L*
index.html: *C* *L*
iterator_property_map.html: *L*
property_map.html: *L*
vector_property_map.html: *L*
|ptr_container|
libs/ptr_container/doc/
Jamfile.v2: *C* *L*
associative_ptr_container.html: *L*
associative_ptr_container.rst: *L*
comp.sh: *C* *L*
comp_all.sh: *C* *L*
comp_assoc_ptr_container.sh: *C* *L*
comp_conventions.sh: *C* *L*
comp_examples.sh: *C* *L*
comp_faq.sh: *C* *L*
comp_guidelines.sh: *C* *L*
comp_headers.sh: *C* *L*
comp_indirect_fun.sh: *C* *L*
comp_ptr_array.sh: *C* *L*
comp_ptr_container.sh: *C* *L*
comp_ptr_deque.sh: *C* *L*
comp_ptr_list.sh: *C* *L*
comp_ptr_map.sh: *C* *L*
comp_ptr_map_adapter.sh: *C* *L*
comp_ptr_multimap.sh: *C* *L*
comp_ptr_multimap_adapter.sh: *C* *L*
comp_ptr_multiset.sh: *C* *L*
comp_ptr_multiset_adapter.sh: *C* *L*
comp_ptr_sequence_adapter.sh: *C* *L*
comp_ptr_set.sh: *C* *L*
comp_ptr_set_adapter.sh: *C* *L*
comp_ptr_vector.sh: *C* *L*
comp_reference.sh: *C* *L*
comp_rever_ptr_container.sh: *C* *L*
comp_tutorial.sh: *C* *L*
conventions.html: *L*
conventions.rst: *L*
default.css: *L*
examples.rst: *L*
faq.html: *L*
faq.rst: *L*
guidelines.html: *L*
guidelines.rst: *L*
headers.html: *L*
headers.rst: *L*
indirect_fun.html: *L*
indirect_fun.rst: *L*
intro.xml: *C* *L*
ptr_array.html: *L*
ptr_array.rst: *L*
ptr_container.xml: *L*
ptr_deque.html: *L*
ptr_deque.rst: *L*
ptr_list.html: *L*
ptr_list.rst: *L*
ptr_map.html: *L*
ptr_map.rst: *L*
ptr_map_adapter.html: *L*
ptr_map_adapter.rst: *L*
ptr_multimap.html: *L*
ptr_multimap.rst: *L*
ptr_multimap_adapter.html: *L*
ptr_multimap_adapter.rst: *L*
ptr_multiset.html: *L*
ptr_multiset.rst: *L*
ptr_multiset_adapter.html: *L*
ptr_multiset_adapter.rst: *L*
ptr_sequence_adapter.html: *L*
ptr_sequence_adapter.rst: *L*
ptr_set.html: *L*
ptr_set.rst: *L*
ptr_set_adapter.html: *L*
ptr_set_adapter.rst: *L*
ptr_vector.html: *L*
ptr_vector.rst: *L*
reference.html: *L*
reference.rst: *L*
reversible_ptr_container.html: *L*
reversible_ptr_container.rst: *L*
style.css: *C* *L*
todo.txt: *C* *L*
tutorial.html: *L*
tutorial.rst: *L*
libs/ptr_container/
index.html: *C* *L*
libs/ptr_container/test/
Jamfile.v2: *C* *L*
sequence_point.cpp: *C* *L*
|python|
libs/python/doc/
internals.html: *L*
internals.rst: *L*
libs/python/test/
operators_wrapper.cpp: *C* *L*
operators_wrapper.py: *C* *L*
|quickbook|
tools/quickbook/doc/
Jamfile.v2: *C* *L*
tools/quickbook/doc/html/quickbook/
change_log.html: *L*
intro.html: *L*
ref.html: *L*
syntax.html: *L*
tools/quickbook/doc/html/quickbook/syntax/
block.html: *L*
comments.html: *L*
phrase.html: *L*
tools/quickbook/
index.html: *C* *L*
|random|
libs/random/
index.html: *C* *L*
nondet_random.html: *C* *L*
random-concepts.html: *C* *L*
random-distributions.html: *C* *L*
random-generators.html: *C* *L*
random-misc.html: *C* *L*
random-performance.html: *C* *L*
random-variate.html: *C* *L*
libs/random/test/
Jamfile: *C* *L*
Jamfile.v2: *C* *L*
libs/random/
wg21-proposal.html: *C* *L*
|range|
libs/range/doc/
boost_range.html: *L*
example.cpp: *C* *L*
examples.html: *L*
faq.html: *L*
headers.html: *L*
history_ack.html: *L*
intro.html: *L*
portability.html: *L*
range.html: *L*
style.css: *C* *L*
style.html: *L*
utility_class.html: *L*
libs/range/test/
TODO: *C* *L*
compat1.cpp: *C* *L*
|rational|
boost/
rational.hpp: *L*
libs/rational/
index.html: *L*
rational.html: *L*
rational_example.cpp: *L*
rational_test.cpp: *L*
|regex|
libs/regex/build/
gcc-shared.mak: *C* *L*
libs/regex/example/timer/
input_script.txt: *C* *L*
|regression|
tools/regression/build/
Jamfile: *C* *L*
Jamfile.v2: *C* *L*
tools/regression/detail/
tiny_xml_test.txt: *C* *L*
tools/regression/
index.htm: *C* *L*
run_tests.sh: *C* *L*
tools/regression/test/
Jamfile: *L*
test.bat: *C* *L*
tools/regression/xsl_reports/
empty_expected_results.xml: *C* *L*
tools/regression/xsl_reports/runner/
__init__.py: *C* *L*
default.css: *L*
instructions.html: *L*
instructions.rst: *C* *L*
tools/regression/xsl_reports/test/
common.py: *C* *L*
expected_results.xml: *C* *L*
generate_test_results.py: *C* *L*
generate_test_results_v1.py: *C* *L*
restrict_to_library.xsl: *C* *L*
run_notes_regression.py: *C* *L*
run_v1.py: *C* *L*
test.py: *C* *L*
test_boost_wide_report.py: *C* *L*
tools/regression/xsl_reports/
test_results.xsd: *C* *L*
tools/regression/xsl_reports/utils/
__init__.py: *C* *L*
accept_args.py: *C* *L*
char_translation_table.py: *C* *L*
check_existance.py: *C* *L*
checked_system.py: *C* *L*
libxslt.py: *C* *L*
log.py: *C* *L*
makedirs.py: *C* *L*
send_mail.py: *C* *L*
sourceforge.py: *C* *L*
tar.py: *C* *L*
zip.py: *C* *L*
tools/regression/xsl_reports/xsl/v2/
expected_to_1_33_format.xsl: *C* *L*
|release|
tools/release/
user-config.jam: *L*
utils.py: *C* *L*
|serialization|
libs/serialization/doc/
style.css: *C* *L*
libs/serialization/example/
demo_output.txt: *C* *L*
demo_save.xml: *C* *L*
demofile.txt: *C* *L*
libs/serialization/test/
run_archive_test.bat: *C* *L*
runtest.bat: *C* *L*
runtest.sh: *C* *L*
libs/serialization/vc7ide/
readme.txt: *C* *L*
|signals|
libs/signals/doc/
Jamfile.v2: *C* *L*
design.xml: *C* *L*
faq.xml: *C* *L*
index.html: *C* *L*
introduction.xml: *C* *L*
rationale.xml: *C* *L*
libs/signals/doc/reference/
connection.xml: *C* *L*
last_value.xml: *C* *L*
reference.xml: *C* *L*
signal_header.xml: *C* *L*
slot.xml: *C* *L*
trackable.xml: *C* *L*
visit_each.xml: *C* *L*
libs/signals/doc/
tests.xml: *C* *L*
tutorial.xml: *C* *L*
libs/signals/
index.html: *C* *L*
|smart_ptr|
libs/smart_ptr/
compatibility.htm: *L*
enable_shared_from_this.html: *L*
index.html: *C* *L*
intrusive_ptr.html: *L*
scoped_array.htm: *L*
scoped_ptr.htm: *L*
shared_array.htm: *L*
shared_ptr.htm: *L*
smart_ptr.htm: *L*
smarttests.htm: *L*
sp_techniques.html: *L*
libs/smart_ptr/test/
Jamfile: *L*
Jamfile.v2: *L*
libs/smart_ptr/
weak_ptr.htm: *L*
|test|
boost/test/utils/runtime/cla/detail/
argument_value_usage.hpp: *L*
libs/test/example/
unit_test_example_01.cpp: *C* *L*
libs/test/test/auto-link-test/
run_bjam.bat: *C* *L*
|timer|
libs/timer/
index.html: *C* *L*
timer.htm: *L*
|tokenizer|
libs/tokenizer/
char_delimiters_separator.htm: *L*
char_separator.htm: *L*
escaped_list_separator.htm: *L*
index.html: *L*
introduc.htm: *L*
offset_separator.htm: *L*
token_iterator.htm: *L*
tokenizer.htm: *L*
tokenizerfunction.htm: *L*
|tools|
tools/
Jamfile.v2: *C* *L*
index.html: *C* *L*
make-cputime-page.pl: *C* *L*
|tr1|
boost/tr1/
tuple.hpp: *C* *L*
|tuple|
libs/tuple/doc/
design_decisions_rationale.html: *L*
tuple_advanced_interface.html: *L*
tuple_users_guide.html: *L*
libs/tuple/
index.html: *C* *L*
libs/tuple/test/
Jamfile: *C* *L*
README: *C* *L*
|utility|
boost/
shared_container_iterator.hpp: *L*
libs/utility/
Assignable.html: *L*
Collection.html: *L*
CopyConstructible.html: *L*
LessThanComparable.html: *L*
MultiPassInputIterator.html: *L*
OptionalPointee.html: *L*
assert.html: *L*
call_traits.htm: *L*
checked_delete.html: *L*
compressed_pair.htm: *L*
current_function.html: *L*
enable_if.html: *L*
generator_iterator.htm: *C* *L*
index.html: *C* *L*
libs/utility/test/
Jamfile: *L*
Jamfile.v2: *L*
libs/utility/
throw_exception.html: *L*
utility.htm: *L*
value_init.htm: *L*
value_init_test.cpp: *C*
value_init_test_fail1.cpp: *C*
value_init_test_fail2.cpp: *C*
value_init_test_fail3.cpp: *C*
|variant|
libs/variant/doc/
Jamfile.v2: *C* *L*
biblio.xml: *C* *L*
design.xml: *C* *L*
introduction.xml: *C* *L*
misc.xml: *C* *L*
libs/variant/doc/reference/
apply_visitor.xml: *C* *L*
bad_visit.xml: *C* *L*
concepts.xml: *C* *L*
get.xml: *C* *L*
recursive_variant.xml: *C* *L*
recursive_wrapper.xml: *C* *L*
reference.xml: *C* *L*
static_visitor.xml: *C* *L*
variant.xml: *C* *L*
variant_fwd.xml: *C* *L*
visitor_ptr.xml: *C* *L*
libs/variant/doc/tutorial/
advanced.xml: *C* *L*
basic.xml: *C* *L*
tutorial.xml: *C* *L*
libs/variant/doc/
variant.xml: *L*
libs/variant/
index.html: *C* *L*
libs/variant/test/
Jamfile: *L*
Jamfile.v2: *L*
|wiki|
wiki/
index.html: *C* *L*
1
0
Boost Inspection Report
Run Date: 16:07:05 UTC, Monday 09 October 2006
An inspection program <http://www.boost.org/tools/inspect/index.html>
checks each file in the current Boost CVS for various problems,
generating this as output. Problems detected include tabs in files,
missing copyrights, broken URL's, and similar misdemeanors.
Totals:
11686 files scanned
904 directories scanned (including root)
159 problems reported
Problem counts:
0 files with invalid line endings
0 bookmarks with invalid characters
3 invalid urls
89 broken links
24 unlinked files
7 file/directory names issues
1 files with tabs
0 violations of the Boost min/max guidelines
35 usages of unnamed namespaces in headers (including .ipp files)
Summary:
archive (3)
bind (1)
boost-root (1)
build (3)
date_time (1)
doc (2)
filesystem (36)
graph (3)
iostreams (2)
iterator (2)
lambda (3)
mpl (1)
multi_array (2)
parameter (2)
ptr_container (1)
regex (1)
regression (13)
serialization (1)
signals (1)
test (79)
type_traits (1)
Details:
*R* invalid (cr only) line-ending
*A* invalid bookmarks, invalid urls, broken links, unlinked files
*N* file/directory names issues
*T* tabs in file
*M* uses of min or max that have not been protected from the min/max macros, or unallowed #undef-s
*U* unnamed namespace in header
|archive|
boost/archive/basic_streambuf_locale_saver.hpp:
*N* name exceeds 31 characters
boost/archive/impl/xml_wiarchive_impl.ipp:
*U* unnamed namespace at line 53
boost/archive/iterators/remove_whitespace.hpp:
*U* unnamed namespace at line 57
|bind|
boost/bind/placeholders.hpp:
*U* unnamed namespace at line 25
|boost-root|
index.htm:
*A* broken link: ../doc/html/signals.html
|build|
tools/build/v1/variables.html:
*A* unlinked file
tools/build/v2/example/make/main.cpp.pro:
*N* name contains more than one dot character ('.')
tools/build/v2/test/test_system.html:
*A* unlinked file
|date_time|
libs/date_time/xmldoc/date_time_docs_howto.html:
*A* unlinked file
|doc|
doc/html/boost_math/inverse_complex.html:
*A* unlinked file
doc/html/jam.html:
*A* unlinked file
|filesystem|
libs/filesystem/doc/do-list.htm:
*A* invalid URL (hardwired file): file://?/
*A* invalid URL (hardwired file): file://?/UNC/
libs/filesystem/doc/i18n.html:
*A* broken link: convenience.htm#basic_recursive_directory_iterator
*A* broken link: exception.htm
*A* broken link: operations.htm
*A* broken link: operations.htm#Do-the-right-thing
*A* broken link: operations.htm#is_directory
*A* broken link: operations.htm#is_file
*A* broken link: operations.htm#status
libs/filesystem/doc/index.htm:
*A* broken link: convenience.htm
*A* broken link: fstream.htm
*A* broken link: operations.htm#create_directory
*A* broken link: operations.htm#create_hard_link
*A* broken link: operations.htm#current_path
*A* broken link: operations.htm#directory_iterator
*A* broken link: operations.htm#equivalent
*A* broken link: operations.htm#file_size
*A* broken link: operations.htm#initial_path
*A* broken link: operations.htm#is_file
*A* broken link: operations.htm#is_symlink
*A* broken link: operations.htm#status
*A* broken link: operations.htm#symlink_status
*A* broken link: path.htm#Canonical
*A* broken link: path.htm#Grammar
*A* broken link: path.htm#Normalized
*A* broken link: path.htm#default_name_check
*A* broken link: path.htm#name_check_mechanism
*A* broken link: path.htm#normalize
*A* broken link: path.htm#operator_eq
*A* broken link: path.htm#synopsis
libs/filesystem/doc/portability_guide.htm:
*A* broken link: path.htm#name_check_typedef
libs/filesystem/doc/tr2_proposal.html:
*A* invalid URL (hardwired file): file:///C|/boost/site/libs/filesystem/doc/operations.htm#complete_note
|graph|
boost/graph/maximum_cardinality_matching.hpp:
*N* name exceeds 31 characters
libs/graph/doc/lengauer_tarjan_dominator_tree.htm:
*N* name exceeds 31 characters
libs/graph/doc/sorted_erdos_renyi_generator.html:
*N* name exceeds 31 characters
|iostreams|
libs/iostreams/doc/acknowledgments.html:
*A* unlinked file
libs/iostreams/doc/concepts/multi-character.html:
*A* unlinked file
|iterator|
libs/iterator/doc/issues.html:
*A* unlinked file
libs/iterator/doc/ref_problem.html:
*A* unlinked file
|lambda|
boost/lambda/core.hpp:
*U* unnamed namespace at line 62
boost/lambda/detail/lambda_functors.hpp:
*U* unnamed namespace at line 25
boost/lambda/exceptions.hpp:
*U* unnamed namespace at line 24
|mpl|
boost/mpl/alias.hpp:
*U* unnamed namespace at line 17
|multi_array|
boost/multi_array/base.hpp:
*U* unnamed namespace at line 69
libs/multi_array/test/generative_tests.hpp:
*U* unnamed namespace at line 57
|parameter|
libs/parameter/doc/html/python.html:
*A* broken link: tag::x(int
*A* broken link: tag::y*(int
|ptr_container|
libs/ptr_container/doc/tutorial_example.html:
*A* unlinked file
|regex|
libs/regex/performance/input.html:
*A* unlinked file
|regression|
regression/.htaccess:
*N* leading character of ".htaccess" is not alphabetic
tools/regression/xsl_reports/xsl/html/issues_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/html/library_developer_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/html/library_user_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/html/make_tinyurl.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/html/summary_developer_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/html/summary_user_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/v2/html/issues_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/v2/html/library_developer_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/v2/html/library_user_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/v2/html/make_tinyurl.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/v2/html/summary_developer_legend.html:
*A* unlinked file
tools/regression/xsl_reports/xsl/v2/html/summary_user_legend.html:
*A* unlinked file
|serialization|
libs/serialization/src/basic_xml_grammar.ipp:
*U* unnamed namespace at line 43
|signals|
boost/signals/detail/named_slot_map.hpp:
*T*
|test|
boost/test/floating_point_comparison.hpp:
*U* unnamed namespace at line 206
*U* unnamed namespace at line 228
boost/test/impl/cpp_main.ipp:
*U* unnamed namespace at line 42
boost/test/impl/exception_safety.ipp:
*U* unnamed namespace at line 400
boost/test/impl/framework.ipp:
*U* unnamed namespace at line 199
boost/test/impl/plain_report_formatter.ipp:
*U* unnamed namespace at line 45
boost/test/impl/progress_monitor.ipp:
*U* unnamed namespace at line 38
boost/test/impl/results_collector.ipp:
*U* unnamed namespace at line 106
boost/test/impl/results_reporter.ipp:
*U* unnamed namespace at line 48
boost/test/impl/unit_test_log.ipp:
*U* unnamed namespace at line 79
boost/test/impl/unit_test_monitor.ipp:
*U* unnamed namespace at line 35
boost/test/impl/unit_test_parameters.ipp:
*U* unnamed namespace at line 50
boost/test/results_collector.hpp:
*U* unnamed namespace at line 40
boost/test/test_tools.hpp:
*U* unnamed namespace at line 255
boost/test/utils/iterator/token_iterator.hpp:
*U* unnamed namespace at line 166
boost/test/utils/named_params.hpp:
*U* unnamed namespace at line 216
boost/test/utils/runtime/cla/dual_name_parameter.ipp:
*U* unnamed namespace at line 43
boost/test/utils/runtime/cla/modifier.hpp:
*U* unnamed namespace at line 34
boost/test/utils/runtime/env/modifier.hpp:
*U* unnamed namespace at line 34
boost/test/utils/runtime/file/config_file.hpp:
*U* unnamed namespace at line 169
*U* unnamed namespace at line 64
*U* unnamed namespace at line 74
boost/test/utils/runtime/file/config_file_iterator.hpp:
*U* unnamed namespace at line 68
boost/test/utils/trivial_singleton.hpp:
*U* unnamed namespace at line 52
*U* unnamed namespace at line 61
libs/test/build/msvc71_proj/config_file_iterator_test.vcproj:
*N* name exceeds 31 characters
libs/test/doc/components/prg_exec_monitor/index.html:
*A* broken link: ../../../../../boost/test/cpp_main.hpp
libs/test/doc/components/test_tools/index.html:
*A* broken link: ../../tests/boost_check_equal_str.html
libs/test/doc/components/test_tools/reference/BOOST_CHECK_CLOSE.html:
*A* broken link: BOOST_CHECK_CLOSE_FRACTION.html
libs/test/doc/components/test_tools/reference/BOOST_CHECK_MESSAGE.html:
*A* broken link: BOOST_MESSAGE.html
libs/test/doc/components/test_tools/reference/BOOST_CHECK_SMALL.html:
*A* broken link: BOOST_CHECK_CLOSE_FRACTION.html
libs/test/doc/components/test_tools/reference/tools_list.html:
*A* broken link: ../../btl1.gif
*A* broken link: BOOST_CHECK_CLOSE_FRACTION.html
libs/test/doc/components/utf/components/index.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/components/test_case/abstract_interface.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/auto_register_facility.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/boost_function_tc.html:
*A* broken link: ../../../../../../../boost/test/unit_test_suite_ex.hpp
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/class_tc.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/function_tc.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/index.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/param_boost_function_tc.html:
*A* broken link: ../../../../../../../boost/test/unit_test_suite_ex.hpp
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/param_class_tc.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/param_function_tc.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_case/tc_template.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_log/custom_log_formatter.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_log/index.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_result/index.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/components/test_suite/index.html:
*A* broken link: ../../../btl1.gif
libs/test/doc/components/utf/index.html:
*A* broken link: getting_started/index.html
libs/test/doc/components/utf/parameters/build_info.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/catch_system_errors.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/detect_memory_leaks.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/index.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/log_format.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/log_level.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/no_result_code.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/output_format.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/random.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/report_format.html:
*A* broken link: ../../../../../LICENSE_1_0.txt
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/report_level.html:
*A* broken link: ../../btl1.gif
libs/test/doc/components/utf/parameters/show_progress.html:
*A* broken link: ../../btl1.gif
libs/test/doc/examples/unit_test_example1.html:
*A* broken link: ../../example/unit_test_example1.cpp
libs/test/doc/examples/unit_test_example2.html:
*A* broken link: ../../example/unit_test_example2.cpp
libs/test/doc/examples/unit_test_example3.html:
*A* broken link: ../../example/unit_test_example3.cpp
libs/test/doc/examples/unit_test_example4.html:
*A* broken link: ../../example/unit_test_example4.cpp
libs/test/doc/examples/unit_test_example5.html:
*A* broken link: ../../example/unit_test_example5.cpp
*A* broken link: ../../example/unit_test_example5.input
libs/test/doc/tests/auto_unit_test_test.html:
*A* broken link: ../../test/auto_unit_test_test.cpp
libs/test/doc/tests/auto_unit_test_test_mult.html:
*A* broken link: ../../test/auto_unit_test_test_mult1.cpp
*A* broken link: ../../test/auto_unit_test_test_mult2.cpp
libs/test/doc/tests/unit_test_suite_ex_test.html:
*A* broken link: ../../test/unit_test_suite_ex_test.cpp
libs/test/doc/tutorials/hello_the_testing_world.html:
*A* broken link: ../../../../../LICENSE_1_0.txt
*A* broken link: ../execution_monitor/index.html
libs/test/doc/tutorials/new_year_resolution.html:
*A* broken link: ../../../../../../LICENSE_1_0.txt
|type_traits|
libs/type_traits/cxx_type_traits.htm:
*A* unlinked file
1
0
I have revamped the code on the threads_rewrite branch for the mutex and
read_write_mutex.
The mutex code is now "swap-based", to eliminate the hand-off problems
highlighted by Alexander Terekhov and Peter Dimov. It can be seen in CVS at
boost/thread/win32/basic_timed_mutex.hpp on the thread_rewrite branch, or in
the CVS web viewer at
http://boost.cvs.sourceforge.net/boost/boost/boost/thread/win32/basic_timed…
It keeps track of the "active count" of threads with an interest in the mutex,
in order to try and avoid signalling the semaphore unnecessarily.
The read_write_mutex code is based on ideas from the code offered by Peter
Dimov and Cory Nelson. However, I have extended it to include upgradeable
locks, and more closely mirror the interface proposed in the C++ Standard
threading proposal N2094. At the moment it does not support try_ or timed_
variants. The code can be seen in CVS at
boost/thread/win32/read_write_mutex.hpp on the thread_rewrite branch, or in
the CVS web viewer at
http://boost.cvs.sourceforge.net/boost/boost/boost/thread/win32/read_write_…
In all cases, the code tries to change state using compare-and-swap
instructions. If the current state is blocking the state change (e.g. there is
already a writer when we try to lock a reader), then the lock blocks on one of
three win32 Event objects. The shared event is a manual reset event, so once
readers are allowed access, they are all freed until a thread obtains an
exclusive lock and resets the event. There is a limit on how many threads can
have a shared/upgradeable lock (0x1fff), and how many can be waiting for a
write lock (0xfff). Given the nature of read-write mutexes, this could easily
be adjusted to allow more shared locks, and fewer waiting writers.
Anthony
--
Anthony Williams
Software Developer
Just Software Solutions Ltd
http://www.justsoftwaresolutions.co.uk
5
7
09 Oct '06
[Douglas Gregor]
> 1570 failures in 26 libraries (1519 are from non-broken
> platforms)
[Arkadiy Vertleyb]
> Now, this looks scary, onless one figures out that there is
> an error in interpreting regression results, and only 51
> failures seem to be from non-broken platforms :-)
[Douglas Gregor]
> The wording is intended to scare developers into fixing bugs
> :)
Arkadiy's point is not that the 1570 looks scary, but that it should say
either:
"1570 failures in 26 libraries (51 are from non-broken platforms)"
or:
"1570 failures in 26 libraries (1519 are from broken platforms)"
The summary incorrectly says that the broken-number is the
non-broken-number. This error is not repeated in the per-library results
("serialization (8 of 986 failures are from non-broken platforms)").
STL
2
1
I'm just forwarding these here. I've told Johan he should post on
this list if he wants his remarks seen.
--
Dave Abrahams
Boost Consulting
www.boost-consulting.com
1
0