Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r82114 - in sandbox/container_gen: boost/container_gen boost/detail/function boost/detail/metafunction boost/typeof/boost/mpl boost/utility libs/utility/doc/html libs/utility/doc/src/get_reference
From: sponage_at_[hidden]
Date: 2012-12-20 09:09:00


Author: expaler
Date: 2012-12-20 09:08:58 EST (Thu, 20 Dec 2012)
New Revision: 82114
URL: http://svn.boost.org/trac/boost/changeset/82114

Log:
Boost.ContainerGen: moved get_reference from boost::detail to boost namespace as part of Boost.Utility
Added:
   sandbox/container_gen/boost/container_gen/c_str_cmp_selectors.hpp (contents, props changed)
   sandbox/container_gen/boost/detail/metafunction/is_multi_assoc_container.hpp (contents, props changed)
   sandbox/container_gen/boost/detail/metafunction/is_unique_assoc_container.hpp (contents, props changed)
   sandbox/container_gen/boost/typeof/boost/mpl/size_t.hpp (contents, props changed)
   sandbox/container_gen/boost/utility/get_iterator_value_second.hpp (contents, props changed)
   sandbox/container_gen/boost/utility/get_reference.hpp (contents, props changed)
   sandbox/container_gen/libs/utility/doc/html/get_reference.html (contents, props changed)
   sandbox/container_gen/libs/utility/doc/src/get_reference/
   sandbox/container_gen/libs/utility/doc/src/get_reference/Jamroot (contents, props changed)
   sandbox/container_gen/libs/utility/doc/src/get_reference/doc.qbk (contents, props changed)
Removed:
   sandbox/container_gen/boost/detail/function/get_reference.hpp

Added: sandbox/container_gen/boost/container_gen/c_str_cmp_selectors.hpp
==============================================================================
--- (empty file)
+++ sandbox/container_gen/boost/container_gen/c_str_cmp_selectors.hpp 2012-12-20 09:08:58 EST (Thu, 20 Dec 2012)
@@ -0,0 +1,139 @@
+//=======================================================================
+// Copyright (C) 2012 Cromwell D. Enage
+//
+// 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)
+//=======================================================================
+
+#ifndef BOOST_CONTAINER_GEN_C_STR_CMP_SELECTORS_HPP_INCLUDED
+#define BOOST_CONTAINER_GEN_C_STR_CMP_SELECTORS_HPP_INCLUDED
+
+#include <boost/config.hpp>
+#include <boost/tr1/type_traits.hpp>
+
+#if !defined BOOST_NO_CWCHAR
+#include <cwchar>
+#endif
+
+//[reference__c_str_compare_selectors
+namespace boost {
+
+ struct c_str_equivalence_selector
+ {
+ template <typename T>
+ struct apply
+ {
+ class type
+ {
+ inline static bool
+ _evaluate(
+ T const& lhs
+ , T const& rhs
+ , ::std::tr1::true_type
+ )
+ {
+ return !strcmp(lhs, rhs);
+ }
+
+//<-
+#if !defined BOOST_NO_CWCHAR
+//->
+ inline static bool
+ _evaluate(
+ T const& lhs
+ , T const& rhs
+ , ::std::tr1::false_type
+ )
+ {
+ return !wcscmp(lhs, rhs);
+ }
+//<-
+#endif
+//->
+
+ public:
+ typedef bool result_type;
+ typedef T const& first_argument_type;
+ typedef T const& second_argument_type;
+
+ inline bool operator()(T const& lhs, T const& rhs) const
+ {
+ return _evaluate(
+ lhs
+ , rhs
+ , ::std::tr1::is_same<
+ typename ::std::tr1::remove_cv<
+ typename ::std::tr1::remove_pointer<
+ typename ::std::tr1::remove_extent<T>::type
+ >::type
+ >::type
+ , char
+ >()
+ );
+ }
+ };
+ };
+ };
+
+ struct c_str_ordering_selector
+ {
+ template <typename T>
+ struct apply
+ {
+ class type
+ {
+ inline static bool
+ _evaluate(
+ T const& lhs
+ , T const& rhs
+ , ::std::tr1::true_type
+ )
+ {
+ return strcmp(lhs, rhs) < 0;
+ }
+
+//<-
+#if !defined BOOST_NO_CWCHAR
+//->
+ inline static bool
+ _evaluate(
+ T const& lhs
+ , T const& rhs
+ , ::std::tr1::false_type
+ )
+ {
+ return wcscmp(lhs, rhs) < 0;
+ }
+//<-
+#endif
+//->
+
+ public:
+ typedef bool result_type;
+ typedef T const& first_argument_type;
+ typedef T const& second_argument_type;
+
+ inline bool operator()(T const& lhs, T const& rhs) const
+ {
+ return _evaluate(
+ lhs
+ , rhs
+ , ::std::tr1::is_same<
+ typename ::std::tr1::remove_cv<
+ typename ::std::tr1::remove_pointer<
+ typename ::std::tr1::remove_extent<T>::type
+ >::type
+ >::type
+ , char
+ >()
+ );
+ }
+ };
+ };
+ };
+} // namespace boost
+//]
+
+#endif // BOOST_CONTAINER_GEN_C_STR_CMP_SELECTORS_HPP_INCLUDED
+

