diff --git a/compressed_pair.htm b/compressed_pair.htm
deleted file mode 100644
index f054d08..0000000
--- a/compressed_pair.htm
+++ /dev/null
@@ -1,76 +0,0 @@
-
-
-
-
-
-
- All of the contents of <boost/compressed_pair.hpp> are defined inside
- namespace boost.
- The class compressed pair is very similar to std::pair, but if either of the
- template arguments are empty classes, then the "empty base-class optimisation"
- is applied to compress the size of the pair.
- template <class T1, class T2>
-class compressed_pair
-{
-public:
- typedef T1 first_type;
- typedef T2 second_type;
- typedef typename call_traits<first_type>::param_type first_param_type;
- typedef typename call_traits<second_type>::param_type second_param_type;
- typedef typename call_traits<first_type>::reference first_reference;
- typedef typename call_traits<second_type>::reference second_reference;
- typedef typename call_traits<first_type>::const_reference first_const_reference;
- typedef typename call_traits<second_type>::const_reference second_const_reference;
-
- compressed_pair() : base() {}
- compressed_pair(first_param_type x, second_param_type y);
- explicit compressed_pair(first_param_type x);
- explicit compressed_pair(second_param_type y);
-
- compressed_pair& operator=(const compressed_pair&);
-
- first_reference first();
- first_const_reference first() const;
-
- second_reference second();
- second_const_reference second() const;
-
- void swap(compressed_pair& y);
-};
- The two members of the pair can be accessed using the member functions first()
- and second(). Note that not all member functions can be instantiated for all
- template parameter types. In particular compressed_pair can be instantiated for
- reference and array types, however in these cases the range of constructors
- that can be used are limited. If types T1 and T2 are the same type, then there
- is only one version of the single-argument constructor, and this constructor
- initialises both values in the pair to the passed value.
- Note that if either member is a POD type, then that member is not
- zero-initialized by the compressed_pair default constructor: it's up to you to
- supply an initial value for these types if you want them to have a default
- value.
- Note that compressed_pair can not be instantiated if either of the template
- arguments is a union type, unless there is compiler support for
- boost::is_union, or if boost::is_union is specialised for the union type.
- Finally, a word of caution for Visual C++ 6 users: if either argument is an
- empty type, then assigning to that member will produce memory corruption,
- unless the empty type has a "do nothing" assignment operator defined. This is
- due to a bug in the way VC6 generates implicit assignment operators.
- Acknowledgements
- Based on contributions by Steve Cleary, Beman Dawes, Howard Hinnant and John
- Maddock.
- Maintained by John Maddock, the
- latest version of this file can be found at www.boost.org,
- and the boost discussion list at www.yahoogroups.com/list/boost.
-
- Revised
- 07 November 2007
- © Copyright Beman Dawes, 2000.
-Distributed under the Boost Software License, Version 1.0. See
-www.boost.org/LICENSE_1_0.txt
-
-
-
\ No newline at end of file
diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2
index 813697e..eb9c35d 100644
--- a/doc/Jamfile.v2
+++ b/doc/Jamfile.v2
@@ -61,6 +61,25 @@ boostbook standalone_base_from_member
generate.section.toc.level=1
;
+xml compressed_pair : compressed_pair.qbk ;
+boostbook standalone_compressed_pair
+ :
+ compressed_pair
+ :
+ # File name of HTML output:
+ root.filename=compressed_pair
+ # How far down we chunk nested sections, basically all of them:
+ chunk.section.depth=0
+ # Don't put the first section on the same page as the TOC:
+ chunk.first.sections=0
+ # How far down sections get TOC's
+ toc.section.depth=1
+ # Max depth in each TOC:
+ toc.max.depth=1
+ # How far down we go with TOC's
+ generate.section.toc.level=1
+ ;
+
xml declval : declval.qbk ;
boostbook standalone_declval
:
diff --git a/doc/compressed_pair.qbk b/doc/compressed_pair.qbk
new file mode 100644
index 0000000..eac4266
--- /dev/null
+++ b/doc/compressed_pair.qbk
@@ -0,0 +1,99 @@
+[/
+ Copyright 2000 Beman Dawes & John Maddock.
+
+ Distributed under the Boost Software License, Version 1.0.
+
+ See accompanying file LICENSE_1_0.txt
+ or copy at http://boost.org/LICENSE_1_0.txt
+]
+
+[article Compressed_Pair
+ [quickbook 1.5]
+ [authors [Cleary, Steve]]
+ [authors [Dawes, Beman]]
+ [authors [Hinnant, Howard]]
+ [authors [Maddock, John]]
+ [copyright 2000 Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock]
+ [license
+ Distributed under 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])
+ ]
+]
+
+[section Overview]
+
+All of the contents of `` are defined inside
+`namespace boost`.
+
+The class `compressed_pair` is very similar to `std::pair`, but if either of
+the template arguments are empty classes, then the ['empty base-class
+optimisation] is applied to compress the size of the pair.
+
+[endsect]
+
+[section Synopsis]
+
+ template
+ class compressed_pair
+ {
+ public:
+ typedef T1 first_type;
+ typedef T2 second_type;
+ typedef typename call_traits::param_type first_param_type;
+ typedef typename call_traits::param_type second_param_type;
+ typedef typename call_traits::reference first_reference;
+ typedef typename call_traits::reference second_reference;
+ typedef typename call_traits::const_reference first_const_reference;
+ typedef typename call_traits::const_reference second_const_reference;
+
+ compressed_pair() : base() {}
+ compressed_pair(first_param_type x, second_param_type y);
+ explicit compressed_pair(first_param_type x);
+ explicit compressed_pair(second_param_type y);
+
+ compressed_pair& operator=(const compressed_pair&);
+
+ first_reference first();
+ first_const_reference first() const;
+
+ second_reference second();
+ second_const_reference second() const;
+
+ void swap(compressed_pair& y);
+ };
+
+The two members of the pair can be accessed using the member functions
+`first()` and `second()`. Note that not all member functions can be
+instantiated for all template parameter types. In particular
+`compressed_pair` can be instantiated for reference and array types,
+however in these cases the range of constructors that can be used are
+limited. If types `T1` and `T2` are the same type, then there is only
+one version of the single-argument constructor, and this constructor
+initialises both values in the pair to the passed value.
+
+Note that if either member is a POD type, then that member is not
+zero-initialized by the `compressed_pair` default constructor: it's up
+to you to supply an initial value for these types if you want them to have
+a default value.
+
+Note that `compressed_pair` can not be instantiated if either of the
+template arguments is a union type, unless there is compiler support for
+`boost::is_union`, or if `boost::is_union` is specialised for the union
+type.
+
+Finally, a word of caution for Visual C++ 6 users: if either argument is an
+empty type, then assigning to that member will produce memory corruption,
+unless the empty type has a "do nothing" assignment operator defined. This
+is due to a bug in the way VC6 generates implicit assignment operators.
+
+[endsect]
+
+[section Acknowledgments]
+
+Based on contributions by Steve Cleary, Beman Dawes, Howard Hinnant and
+John Maddock.
+
+Maintained by [@mailto:john@johnmaddock.co.uk John Maddock].
+
+[endsect]
diff --git a/include/boost/detail/compressed_pair.hpp b/include/boost/detail/compressed_pair.hpp
index 3f32645..5dc21e2 100644
--- a/include/boost/detail/compressed_pair.hpp
+++ b/include/boost/detail/compressed_pair.hpp
@@ -6,7 +6,7 @@
// See http://www.boost.org/libs/utility for most recent version including documentation.
// compressed_pair: pair that "compresses" empty members
-// (see libs/utility/compressed_pair.htm)
+// (see libs/utility/doc/html/compressed_pair.html)
//
// JM changes 25 Jan 2004:
// For the case where T1 == T2 and both are empty, then first() and second()
diff --git a/index.html b/index.html
index 04cc305..1275a81 100644
--- a/index.html
+++ b/index.html
@@ -19,7 +19,7 @@
BOOST_BINARY
call_traits
checked_delete
- compressed_pair
+ compressed_pair
declval
enable_if
in_place_factory