Merge changes for 1.54

[SVN r84342]
This commit is contained in:
Ion Gaztañaga
2013-05-18 10:52:46 +00:00
parent a479114dc9
commit f74eb7fab0
33 changed files with 78 additions and 582 deletions

View File

@@ -1,537 +0,0 @@
/*=============================================================================
Copyright (c) 2004 Joel de Guzman
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
/*=============================================================================
Body defaults
=============================================================================*/
body
{
margin: 1em;
font-family: sans-serif;
}
/*=============================================================================
Paragraphs
=============================================================================*/
p
{
text-align: left;
font-size: 10pt;
line-height: 1.15;
}
/*=============================================================================
Program listings
=============================================================================*/
/* Code on paragraphs */
p tt.computeroutput
{
font-size: 10pt;
}
pre.synopsis
{
font-size: 10pt;
margin: 1pc 4% 0pc 4%;
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
}
.programlisting,
.screen
{
font-size: 10pt;
display: block;
margin: 1pc 4% 0pc 4%;
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
}
/*=============================================================================
Headings
=============================================================================*/
h1, h2, h3, h4, h5, h6
{
text-align: left;
margin: 1em 0em 0.5em 0em;
font-weight: bold;
}
h1 { font: 140% }
h2 { font: bold 140% }
h3 { font: bold 130% }
h4 { font: bold 120% }
h5 { font: italic 110% }
h6 { font: italic 100% }
/* Top page titles */
title,
h1.title,
h2.title
h3.title,
h4.title,
h5.title,
h6.title,
.refentrytitle
{
font-weight: bold;
margin-bottom: 1pc;
}
h1.title { font-size: 140% }
h2.title { font-size: 140% }
h3.title { font-size: 130% }
h4.title { font-size: 120% }
h5.title { font-size: 110% }
h6.title { font-size: 100% }
.section h1
{
margin: 0em 0em 0.5em 0em;
font-size: 140%;
}
.section h2 { font-size: 140% }
.section h3 { font-size: 130% }
.section h4 { font-size: 120% }
.section h5 { font-size: 110% }
.section h6 { font-size: 100% }
/* Code on titles */
h1 tt.computeroutput { font-size: 140% }
h2 tt.computeroutput { font-size: 140% }
h3 tt.computeroutput { font-size: 130% }
h4 tt.computeroutput { font-size: 120% }
h5 tt.computeroutput { font-size: 110% }
h6 tt.computeroutput { font-size: 100% }
/*=============================================================================
Author
=============================================================================*/
h3.author
{
font-size: 100%
}
/*=============================================================================
Lists
=============================================================================*/
li
{
font-size: 10pt;
line-height: 1.3;
}
/* Unordered lists */
ul
{
text-align: left;
}
/* Ordered lists */
ol
{
text-align: left;
}
/*=============================================================================
Links
=============================================================================*/
a
{
text-decoration: none; /* no underline */
}
a:hover
{
text-decoration: underline;
}
/*=============================================================================
Spirit style navigation
=============================================================================*/
.spirit-nav
{
text-align: right;
}
.spirit-nav a
{
color: white;
padding-left: 0.5em;
}
.spirit-nav img
{
border-width: 0px;
}
/*=============================================================================
Table of contents
=============================================================================*/
.toc
{
margin: 1pc 4% 0pc 4%;
padding: 0.1pc 1pc 0.1pc 1pc;
font-size: 10pt;
line-height: 1.15;
}
.toc-main
{
width: 600;
text-align: center;
margin: 1pc 1pc 1pc 10%;
padding: 2pc 1pc 3pc 1pc;
line-height: 0.1;
}
.boost-toc
{
float: right;
padding: 0.5pc;
}
/*=============================================================================
Tables
=============================================================================*/
.table-title,
div.table p.title
{
margin-left: 4%;
padding-right: 0.5em;
padding-left: 0.5em;
}
.informaltable table,
.table table
{
width: 92%;
margin-left: 4%;
margin-right: 4%;
}
div.informaltable table,
div.table table
{
padding: 4px;
}
/* Table Cells */
div.informaltable table tr td,
div.table table tr td
{
padding: 0.5em;
text-align: left;
}
div.informaltable table tr th,
div.table table tr th
{
padding: 0.5em 0.5em 0.5em 0.5em;
border: 1pt solid white;
font-size: 120%;
}
/*=============================================================================
Blurbs
=============================================================================*/
div.note,
div.tip,
div.important,
div.caution,
div.warning,
p.blurb
{
font-size: 10pt;
line-height: 1.2;
display: block;
margin: 1pc 4% 0pc 4%;
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
}
p.blurb img
{
padding: 1pt;
}
/*=============================================================================
Variable Lists
=============================================================================*/
span.term
{
font-weight: bold;
font-size: 10pt;
}
div.variablelist table tbody tr td
{
text-align: left;
vertical-align: top;
padding: 0em 2em 0em 0em;
font-size: 10pt;
}
div.variablelist table tbody tr td p
{
margin: 0em 0em 0.5em 0em;
}
/* Make the terms in definition lists bold */
div.variablelist dl dt
{
font-weight: bold;
font-size: 10pt;
}
div.variablelist dl dd
{
margin: 1em 0em 1em 2em;
font-size: 10pt;
}
/*=============================================================================
Misc
=============================================================================*/
/* Title of books and articles in bibliographies */
span.title
{
font-style: italic;
}
span.underline
{
text-decoration: underline;
}
span.strikethrough
{
text-decoration: line-through;
}
/* Copyright, Legal Notice */
div div.legalnotice p
{
font-size: 8pt;
text-align: left
}
/*=============================================================================
Colors
=============================================================================*/
@media screen
{
/* Links */
a
{
color: #0C7445;
}
a:visited
{
color: #663974;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
{
text-decoration: none; /* no underline */
color: #000000;
}
/* Syntax Highlighting */
.keyword { color: #0000AA; }
.identifier { color: #000000; }
.special { color: #707070; }
.preprocessor { color: #402080; }
.char { color: teal; }
.comment { color: #800000; }
.string { color: teal; }
.number { color: teal; }
.white_bkd { background-color: #E8FBE9; }
.dk_grey_bkd { background-color: #A0DAAC; }
/* Copyright, Legal Notice */
.copyright
{
color: #666666;
font-size: small;
}
div div.legalnotice p
{
color: #666666;
}
/* Program listing */
pre.synopsis
{
border: 1px solid #DCDCDC;
border-bottom: 3px solid #9D9D9D;
border-right: 3px solid #9D9D9D;
background-color: #FAFFFB;
}
.programlisting,
.screen
{
border: 1px solid #DCDCDC;
border-bottom: 3px solid #9D9D9D;
border-right: 3px solid #9D9D9D;
background-color: #FAFFFB;
}
/* Blurbs */
div.note,
div.tip,
div.important,
div.caution,
div.warning,
p.blurb
{
border: 1px solid #DCDCDC;
border-bottom: 3px solid #9D9D9D;
border-right: 3px solid #9D9D9D;
background-color: #FAFFFB;
}
/* Table of contents */
.toc
{
border: 1px solid #DCDCDC;
border-bottom: 3px solid #9D9D9D;
border-right: 3px solid #9D9D9D;
background-color: #FAFFFB;
}
/* Table of contents */
.toc-main
{
border: 1px solid #DCDCDC;
border-bottom: 3px solid #9D9D9D;
border-right: 3px solid #9D9D9D;
background-color: #FAFFFB;
}
/* Tables */
div.informaltable table tr td,
div.table table tr td
{
border: 1px solid #DCDCDC;
background-color: #FAFFFB;
}
div.informaltable table tr th,
div.table table tr th
{
background-color: #E3F9E4;
border: 1px solid #DCDCDC;
}
/* Misc */
span.highlight
{
color: #00A000;
}
}
@media print
{
/* Links */
a
{
color: black;
}
a:visited
{
color: black;
}
.spirit-nav
{
display: none;
}
/* Program listing */
pre.synopsis
{
border: 1px solid gray;
background-color: #FAFFFB;
}
.programlisting,
.screen
{
border: 1px solid gray;
background-color: #FAFFFB;
}
/* Table of contents */
.toc
{
border: 1px solid #DCDCDC;
border-bottom: 3px solid #9D9D9D;
border-right: 3px solid #9D9D9D;
background-color: #FAFFFB;
}
/* Table of contents */
.toc-main
{
border: 1px solid #DCDCDC;
border-bottom: 3px solid #9D9D9D;
border-right: 3px solid #9D9D9D;
background-color: #FAFFFB;
}
.informaltable table,
.table table
{
border: 1px solid #DCDCDC;
border-bottom: 3px solid #9D9D9D;
border-right: 3px solid #9D9D9D;
border-collapse: collapse;
background-color: #FAFFFB;
}
/* Tables */
div.informaltable table tr td,
div.table table tr td
{
border: 1px solid #DCDCDC;
background-color: #FAFFFB;
}
div.informaltable table tr th,
div.table table tr th
{
border: 1px solid #DCDCDC;
background-color: #FAFFFB;
}
/* Misc */
span.highlight
{
font-weight: bold;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 722 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 490 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1,12 +0,0 @@
/*=============================================================================
Copyright (c) 2004 Joel de Guzman
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
PRE.synopsis {
background-color: #e0ffff;
border: thin solid blue;
padding: 1em
}

View File

@@ -3040,6 +3040,7 @@ For a complete list of functions see
/ /
/[endsect] /[endsect]
/] /]
[endsect] [endsect]
[section:value_traits Containers with custom ValueTraits] [section:value_traits Containers with custom ValueTraits]
@@ -3845,6 +3846,12 @@ to be inserted in intrusive containers are allocated using `std::vector` or `std
[section:release_notes Release Notes] [section:release_notes Release Notes]
[section:release_notes_boost_1_54_00 Boost 1.54 Release]
* Added `BOOST_NO_EXCEPTIONS` support (bug [@https://svn.boost.org/trac/boost/ticket/7849 #7849]).
[endsect]
[section:release_notes_boost_1_53_00 Boost 1.53 Release] [section:release_notes_boost_1_53_00 Boost 1.53 Release]
* Fixed bugs * Fixed bugs

View File

@@ -21,7 +21,7 @@ rule test_all
for local fileb in [ glob *.cpp ] for local fileb in [ glob *.cpp ]
{ {
all_rules += [ run $(fileb) /boost/thread//boost_thread all_rules += [ run $(fileb)
: # additional args : # additional args
: # test-files : # test-files
: # requirements : # requirements

View File

@@ -50,8 +50,8 @@ int main()
base_slist.push_front(*it), member_list.push_back(*it); base_slist.push_front(*it), member_list.push_back(*it);
//Now test lists //Now test lists
BaseSList::iterator bit(base_slist.begin()), bitend(base_slist.end()); BaseSList::iterator bit(base_slist.begin());
MemberList::reverse_iterator mrit(member_list.rbegin()), mritend(member_list.rend()); MemberList::reverse_iterator mrit(member_list.rbegin());
std::vector<MyClass>::reverse_iterator rit(values.rbegin()), ritend(values.rend()); std::vector<MyClass>::reverse_iterator rit(values.rbegin()), ritend(values.rend());
//Test the objects inserted in the base hook list //Test the objects inserted in the base hook list

View File

@@ -69,8 +69,8 @@ int main()
//Now test avl_sets //Now test avl_sets
{ {
BaseSet::reverse_iterator rbit(baseset.rbegin()), rbitend(baseset.rend()); BaseSet::reverse_iterator rbit(baseset.rbegin());
MemberMultiset::iterator mit(membermultiset.begin()), mitend(membermultiset.end()); MemberMultiset::iterator mit(membermultiset.begin());
VectIt it(values.begin()), itend(values.end()); VectIt it(values.begin()), itend(values.end());
//Test the objects inserted in the base hook avl_set //Test the objects inserted in the base hook avl_set

View File

@@ -9,6 +9,7 @@
// See http://www.boost.org/libs/intrusive for documentation. // See http://www.boost.org/libs/intrusive for documentation.
// //
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#include <boost/detail/no_exceptions_support.hpp>
//[doc_erasing_and_disposing //[doc_erasing_and_disposing
#include <boost/intrusive/list.hpp> #include <boost/intrusive/list.hpp>
@@ -50,18 +51,45 @@ int main()
//Fill all the nodes and insert them in the list //Fill all the nodes and insert them in the list
my_class_list list; my_class_list list;
//<-
#if 1
BOOST_TRY{
#else
//->
try{ try{
//<-
#endif
//->
//Insert new objects in the container //Insert new objects in the container
for(int i = 0; i < MaxElem; ++i) list.push_back(*new my_class(i)); for(int i = 0; i < MaxElem; ++i) list.push_back(*new my_class(i));
//Now use remove_and_dispose_if to erase and delete the objects //Now use remove_and_dispose_if to erase and delete the objects
list.remove_and_dispose_if(is_even(), delete_disposer()); list.remove_and_dispose_if(is_even(), delete_disposer());
} }
//<-
#if 1
BOOST_CATCH(...){
#else
//->
catch(...){ catch(...){
//<-
#endif
//->
//If something throws, make sure that all the memory is freed //If something throws, make sure that all the memory is freed
list.clear_and_dispose(delete_disposer()); list.clear_and_dispose(delete_disposer());
//<-
#if 1
BOOST_RETHROW
#else
//->
throw; throw;
//<-
#endif
//->
} }
//<-
BOOST_CATCH_END
//->
//Dispose remaining elements //Dispose remaining elements
list.erase_and_dispose(list.begin(), list.end(), delete_disposer()); list.erase_and_dispose(list.begin(), list.end(), delete_disposer());

View File

@@ -57,8 +57,8 @@ int main()
//Now test lists //Now test lists
{ {
BaseList::reverse_iterator rbit(baselist.rbegin()), rbitend(baselist.rend()); BaseList::reverse_iterator rbit(baselist.rbegin());
MemberList::iterator mit(memberlist.begin()), mitend(memberlist.end()); MemberList::iterator mit(memberlist.begin());
VectIt it(values.begin()), itend(values.end()); VectIt it(values.begin()), itend(values.end());
//Test the objects inserted in the base hook list //Test the objects inserted in the base hook list

View File

@@ -58,8 +58,8 @@ int main()
//Now test lists //Now test lists
{ {
BaseList::reverse_iterator rbit(baselist.rbegin()), rbitend(baselist.rend()); BaseList::reverse_iterator rbit(baselist.rbegin());
MemberList::iterator mit(memberlist.begin()), mitend(memberlist.end()); MemberList::iterator mit(memberlist.begin());
VectIt it(values.begin()), itend(values.end()); VectIt it(values.begin()), itend(values.end());
//Test the objects inserted in the base hook list //Test the objects inserted in the base hook list

View File

@@ -10,6 +10,18 @@
// //
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#include <boost/config.hpp>
#ifdef BOOST_NO_EXCEPTIONS
//Interprocess does not support BOOST_NO_EXCEPTIONS so nothing to test here
int main()
{
return 0;
}
#else //!BOOST_NO_EXCEPTIONS
//This is needed to allow concurrent test execution in //This is needed to allow concurrent test execution in
//several platforms. The shared memory must be unique //several platforms. The shared memory must be unique
//for each process... //for each process...
@@ -100,3 +112,6 @@ int main()
return 0; return 0;
} }
//] //]
#endif //BOOST_NO_EXCEPTIONS

View File

@@ -69,8 +69,8 @@ int main()
//Now test sets //Now test sets
{ {
BaseSet::reverse_iterator rbit(baseset.rbegin()), rbitend(baseset.rend()); BaseSet::reverse_iterator rbit(baseset.rbegin());
MemberMultiset::iterator mit(membermultiset.begin()), mitend(membermultiset.end()); MemberMultiset::iterator mit(membermultiset.begin());
VectIt it(values.begin()), itend(values.end()); VectIt it(values.begin()), itend(values.end());
//Test the objects inserted in the base hook set //Test the objects inserted in the base hook set

View File

@@ -68,8 +68,8 @@ int main()
//Now test sg_sets //Now test sg_sets
{ {
BaseSet::reverse_iterator rbit(baseset.rbegin()), rbitend(baseset.rend()); BaseSet::reverse_iterator rbit(baseset.rbegin());
MemberMultiset::iterator mit(membermultiset.begin()), mitend(membermultiset.end()); MemberMultiset::iterator mit(membermultiset.begin());
VectIt it(values.begin()), itend(values.end()); VectIt it(values.begin()), itend(values.end());
//Test the objects inserted in the base hook sg_set //Test the objects inserted in the base hook sg_set

View File

@@ -60,8 +60,8 @@ int main()
//Now test lists //Now test lists
{ {
BaseList::iterator bit(baselist.begin()), bitend(baselist.end()); BaseList::iterator bit(baselist.begin());
MemberList::iterator mit(memberlist.begin()), mitend(memberlist.end()); MemberList::iterator mit(memberlist.begin());
VectRit rit(values.rbegin()), ritend(values.rend()); VectRit rit(values.rbegin()), ritend(values.rend());
VectIt it(values.begin()), itend(values.end()); VectIt it(values.begin()), itend(values.end());

View File

@@ -72,9 +72,9 @@ int main()
//Now test sets //Now test sets
{ {
BaseSplaySet::reverse_iterator rbit(baseset.rbegin()), rbitend(baseset.rend()); BaseSplaySet::reverse_iterator rbit(baseset.rbegin());
BaseBsSplaySet::iterator bsit(bsbaseset.begin()), bsitend(bsbaseset.end()); BaseBsSplaySet::iterator bsit(bsbaseset.begin());
MemberSplayMultiset::iterator mit(membermultiset.begin()), mitend(membermultiset.end()); MemberSplayMultiset::iterator mit(membermultiset.begin());
VectIt it(values.begin()), itend(values.end()); VectIt it(values.begin()), itend(values.end());
//Test the objects inserted in the base hook set //Test the objects inserted in the base hook set

View File

@@ -79,8 +79,8 @@ int main()
//Now test treap_sets //Now test treap_sets
{ {
BaseSet::reverse_iterator rbit(baseset.rbegin()), rbitend(baseset.rend()); BaseSet::reverse_iterator rbit(baseset.rbegin());
MemberMultiset::iterator mit(membermultiset.begin()), mitend(membermultiset.end()); MemberMultiset::iterator mit(membermultiset.begin());
VectIt it(values.begin()), itend(values.end()); VectIt it(values.begin()), itend(values.end());
//Test the objects inserted in the base hook treap_set //Test the objects inserted in the base hook treap_set

View File

@@ -71,8 +71,7 @@ int main()
base_set.insert(*it); base_set.insert(*it);
//Now insert values's and values2's elements in the unordered_multiset //Now insert values's and values2's elements in the unordered_multiset
for(VectIt it(values.begin()), itend(values.end()), for(VectIt it(values.begin()), itend(values.end()), it2(values2.begin())
it2(values2.begin()),itend2(values2.end())
; it != itend; ++it, ++it2){ ; it != itend; ++it, ++it2){
member_multi_set.insert(*it); member_multi_set.insert(*it);
member_multi_set.insert(*it2); member_multi_set.insert(*it2);

View File

@@ -20,14 +20,10 @@ rule test_all
for local fileb in [ glob *.cpp ] for local fileb in [ glob *.cpp ]
{ {
all_rules += [ run $(fileb) /boost/thread//boost_thread all_rules += [ run $(fileb)
: # additional args : # additional args
: # test-files : # test-files
: # requirements : # requirements
<toolset>acc:<linkflags>-lrt
<toolset>acc-pa_risc:<linkflags>-lrt
<toolset>gcc-mingw:<linkflags>"-lole32 -loleaut32"
<host-os>hpux,<toolset>gcc:<linkflags>"-Wl,+as,mpas"
<host-os>windows,<toolset>clang:<linkflags>"-lole32 -loleaut32 -lpsapi -ladvapi32" <host-os>windows,<toolset>clang:<linkflags>"-lole32 -loleaut32 -lpsapi -ladvapi32"
] ; ] ;
} }
@@ -35,4 +31,4 @@ rule test_all
return $(all_rules) ; return $(all_rules) ;
} }
test-suite intrusive_test : [ test_all r ] : <threading>multi ; test-suite intrusive_test : [ test_all r ] : ;

View File

@@ -164,8 +164,8 @@ bool simple_slist_test()
//Now test lists //Now test lists
{ {
BaseList::iterator bit(baselist.begin()), bitend(baselist.end()); BaseList::iterator bit(baselist.begin());
MemberList::iterator mit(memberlist.begin()), mitend(memberlist.end()); MemberList::iterator mit(memberlist.begin());
VectRit rit(values.rbegin()), ritend(values.rend()); VectRit rit(values.rbegin()), ritend(values.rend());
VectIt it(values.begin()), itend(values.end()); VectIt it(values.begin()), itend(values.end());

View File

@@ -57,7 +57,7 @@ void test_container( Container & c )
for(i = 0; i < num_elem; ++i){ for(i = 0; i < num_elem; ++i){
++it; ++it;
} }
BOOST_TEST( it == c.end() ); BOOST_TEST( it == itend );
BOOST_TEST( c.size() == i ); BOOST_TEST( c.size() == i );
} }
@@ -69,7 +69,7 @@ void test_container( Container & c )
for(i = 0; i < num_elem; ++i){ for(i = 0; i < num_elem; ++i){
++it; ++it;
} }
BOOST_TEST( it == c.cend() ); BOOST_TEST( it == itend );
BOOST_TEST( c.size() == i ); BOOST_TEST( c.size() == i );
} }
} }