Deleted: sandbox/container_gen/boost/detail/function/get_reference.hpp
==============================================================================
--- sandbox/container_gen/boost/detail/function/get_reference.hpp 2012-12-20 09:08:58 EST (Thu, 20 Dec 2012)
+++ (empty file)
@@ -1,23 +0,0 @@
-// Copyright (C) 2011-2012 Cromwell D. Enage
-// 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)
-
-#ifndef BOOST_DETAIL_FUNCTION_GET_REFERENCE_HPP_INCLUDED
-#define BOOST_DETAIL_FUNCTION_GET_REFERENCE_HPP_INCLUDED
-
-#include <boost/typeof/boost/optional.hpp>
-
-namespace boost { namespace detail {
-
- // Allows a BOOST_TYPEOF or BOOST_TYPEOF_TPL expression to obtain a
- // reference to T without requiring T to be DefaultConstructible.
- template <typename T>
- T& get_reference()
- {
- return ::boost::optional<T>().get();
- }
-}} // namespace boost::detail
-
-#endif // BOOST_DETAIL_FUNCTION_GET_REFERENCE_HPP_INCLUDED
-

Added: sandbox/container_gen/boost/detail/metafunction/is_multi_assoc_container.hpp
==============================================================================
--- (empty file)
+++ sandbox/container_gen/boost/detail/metafunction/is_multi_assoc_container.hpp 2012-12-20 09:08:58 EST (Thu, 20 Dec 2012)
@@ -0,0 +1,69 @@
+// Copyright (C) 2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_METAFUNCTION_IS_MULTI_ASSOC_CONTAINER_HPP_INCLUDED
+#define BOOST_DETAIL_METAFUNCTION_IS_MULTI_ASSOC_CONTAINER_HPP_INCLUDED
+
+#include <boost/typeof/typeof.hpp>
+#include <boost/tr1/type_traits.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+#include <boost/typeof/typeof.hpp>
+#include <boost/utility/get_reference.hpp>
+#include <boost/detail/metafunction/is_associative_container.hpp>
+#include <boost/detail/metafunction/is_ptr_container.hpp>
+
+namespace boost { namespace detail { namespace metafunction {
+
+ template <typename T>
+ struct is_multiple_associative_container_impl
+ : ::boost::mpl::if_<
+ ::std::tr1::is_same<
+ BOOST_TYPEOF_TPL(
+ T().insert(::boost::get_reference<typename T::key_type>())
+ )
+ , typename T::iterator
+ >
+ , ::boost::mpl::true_
+ , ::boost::mpl::false_
+ >::type
+ {
+ };
+
+ template <typename T>
+ struct is_multiple_associative_ptr_container_impl
+ : ::boost::mpl::if_<
+ ::std::tr1::is_same<
+ BOOST_TYPEOF_TPL(
+ T().insert(&::boost::get_reference<typename T::key_type>())
+ )
+ , typename T::iterator
+ >
+ , ::boost::mpl::true_
+ , ::boost::mpl::false_
+ >::type
+ {
+ };
+
+ template <typename T>
+ struct is_multiple_associative_container
+ : ::boost::mpl::eval_if<
+ is_associative_container<T>
+ , ::boost::mpl::if_<
+ is_ptr_container<T>
+ , is_multiple_associative_ptr_container_impl<T>
+ , is_multiple_associative_container_impl<T>
+ >
+ , ::boost::mpl::false_
+ >::type
+ {
+ BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_multiple_associative_container,(T))
+ };
+}}} // namespace boost::detail::metafunction
+
+#endif // BOOST_DETAIL_METAFUNCTION_IS_MULTI_ASSOC_CONTAINER_HPP_INCLUDED
+

Added: sandbox/container_gen/boost/detail/metafunction/is_unique_assoc_container.hpp
==============================================================================
--- (empty file)
+++ sandbox/container_gen/boost/detail/metafunction/is_unique_assoc_container.hpp 2012-12-20 09:08:58 EST (Thu, 20 Dec 2012)
@@ -0,0 +1,69 @@
+// Copyright (C) 2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_METAFUNCTION_IS_UNIQUE_ASSOC_CONTAINER_HPP_INCLUDED
+#define BOOST_DETAIL_METAFUNCTION_IS_UNIQUE_ASSOC_CONTAINER_HPP_INCLUDED
+
+#include <utility>
+#include <boost/tr1/type_traits.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+#include <boost/typeof/typeof.hpp>
+#include <boost/utility/get_reference.hpp>
+#include <boost/detail/metafunction/is_associative_container.hpp>
+#include <boost/detail/metafunction/is_ptr_container.hpp>
+
+namespace boost { namespace detail { namespace metafunction {
+
+ template <typename T>
+ struct is_unique_associative_container_impl
+ : ::boost::mpl::if_<
+ ::std::tr1::is_same<
+ BOOST_TYPEOF_TPL(
+ T().insert(::boost::get_reference<typename T::key_type>())
+ )
+ , ::std::pair<typename T::iterator,bool>
+ >
+ , ::boost::mpl::true_
+ , ::boost::mpl::false_
+ >::type
+ {
+ };
+
+ template <typename T>
+ struct is_unique_associative_ptr_container_impl
+ : ::boost::mpl::if_<
+ ::std::tr1::is_same<
+ BOOST_TYPEOF_TPL(
+ T().insert(&::boost::get_reference<typename T::key_type>())
+ )
+ , ::std::pair<typename T::iterator,bool>
+ >
+ , ::boost::mpl::true_
+ , ::boost::mpl::false_
+ >::type
+ {
+ };
+
+ template <typename T>
+ struct is_unique_associative_container
+ : ::boost::mpl::eval_if<
+ is_associative_container<T>
+ , ::boost::mpl::if_<
+ is_ptr_container<T>
+ , is_unique_associative_ptr_container_impl<T>
+ , is_unique_associative_container_impl<T>
+ >
+ , ::boost::mpl::false_
+ >::type
+ {
+ BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_unique_associative_container,(T))
+ };
+}}} // namespace boost::detail::metafunction
+
+#endif // BOOST_DETAIL_METAFUNCTION_IS_UNIQUE_ASSOC_CONTAINER_HPP_INCLUDED
+

Added: sandbox/container_gen/boost/typeof/boost/mpl/size_t.hpp
==============================================================================
--- (empty file)
+++ sandbox/container_gen/boost/typeof/boost/mpl/size_t.hpp 2012-12-20 09:08:58 EST (Thu, 20 Dec 2012)
@@ -0,0 +1,20 @@
+// Copyright (C) 2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TYPEOF_BOOST_MPL_SIZE_T_HPP_INCLUDED
+#define BOOST_TYPEOF_BOOST_MPL_SIZE_T_HPP_INCLUDED
+
+#include <boost/mpl/size_t.hpp>
+#include <boost/typeof/typeof.hpp>
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+
+BOOST_TYPEOF_REGISTER_TEMPLATE(
+ ::boost::mpl::size_t
+ , BOOST_TYPEOF_INTEGRAL(::std::size_t)
+)
+
+#endif // BOOST_TYPEOF_BOOST_MPL_SIZE_T_HPP_INCLUDED
+

Added: sandbox/container_gen/boost/utility/get_iterator_value_second.hpp
==============================================================================
--- (empty file)
+++ sandbox/container_gen/boost/utility/get_iterator_value_second.hpp 2012-12-20 09:08:58 EST (Thu, 20 Dec 2012)
@@ -0,0 +1,122 @@
+// Copyright (C) 2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_UTILITY_GET_ITERATOR_VALUE_SECOND_HPP_INCLUDED
+#define BOOST_UTILITY_GET_ITERATOR_VALUE_SECOND_HPP_INCLUDED
+
+#include <boost/tr1/type_traits.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/typeof/typeof.hpp>
+#include <boost/typeof/boost/ref.hpp>
+#include <boost/ptr_container/detail/map_iterator.hpp>
+#include <boost/utility/get_reference.hpp>
+
+//[reference__get_iterator_value_second_result
+namespace boost {
+
+ template <typename IterValue>
+ struct get_iterator_value_second_result
+ {
+ typedef typename ::std::tr1::remove_pointer<
+ typename ::boost::unwrap_reference<
+ BOOST_TYPEOF_TPL(
+ ::boost::ref(
+ ::boost::get_reference<
+ IterValue
+ >().second
+ )
+ )
+ >::type
+ >::type&
+ type;
+ };
+} // namespace boost
+//]
+
+namespace boost { namespace detail {
+
+ template <typename IterValue>
+ class get_iterator_value_second_helper
+ {
+ public:
+ typedef IterValue&
+ argument_type;
+ typedef typename get_iterator_value_second_result<IterValue>::type
+ result_type;
+
+ result_type operator()(argument_type itr) const;
+
+ private:
+ static result_type _evaluate(argument_type arg, ::boost::mpl::true_);
+
+ static result_type _evaluate(argument_type arg, ::boost::mpl::false_);
+ };
+
+ template <typename IterValue>
+ inline typename get_iterator_value_second_helper<IterValue>::result_type
+ get_iterator_value_second_helper<IterValue>::operator()(
+ argument_type arg
+ ) const
+ {
+ typedef typename ::std::tr1::remove_const<IterValue>::type _value_type;
+
+ return _evaluate(
+ arg
+ , typename ::boost::mpl::if_<
+ ::std::tr1::is_same<
+ ::boost::ptr_container_detail::ref_pair<
+ typename _value_type::first_type
+ , typename _value_type::second_type
+ >
+ , _value_type
+ >
+ , ::boost::mpl::true_
+ , ::boost::mpl::false_
+ >::type()
+ );
+ }
+
+ template <typename IterValue>
+ inline typename get_iterator_value_second_helper<IterValue>::result_type
+ get_iterator_value_second_helper<IterValue>::_evaluate(
+ argument_type arg
+ , ::boost::mpl::true_
+ )
+ {
+ return *arg.second;
+ }
+
+ template <typename IterValue>
+ inline typename get_iterator_value_second_helper<IterValue>::result_type
+ get_iterator_value_second_helper<IterValue>::_evaluate(
+ argument_type arg
+ , ::boost::mpl::false_
+ )
+ {
+ return arg.second;
+ }
+}} // namespace boost::detail
+
+//[reference__get_iterator_value_second
+namespace boost {
+
+ template <typename IterValue>
+ typename get_iterator_value_second_result<IterValue>::type
+ get_iterator_value_second(IterValue& value);
+
+ //<-
+ template <typename IterValue>
+ inline typename get_iterator_value_second_result<IterValue>::type
+ get_iterator_value_second(IterValue& value)
+ {
+ return detail::get_iterator_value_second_helper<IterValue>()(value);
+ }
+ //->
+} // namespace boost
+//]
+
+#endif // BOOST_UTILITY_GET_ITERATOR_VALUE_SECOND_HPP_INCLUDED
+

Added: sandbox/container_gen/boost/utility/get_reference.hpp
==============================================================================
--- (empty file)
+++ sandbox/container_gen/boost/utility/get_reference.hpp 2012-12-20 09:08:58 EST (Thu, 20 Dec 2012)
@@ -0,0 +1,23 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_UTILITY_GET_REFERENCE_HPP_INCLUDED
+#define BOOST_UTILITY_GET_REFERENCE_HPP_INCLUDED
+
+#include <boost/typeof/boost/optional.hpp>
+
+//[reference__get_reference
+namespace boost {
+
+ template <typename T>
+ T& get_reference()
+ {
+ return ::boost::optional<T>().get();
+ }
+} // namespace boost
+//]
+
+#endif // BOOST_UTILITY_GET_REFERENCE_HPP_INCLUDED
+

Added: sandbox/container_gen/libs/utility/doc/html/get_reference.html
==============================================================================
--- (empty file)
+++ sandbox/container_gen/libs/utility/doc/html/get_reference.html 2012-12-20 09:08:58 EST (Thu, 20 Dec 2012)
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>get_reference</title>
+<link rel="stylesheet" href="http://www.boost.org/doc/libs/release/doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="get_reference.html" title="get_reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav"></div>
+<div class="article">
+<div class="titlepage">
+<div>
+<div><h2 class="title">
+<a name="get_reference"></a>get_reference</h2></div>
+<div><p class="copyright">Copyright &#169; 2012 Cromwell Enage</p></div>
+<div><div class="legalnotice">
+<a name="get_reference.legal"></a><p>
+ 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)
+ </p>
+</div></div>
+</div>
+<hr>
+</div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section">Function Synopsis</span></dt>
+<dt><span class="section">Function Description</span></dt>
+<dt><span class="section">Where defined</span></dt>
+</dl>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="get_reference.func_synopsis"></a><a class="link" href="get_reference.html#get_reference.func_synopsis" title="Function Synopsis">Function Synopsis</a>
+</h2></div></div></div>
+<p>
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">get_reference</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;().</span><span class="identifier">get</span><span class="special">();</span>
+ <span class="special">}</span>
+<span class="special">}</span> <span class="comment">// namespace boost</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="get_reference.func_desc"></a><a class="link" href="get_reference.html#get_reference.func_desc" title="Function Description">Function Description</a>
+</h2></div></div></div>
+<p>
+ Allows a BOOST_TYPEOF or BOOST_TYPEOF_TPL expression to obtain
+ a reference to the specified type without requiring the type to be Default Constructible.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="get_reference.definition"></a><a class="link" href="get_reference.html#get_reference.definition" title="Where defined">Where defined</a>
+</h2></div></div></div>
+<p>
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span>boost/utility/get_reference.hpp<span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"><p><small>Last revised: December 15, 2012 at 20:26:52 GMT</small></p></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav"></div>
+</body>
+</html>

Added: sandbox/container_gen/libs/utility/doc/src/get_reference/Jamroot
==============================================================================
--- (empty file)
+++ sandbox/container_gen/libs/utility/doc/src/get_reference/Jamroot 2012-12-20 09:08:58 EST (Thu, 20 Dec 2012)
@@ -0,0 +1,65 @@
+project
+ : requirements
+ # Path for links to Boost:
+ # <xsl:param>boost.root=../../../..
+ <xsl:param>boost.root=http://www.boost.org
+
+ # Some general style settings:
+ <xsl:param>table.footnote.number.format=1
+ <xsl:param>footnote.number.format=1
+
+ # HTML options first:
+ # Use graphics not text for navigation:
+ <xsl:param>navig.graphics=1
+ # PDF Options:
+ # TOC Generation: this is needed for FOP-0.9 and later:
+ <xsl:param>fop1.extensions=0
+ <xsl:param>xep.extensions=1
+ # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
+ <xsl:param>fop.extensions=0
+ # No indent on body text:
+ <xsl:param>body.start.indent=0pt
+ # Margin size:
+ <xsl:param>page.margin.inner=0.5in
+ # Margin size:
+ <xsl:param>page.margin.outer=0.5in
+ # Paper type = A4
+ <xsl:param>paper.type=A4
+ # Yes, we want graphics for admonishments:
+ <xsl:param>admon.graphics=1
+ # Set this one for PDF generation *only*:
+ # default pnd graphics are awful in PDF form,
+ # better use SVG's instead:
+ <format>pdf:<xsl:param>admon.graphics.extension=".svg"
+ <format>pdf:<xsl:param>admon.graphics.path=$(boost-images)/
+# <format>pdf:<xsl:param>boost.url.prefix=../../../../../../libs/utility/doc/html
+ <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/utility/doc/html
+ ;
+
+import boostbook : boostbook ;
+using quickbook ;
+
+path-constant boost-images : http://www.boost.org/doc/src/images ;
+
+xml get_reference : doc.qbk ;
+boostbook standalone
+ :
+ get_reference
+ :
+ <xsl:param>base.dir=../../../html
+ <xsl:param>root.filename=get_reference
+ <xsl:param>boost.libraries=http://www.boost.org/libs/libraries.htm
+ <xsl:param>boost.image.src=../../../../boost.png
+ <xsl:param>boost.image.alt="C++ Boost"
+ <xsl:param>boost.image.w=277
+ <xsl:param>boost.image.h=86
+# <xsl:param>html.stylesheet=../../../../../../doc/src/boostbook.css
+ <xsl:param>html.stylesheet=http://www.boost.org/doc/libs/release/doc/src/boostbook.css
+ <xsl:param>nav.layout=none
+ <xsl:param>chunk.section.depth=0
+ <xsl:param>chunk.first.sections=0
+ <xsl:param>toc.section.depth=1
+ <xsl:param>toc.max.depth=1
+ <xsl:param>generate.section.toc.level=1
+ ;
+

Added: sandbox/container_gen/libs/utility/doc/src/get_reference/doc.qbk
==============================================================================
--- (empty file)
+++ sandbox/container_gen/libs/utility/doc/src/get_reference/doc.qbk 2012-12-20 09:08:58 EST (Thu, 20 Dec 2012)
@@ -0,0 +1,49 @@
+[article get_reference
+ [quickbook 1.5]
+ [copyright 2012 Cromwell Enage]
+ [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])
+ ]
+]
+
+
+[def __BOOST_TYPEOF__ [@boost:doc/html/typeof.refe.html#typeof `BOOST_TYPEOF`]]
+[def __BOOST_TYPEOF_TPL__ [@boost:doc/html/typeof.refe.html#typeof `BOOST_TYPEOF_TPL`]]
+[def __Default_Constructible__ [@http://www.sgi.com/tech/stl/DefaultConstructible.html [*Default Constructible]]]
+[def __boost_utility_get_reference_hpp__ [@../../../../boost/utility/get_reference.hpp boost/utility/get_reference.hpp]]
+
+[import ../../../../../boost/utility/get_reference.hpp]
+
+
+[/======================================]
+[section:func_synopsis Function Synopsis]
+[/======================================]
+
+[reference__get_reference]
+
+[endsect]
+
+
+[/=====================================]
+[section:func_desc Function Description]
+[/=====================================]
+
+Allows a __BOOST_TYPEOF__ or __BOOST_TYPEOF_TPL__ expression to obtain a
+reference to the specified type without requiring the type to be
+__Default_Constructible__.
+
+[endsect]
+
+
+[/===============================]
+[section:definition Where defined]
+[/===============================]
+
+``
+#include <__boost_utility_get_reference_hpp__>
+``
+
+[endsect]
+


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk