summaryrefslogtreecommitdiff
path: root/doc/html/boost_dll
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2016-10-06 10:41:18 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2016-10-06 10:43:11 +0900
commitf763a99a501650eff2c60288aa6f10ef916d769e (patch)
tree02af7e13f9a38c888ebf340fe764cbe7dae99da9 /doc/html/boost_dll
parent5cde13f21d36c7224b0e13d11c4b49379ae5210d (diff)
downloadboost-f763a99a501650eff2c60288aa6f10ef916d769e.tar.gz
boost-f763a99a501650eff2c60288aa6f10ef916d769e.tar.bz2
boost-f763a99a501650eff2c60288aa6f10ef916d769e.zip
Imported Upstream version 1.62.0upstream/1.62.0
Change-Id: I9d4c1ddb7b7d8f0069217ecc582700f9fda6dd4c Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'doc/html/boost_dll')
-rw-r--r--doc/html/boost_dll/acknowledgements.html10
-rw-r--r--doc/html/boost_dll/dependencies.html10
-rw-r--r--doc/html/boost_dll/design_rationale.html8
-rw-r--r--doc/html/boost_dll/f_a_q_.html50
-rw-r--r--doc/html/boost_dll/getting_started.html8
-rw-r--r--doc/html/boost_dll/limitations.html25
-rw-r--r--doc/html/boost_dll/mangled_import.html420
-rw-r--r--doc/html/boost_dll/missuses.html24
-rw-r--r--doc/html/boost_dll/reference.html160
-rw-r--r--doc/html/boost_dll/revision_history.html16
-rw-r--r--doc/html/boost_dll/tutorial.html36
11 files changed, 651 insertions, 116 deletions
diff --git a/doc/html/boost_dll/acknowledgements.html b/doc/html/boost_dll/acknowledgements.html
index 9848f79876..9acafeb4ae 100644
--- a/doc/html/boost_dll/acknowledgements.html
+++ b/doc/html/boost_dll/acknowledgements.html
@@ -4,11 +4,11 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Acknowledgements</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../boost_dll.html" title="Chapter&#160;10.&#160;Boost.DLL">
+<link rel="up" href="../boost_dll.html" title="Chapter&#160;11.&#160;Boost.DLL">
<link rel="prev" href="revision_history.html" title="Revision History">
-<link rel="next" href="../foreach.html" title="Chapter&#160;11.&#160;Boost.Foreach">
+<link rel="next" href="../foreach.html" title="Chapter&#160;12.&#160;Boost.Foreach">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -30,7 +30,7 @@
<p>
In order of helping and advising:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Renato Tegon Forti for starting the <code class="computeroutput"><span class="identifier">shared_library</span></code>
class and writing many code lines for Boost.DLL.
@@ -61,7 +61,7 @@
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015, 2016 Antony Polukhin<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015 Antony Polukhin<br>Copyright &#169; 2016 Antony Polukhin, Klemens Morgenstern<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>
diff --git a/doc/html/boost_dll/dependencies.html b/doc/html/boost_dll/dependencies.html
index 1bfea39bb7..5e86a49d0a 100644
--- a/doc/html/boost_dll/dependencies.html
+++ b/doc/html/boost_dll/dependencies.html
@@ -4,9 +4,9 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Dependencies</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../boost_dll.html" title="Chapter&#160;10.&#160;Boost.DLL">
+<link rel="up" href="../boost_dll.html" title="Chapter&#160;11.&#160;Boost.DLL">
<link rel="prev" href="design_rationale.html" title="Design Rationale">
<link rel="next" href="revision_history.html" title="Revision History">
</head>
@@ -31,7 +31,7 @@
The Boost.DLL is a header only library, but it depends on the following libraries
and they must be available in order to compile programs that use Boost.DLL:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Boost.System for the boost::system::error_code and boost::system::system_error
classes.
@@ -43,7 +43,7 @@
<p>
Refcountable part of Boost.DLL also depends on:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Boost.Function for creation of a callback system.
</li>
@@ -54,7 +54,7 @@
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015, 2016 Antony Polukhin<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015 Antony Polukhin<br>Copyright &#169; 2016 Antony Polukhin, Klemens Morgenstern<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>
diff --git a/doc/html/boost_dll/design_rationale.html b/doc/html/boost_dll/design_rationale.html
index 72184bf698..e9eff1141f 100644
--- a/doc/html/boost_dll/design_rationale.html
+++ b/doc/html/boost_dll/design_rationale.html
@@ -4,9 +4,9 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Design Rationale</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../boost_dll.html" title="Chapter&#160;10.&#160;Boost.DLL">
+<link rel="up" href="../boost_dll.html" title="Chapter&#160;11.&#160;Boost.DLL">
<link rel="prev" href="f_a_q_.html" title="F.A.Q.">
<link rel="next" href="dependencies.html" title="Dependencies">
</head>
@@ -27,7 +27,7 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_dll.design_rationale"></a><a class="link" href="design_rationale.html" title="Design Rationale">Design Rationale</a>
</h2></div></div></div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt><span class="section"><a href="design_rationale.html#boost_dll.design_rationale.abi_portability_across_compilers">ABI
portability across compilers</a></span></dt>
<dt><span class="section"><a href="design_rationale.html#boost_dll.design_rationale.user_s_plugin_api">User's
@@ -162,7 +162,7 @@
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015, 2016 Antony Polukhin<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015 Antony Polukhin<br>Copyright &#169; 2016 Antony Polukhin, Klemens Morgenstern<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>
diff --git a/doc/html/boost_dll/f_a_q_.html b/doc/html/boost_dll/f_a_q_.html
index b8a0fa94db..bfe32fd470 100644
--- a/doc/html/boost_dll/f_a_q_.html
+++ b/doc/html/boost_dll/f_a_q_.html
@@ -4,9 +4,9 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>F.A.Q.</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../boost_dll.html" title="Chapter&#160;10.&#160;Boost.DLL">
+<link rel="up" href="../boost_dll.html" title="Chapter&#160;11.&#160;Boost.DLL">
<link rel="prev" href="limitations.html" title="Limitations">
<link rel="next" href="design_rationale.html" title="Design Rationale">
</head>
@@ -27,9 +27,9 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_dll.f_a_q_"></a><a class="link" href="f_a_q_.html" title="F.A.Q.">F.A.Q.</a>
</h2></div></div></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<span class="bold"><strong>Question:</strong></span> Is Boost.DLL thread-safe?
- <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
<span class="bold"><strong>Answer:</strong></span> Some platforms allow concurrent
calls to <code class="computeroutput"><span class="identifier">dlopen</span></code> like
functions. For those platforms Boost.DLL is safe in the manner as
@@ -43,28 +43,28 @@
</li></ul></div>
</li></ul></div>
<pre class="programlisting"></pre>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<span class="bold"><strong>Question:</strong></span> Why on Linux symbols from one
plugin are seen in another? Can't get symbol with same name from right
plugin!
- <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
<span class="bold"><strong>Answer:</strong></span> You've run into the symbol
shadowing problem. Compile your plugins with "-fvisibility=hidden"
flag and take a look to the Tutorial section.
</li></ul></div>
</li></ul></div>
<pre class="programlisting"></pre>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<span class="bold"><strong>Question:</strong></span> How Unicode (Windows) is handled?
- <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
<span class="bold"><strong>Answer:</strong></span> Boost.DLL supports Unicode,
so that you could provide Unicode paths to it.
</li></ul></div>
</li></ul></div>
<pre class="programlisting"></pre>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<span class="bold"><strong>Question:</strong></span> Can I open an executable file?
- <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
<span class="bold"><strong>Answer:</strong></span> Yes, you can. Symbols need
be exported using in the executable using <code class="computeroutput"><span class="identifier">BOOST_SYMBOL_EXPORT</span></code>
or <code class="computeroutput"><span class="identifier">BOOST_DLL_ALIAS</span></code>.
@@ -75,11 +75,11 @@
</li></ul></div>
</li></ul></div>
<pre class="programlisting"></pre>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<span class="bold"><strong>Question:</strong></span> What if I specify wrong type
in <code class="computeroutput"><span class="identifier">shared_library</span><span class="special">::</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>
or <code class="computeroutput"><span class="identifier">import</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>?
- <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
<span class="bold"><strong>Answer:</strong></span> Usually you'll end up with
<code class="computeroutput"><span class="identifier">Segmentation</span> <span class="identifier">Fault</span></code>.
However it is safe to make types more strict, for example making
@@ -89,10 +89,10 @@
</li></ul></div>
</li></ul></div>
<pre class="programlisting"></pre>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<span class="bold"><strong>Question:</strong></span> Does your library guarantee
ABI stability of methods?
- <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
<span class="bold"><strong>Answer:</strong></span> Library only guarantees
that alias names created using the <code class="computeroutput"><span class="identifier">BOOST_DLL_ALIAS</span></code>
macros will not change with the change of compiler or platform. You
@@ -100,39 +100,39 @@
</li></ul></div>
</li></ul></div>
<pre class="programlisting"></pre>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<span class="bold"><strong>Question:</strong></span> Are there any function signature
restrictions for the exported/imported functions?
- <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
<span class="bold"><strong>Answer:</strong></span> No. You may import/export
functions with any signature and any return parameter.
</li></ul></div>
</li></ul></div>
<pre class="programlisting"></pre>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<span class="bold"><strong>Question:</strong></span> I have 2 plugins that use same
shared library. Would be the shared library loaded twice?
- <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
<span class="bold"><strong>Answer:</strong></span> No. Pugins will share the
shared library instance.
</li></ul></div>
</li></ul></div>
<pre class="programlisting"></pre>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<span class="bold"><strong>Question:</strong></span> I have 2 plugins each of them
must work with it's own version of <code class="computeroutput"><span class="identifier">libsome_library</span></code>
shared library. How to achieve that?
- <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
<span class="bold"><strong>Answer:</strong></span> Avoid such situations by
statically linking in the libsome_library into each plugin and loading
plugins with <code class="computeroutput"><span class="identifier">load_mode</span><span class="special">::</span><span class="identifier">rtld_deepbind</span></code>.
</li></ul></div>
</li></ul></div>
<pre class="programlisting"></pre>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<span class="bold"><strong>Question:</strong></span> How to load a shared object
from memory??
- <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
<span class="bold"><strong>Answer:</strong></span> All existing OS avoid loading
shared libraries directly from userspace memory, so you'll find no
syscall for such case. Currently Boost.DLL provides no means for
@@ -166,10 +166,10 @@
dependent.
</p>
<pre class="programlisting"></pre>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<span class="bold"><strong>Question:</strong></span> I have found a bug, how do I
notify?
- <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
<span class="bold"><strong>Answer:</strong></span> Create an <a href="https://github.com/apolukhin/Boost.DLL/issues" target="_top">issue
at GitHub</a> with a detailed description.
</li></ul></div>
@@ -177,7 +177,7 @@
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015, 2016 Antony Polukhin<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015 Antony Polukhin<br>Copyright &#169; 2016 Antony Polukhin, Klemens Morgenstern<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>
diff --git a/doc/html/boost_dll/getting_started.html b/doc/html/boost_dll/getting_started.html
index eb69d7f990..90714e7649 100644
--- a/doc/html/boost_dll/getting_started.html
+++ b/doc/html/boost_dll/getting_started.html
@@ -4,10 +4,10 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Getting started</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../boost_dll.html" title="Chapter&#160;10.&#160;Boost.DLL">
-<link rel="prev" href="../boost_dll.html" title="Chapter&#160;10.&#160;Boost.DLL">
+<link rel="up" href="../boost_dll.html" title="Chapter&#160;11.&#160;Boost.DLL">
+<link rel="prev" href="../boost_dll.html" title="Chapter&#160;11.&#160;Boost.DLL">
<link rel="next" href="tutorial.html" title="Tutorial">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -211,7 +211,7 @@
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015, 2016 Antony Polukhin<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015 Antony Polukhin<br>Copyright &#169; 2016 Antony Polukhin, Klemens Morgenstern<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>
diff --git a/doc/html/boost_dll/limitations.html b/doc/html/boost_dll/limitations.html
index 4e974af25b..a8a2b1f28b 100644
--- a/doc/html/boost_dll/limitations.html
+++ b/doc/html/boost_dll/limitations.html
@@ -4,10 +4,10 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Limitations</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../boost_dll.html" title="Chapter&#160;10.&#160;Boost.DLL">
-<link rel="prev" href="../boost/dll/import_alias.html" title="Function import_alias">
+<link rel="up" href="../boost_dll.html" title="Chapter&#160;11.&#160;Boost.DLL">
+<link rel="prev" href="../boost/dll/experimental/import_mangled.html" title="Function import_mangled">
<link rel="next" href="f_a_q_.html" title="F.A.Q.">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -21,19 +21,20 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="../boost/dll/import_alias.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_dll.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="f_a_q_.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../boost/dll/experimental/import_mangled.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_dll.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="f_a_q_.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_dll.limitations"></a><a class="link" href="limitations.html" title="Limitations">Limitations</a>
</h2></div></div></div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt><span class="section"><a href="limitations.html#boost_dll.limitations.exporting_weak_symbols__fails_on_mingw__android_">Exporting
weak symbols (Fails on MinGW, Android)</a></span></dt>
<dt><span class="section"><a href="limitations.html#boost_dll.limitations.user_defined_section_names__fails_on_sunos___oracle_solaris_studio_compilers_">User
defined section names (Fails on SunOS + Oracle Solaris Studio Compilers)</a></span></dt>
<dt><span class="section"><a href="limitations.html#boost_dll.limitations.multithread">Thread safe library
loading (Fails on FreeBSD, MacOS, iOS and some other)</a></span></dt>
+<dt><span class="section"><a href="limitations.html#boost_dll.limitations.nested">Nested Function Definitions</a></span></dt>
</dl></div>
<p>
Some platforms and compilers do not provide all the required functionality
@@ -105,10 +106,20 @@
<p>
</p>
</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_dll.limitations.nested"></a><a class="link" href="limitations.html#boost_dll.limitations.nested" title="Nested Function Definitions">Nested Function Definitions</a>
+</h3></div></div></div>
+<p>
+ If a function is defined inside the class-definition it may be interpreted
+ as always-inline which can lead to the function not being exported at all.
+ This does however differ between between compilers.
+ </p>
+</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015, 2016 Antony Polukhin<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015 Antony Polukhin<br>Copyright &#169; 2016 Antony Polukhin, Klemens Morgenstern<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>
@@ -116,7 +127,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="../boost/dll/import_alias.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_dll.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="f_a_q_.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../boost/dll/experimental/import_mangled.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_dll.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="f_a_q_.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
diff --git a/doc/html/boost_dll/mangled_import.html b/doc/html/boost_dll/mangled_import.html
new file mode 100644
index 0000000000..cb2081690e
--- /dev/null
+++ b/doc/html/boost_dll/mangled_import.html
@@ -0,0 +1,420 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Mangled Import</title>
+<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
+<link rel="up" href="../boost_dll.html" title="Chapter&#160;11.&#160;Boost.DLL">
+<link rel="prev" href="tutorial.html" title="Tutorial">
+<link rel="next" href="missuses.html" title="Missuses">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.html">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_dll.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="missuses.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_dll.mangled_import"></a><a class="link" href="mangled_import.html" title="Mangled Import">Mangled Import</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="mangled_import.html#boost_dll.mangled_import.support___requirements">Support
+ &amp; Requirements</a></span></dt>
+<dt><span class="section"><a href="mangled_import.html#boost_dll.mangled_import.mangled_import_example">Mangled
+ Import Example</a></span></dt>
+<dt><span class="section"><a href="mangled_import.html#boost_dll.mangled_import.class_import">Class Import</a></span></dt>
+<dt><span class="section"><a href="mangled_import.html#boost_dll.mangled_import.overloading_qualifiers">Overloading
+ qualifiers</a></span></dt>
+</dl></div>
+<p>
+ This section describes the experimental feature of allowing the import of mangled
+ symbols from an dll. While this feature is unique to this library and looks
+ quite promising, it is not throroughly tested and thus not considered stable.
+ </p>
+<p>
+ As a short example we can import the following functions quite easily:
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="comment">//library.dll</span>
+<span class="keyword">namespace</span> <span class="identifier">foo</span> <span class="special">{</span>
+<span class="keyword">int</span> <span class="identifier">bar</span><span class="special">(</span><span class="keyword">int</span><span class="special">);</span>
+<span class="keyword">double</span> <span class="identifier">bar</span><span class="special">(</span><span class="keyword">double</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ And the import looks like this:
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="identifier">f1</span> <span class="special">=</span> <span class="identifier">import_mangled</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">(</span><span class="keyword">int</span><span class="special">)&gt;(</span><span class="string">"library.dll"</span><span class="special">,</span> <span class="string">"foo::bar"</span><span class="special">);</span>
+<span class="keyword">auto</span> <span class="identifier">f2</span> <span class="special">=</span> <span class="identifier">import_mangled</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">(</span><span class="keyword">double</span><span class="special">)&gt;(</span><span class="string">"library.dll"</span><span class="special">,</span> <span class="string">"foo::bar"</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">f1</span><span class="special">(</span><span class="number">42</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">f2</span><span class="special">(</span><span class="number">3.2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_dll.mangled_import.support___requirements"></a><a class="link" href="mangled_import.html#boost_dll.mangled_import.support___requirements" title="Support &amp; Requirements">Support
+ &amp; Requirements</a>
+</h3></div></div></div>
+<p>
+ Currently, the Itanium ABI and the MSVC ABI are implemented. The MSVC ABI
+ requires boost.spirit.x3 support, allowing only the usage of MSVC 2015. The
+ Itanium API requires C++11.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Gcc
+ </li>
+<li class="listitem">
+ Clang
+ </li>
+<li class="listitem">
+ MSVC 2015
+ </li>
+<li class="listitem">
+ Intel C++
+ </li>
+</ul></div>
+<p>
+ The Itanium API does not import the return type of functions, nor the type
+ of global variables.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_dll.mangled_import.mangled_import_example"></a><a class="link" href="mangled_import.html#boost_dll.mangled_import.mangled_import_example" title="Mangled Import Example">Mangled
+ Import Example</a>
+</h3></div></div></div>
+<p>
+ The core of the mangled import is the <code class="computeroutput">smart_library</code>
+ class. It can import functions and variables in their mangled form; to do
+ this, the smart_library reads the entire outline of the library and demangles
+ every entry point in it. That also means, that this class should only be
+ constructed once.
+ </p>
+<p>
+ In order to import all the methods in the following library, we will use
+ the <code class="computeroutput">smart_library</code> .
+ </p>
+<p>
+ The first thing to do when creating your own plugins is define the plugin
+ interface. There is an example of an abstract class that will be our plugin
+ API:
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
+
+<span class="keyword">namespace</span> <span class="identifier">space</span> <span class="special">{</span>
+
+<span class="keyword">class</span> <span class="identifier">BOOST_SYMBOL_EXPORT</span> <span class="identifier">my_plugin</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">_name</span><span class="special">;</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">float</span> <span class="identifier">calculate</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+ <span class="keyword">int</span> <span class="identifier">calculate</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">y</span><span class="special">);</span>
+ <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">();</span>
+ <span class="identifier">my_plugin</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">name</span><span class="special">);</span>
+ <span class="identifier">my_plugin</span><span class="special">();</span>
+ <span class="special">~</span><span class="identifier">my_plugin_api</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="keyword">int</span> <span class="identifier">value</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ Alright, now we have the defintion for the plugin, so we use it in the following
+ full-fleshed example. Mind that there is a more convenient solution to import
+ member-functions which will be discussed later on. This example shows however
+ what the <code class="computeroutput">smart_lib</code> provides as features.
+ </p>
+<p>
+ At first we setup the smart library. Mind that the alias class is needed
+ to provide a type-alias for the my_plugin.
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">dll</span><span class="special">/</span><span class="identifier">smart_library</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for import_alias</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">memory</span><span class="special">&gt;</span>
+
+<span class="keyword">namespace</span> <span class="identifier">dll</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">dll</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">alias</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span> <span class="special">{</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">filesystem</span><span class="special">::</span><span class="identifier">path</span> <span class="identifier">lib_path</span><span class="special">(</span><span class="identifier">argv</span><span class="special">[</span><span class="number">1</span><span class="special">]);</span> <span class="comment">// argv[1] contains path to directory with our plugin library</span>
+ <span class="identifier">dll</span><span class="special">::</span><span class="identifier">smart_lib</span> <span class="identifier">lib</span><span class="special">(</span><span class="identifier">lib_path</span><span class="special">);</span> <span class="comment">// smart library instance</span>
+</pre>
+<p>
+ </p>
+<p>
+ In order to create the class, we will need to allocate memory. That of course
+ means, that we need to know the size; unfortunately it is not exported into
+ the dll, so we added the static size function for export. Static are used
+ as plain functions.
+ </p>
+<p>
+ So we import it, call it and allocate memory.
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="identifier">size_f</span> <span class="special">=</span> <span class="identifier">lib</span><span class="special">.</span><span class="identifier">get_function</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">()&gt;(</span><span class="string">"space::my_plugin::size"</span><span class="special">);</span> <span class="comment">//get the size function</span>
+
+<span class="keyword">auto</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">size_f</span><span class="special">();</span> <span class="comment">// get the size of the class</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">unique_ptr</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">[],</span> <span class="identifier">size</span><span class="special">&gt;</span> <span class="identifier">buffer</span><span class="special">(</span><span class="keyword">new</span> <span class="keyword">char</span><span class="special">[</span><span class="identifier">size</span><span class="special">]);</span> <span class="comment">//allocate a buffer for the import</span>
+<span class="identifier">alias</span> <span class="special">&amp;</span> <span class="identifier">inst</span> <span class="special">=</span> <span class="special">*</span><span class="keyword">reinterpret_cast</span><span class="special">&lt;</span><span class="identifier">alias</span><span class="special">*&gt;(</span><span class="identifier">buffer</span><span class="special">.</span><span class="identifier">get</span><span class="special">());</span> <span class="comment">//cast it to our alias type.</span>
+</pre>
+<p>
+ </p>
+<p>
+ Now, we have the memory size and a reference with our alias type. In order
+ to use it, we need to register the type as an alias. That will allow the
+ smart library to resolve the type name.
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="identifier">lib</span><span class="special">.</span><span class="identifier">add_type_alias</span><span class="special">(</span><span class="string">"space::my_plugin"</span><span class="special">);</span> <span class="comment">//add an alias, so i can import a class that is not declared here</span>
+</pre>
+<p>
+ </p>
+<p>
+ In order to use the class, we of course need to initialize it, i.e. call
+ the constructor. The Itanium ABI may also implement an allocating constructor.
+ That is why a constructor may have two functions; since we already have allocated
+ the memory we use the standard constructor version, of the constructor from
+ string. So we select the constructor by passing the signature.
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="identifier">ctor</span> <span class="special">=</span> <span class="identifier">lib</span><span class="special">.</span><span class="identifier">get_constructor</span><span class="special">&lt;</span><span class="identifier">alias</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;)&gt;();</span> <span class="comment">//get the constructor</span>
+<span class="identifier">ctor</span><span class="special">.</span><span class="identifier">call_standard</span><span class="special">(&amp;</span><span class="identifier">inst</span><span class="special">,</span> <span class="string">"MyName"</span><span class="special">);</span> <span class="comment">//call the non-allocating constructor. The allocating-constructor is a non-portable feature</span>
+</pre>
+<p>
+ </p>
+<p>
+ So since the class is now initialized, we can call the name method. If the
+ function is const and/or volatile the type parameter passed as type must
+ have the same qualifiers.
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="identifier">name_f</span> <span class="special">=</span> <span class="identifier">lib</span><span class="special">.</span><span class="identifier">get_mem_fn</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">alias</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">()&gt;(</span><span class="string">"name"</span><span class="special">);//</span><span class="identifier">import</span> <span class="identifier">the</span> <span class="identifier">name</span> <span class="identifier">function</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Name Call: "</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">inst</span><span class="special">.*</span><span class="identifier">name_f</span><span class="special">)()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ Overloaded functions can only be imported seperately.
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="comment">//import both calculate functions</span>
+<span class="keyword">auto</span> <span class="identifier">calc_f</span> <span class="special">=</span> <span class="identifier">lib</span><span class="special">.</span><span class="identifier">get_mem_fn</span><span class="special">&lt;</span><span class="identifier">alias</span><span class="special">,</span> <span class="keyword">float</span><span class="special">(</span><span class="keyword">float</span><span class="special">,</span> <span class="keyword">float</span><span class="special">)&gt;(</span><span class="string">"calculate"</span><span class="special">);</span>
+<span class="keyword">auto</span> <span class="identifier">calc_i</span> <span class="special">=</span> <span class="identifier">lib</span><span class="special">.</span><span class="identifier">get_mem_fn</span><span class="special">&lt;</span><span class="identifier">alias</span><span class="special">,</span> <span class="keyword">int</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)&gt;</span> <span class="special">(</span><span class="string">"calculate"</span><span class="special">);</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"calc(float): "</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">inst</span><span class="special">.*</span><span class="identifier">calc_f</span><span class="special">)(</span><span class="number">5.</span><span class="special">,</span> <span class="number">2.</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"calc(int) : "</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">inst</span><span class="special">.*</span><span class="identifier">calc_f</span><span class="special">)(</span><span class="number">5</span><span class="special">,</span> <span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ Import of static variable is done like with plain variable.
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="special">&amp;</span> <span class="identifier">var</span> <span class="special">=</span> <span class="identifier">lib</span><span class="special">.</span><span class="identifier">get_variable</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="string">"space::my_plugin::value"</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"value "</span> <span class="special">&lt;&lt;</span> <span class="identifier">var</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ Since we are finished, we call the desctructor of the class.
+ </p>
+<p>
+</p>
+<pre class="programlisting"> <span class="keyword">auto</span> <span class="identifier">dtor</span> <span class="special">=</span> <span class="identifier">lib</span><span class="special">.</span><span class="identifier">get_destructor</span><span class="special">&lt;</span><span class="identifier">alias</span><span class="special">&gt;();</span> <span class="comment">//get the destructor</span>
+ <span class="identifier">dtor</span><span class="special">.</span><span class="identifier">call_standard</span><span class="special">(&amp;</span><span class="identifier">inst</span><span class="special">);</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"plugin-&gt;calculate(1.5, 1.5) call: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">plugin</span><span class="special">-&gt;</span><span class="identifier">calculate</span><span class="special">(</span><span class="number">1.5</span><span class="special">,</span> <span class="number">1.5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ <a class="link" href="mangled_import.html" title="Mangled Import">Back to the Top</a>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_dll.mangled_import.class_import"></a><a class="link" href="mangled_import.html#boost_dll.mangled_import.class_import" title="Class Import">Class Import</a>
+</h3></div></div></div>
+<p>
+ Now it is demonstrated, how mangled and methods may be imported. This is
+ however a rather versatile way, so an easier interface is provided, which
+ also allows access to the type_info of an object.
+ </p>
+<p>
+ We will take the same class and import the same methods, but do it with the
+ import features.
+ </p>
+<p>
+ We put the library into a shared_pointer, because every import will hold
+ such a pointer to it. That is, we do not want to copy it.
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">dll</span><span class="special">/</span><span class="identifier">smart_library</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">dll</span><span class="special">/</span><span class="identifier">import_mangled</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">dll</span><span class="special">/</span><span class="identifier">import_class</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span> <span class="special">{</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">filesystem</span><span class="special">::</span><span class="identifier">path</span> <span class="identifier">lib_path</span><span class="special">(</span><span class="identifier">argv</span><span class="special">[</span><span class="number">1</span><span class="special">]);</span> <span class="comment">// argv[1] contains path to directory with our plugin library</span>
+ <span class="identifier">smart_library</span> <span class="identifier">lib</span><span class="special">(</span><span class="identifier">lib_path</span><span class="special">);//</span> <span class="identifier">smart</span> <span class="identifier">library</span> <span class="identifier">instance</span>
+</pre>
+<p>
+ </p>
+<p>
+ Similar to the previous example, we need the size of the class.
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="identifier">size_f</span> <span class="special">=</span> <span class="identifier">import_mangled</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">()&gt;(</span><span class="string">"space::my_plugin::size"</span><span class="special">);</span> <span class="comment">//get the size function</span>
+
+<span class="keyword">auto</span> <span class="identifier">size</span> <span class="special">=</span> <span class="special">(*</span><span class="identifier">size_f</span><span class="special">)();</span> <span class="comment">// get the size of the class</span>
+</pre>
+<p>
+ </p>
+<p>
+ On a side note, we can also import variable easily with that function.
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="identifier">value</span> <span class="special">=</span> <span class="identifier">import_mangled</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">lib</span><span class="special">,</span> <span class="string">"space::my_plugin::value"</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ We do the forward declaration on the first call, and invoke the constructor
+ directly. This is quite simple and allows to invoke the constructor directly.
+ The destructor will be invoked automatically.
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="identifier">cl</span> <span class="special">=</span> <span class="identifier">import_class</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">alias</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;&gt;(</span><span class="identifier">lib</span><span class="special">,</span> <span class="string">"space::my_plugin::some_class"</span><span class="special">,</span> <span class="identifier">size</span><span class="special">,</span> <span class="string">"MyName"</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ Invoking a function will still require to import it first.
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="identifier">name</span> <span class="special">=</span> <span class="identifier">import_mangled</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">alias</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">()&gt;(</span><span class="identifier">lib</span><span class="special">,</span> <span class="string">"name"</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Name: "</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">cl</span><span class="special">-&gt;*</span><span class="identifier">name</span><span class="special">)()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ For overloaded functions, we can import them as groups, which will give us
+ an object containing the overloads.
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="identifier">calc</span> <span class="special">=</span> <span class="identifier">import_mangled</span><span class="special">&lt;</span><span class="identifier">alias</span><span class="special">,</span> <span class="keyword">float</span><span class="special">(</span><span class="keyword">float</span><span class="special">,</span> <span class="keyword">float</span><span class="special">),</span> <span class="keyword">int</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)&gt;(</span><span class="identifier">lib</span><span class="special">,</span> <span class="string">"calculate"</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Calc(float): "</span> <span class="special">(</span><span class="identifier">cl</span><span class="special">-&gt;*</span><span class="identifier">calc</span><span class="special">)(</span><span class="number">5.f</span><span class="special">,</span> <span class="number">2.f</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Calc(int): "</span> <span class="special">(</span><span class="identifier">cl</span><span class="special">-&gt;*</span><span class="identifier">calc</span><span class="special">)(</span><span class="number">5</span><span class="special">,</span> <span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ Additionally, we can access the typeinfo like this.
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="special">&amp;</span><span class="identifier">ti</span> <span class="special">=</span> <span class="identifier">cl</span><span class="special">.</span><span class="identifier">get_type_info</span><span class="special">();</span>
+</pre>
+<p>
+ </p>
+<p>
+ <a class="link" href="mangled_import.html" title="Mangled Import">Back to the Top</a>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_dll.mangled_import.overloading_qualifiers"></a><a class="link" href="mangled_import.html#boost_dll.mangled_import.overloading_qualifiers" title="Overloading qualifiers">Overloading
+ qualifiers</a>
+</h3></div></div></div>
+<p>
+ Not handled in the example was the question, of how it is handled if the
+ qualification differs for an overloaded function. This can be done, by passing
+ the class again with another qualification - a function signature will always
+ pick the last one provided.
+ </p>
+<p>
+ If we have this in our plugin:
+</p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">plugin</span>
+<span class="special">{</span>
+ <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">int</span><span class="special">);</span>
+ <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">double</span><span class="special">);</span>
+ <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">void</span> <span class="identifier">f</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">void</span> <span class="identifier">f</span><span class="special">()</span> <span class="keyword">volatile</span><span class="special">;</span>
+ <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span> <span class="keyword">volatile</span><span class="special">;</span>
+ <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">double</span><span class="special">);</span> <span class="keyword">const</span> <span class="keyword">volatile</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ </p>
+<p>
+ we can import them all at once, with the following command:
+ </p>
+<p>
+</p>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="identifier">f</span> <span class="special">=</span> <span class="identifier">import_class</span><span class="special">&lt;</span>
+ <span class="identifier">alias</span><span class="special">,</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">int</span><span class="special">),</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">double</span><span class="special">),</span> <span class="comment">//not qualified</span>
+ <span class="keyword">const</span> <span class="identifier">alias</span><span class="special">,</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">int</span><span class="special">),</span> <span class="identifier">f</span><span class="special">(),</span> <span class="comment">//const</span>
+ <span class="keyword">volatile</span> <span class="identifier">alias</span><span class="special">,</span> <span class="identifier">f</span><span class="special">(),</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">int</span><span class="special">),</span> <span class="comment">//volatile</span>
+ <span class="keyword">const</span> <span class="keyword">volatile</span> <span class="identifier">alias</span><span class="special">,</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">double</span><span class="special">)//</span><span class="keyword">const</span> <span class="keyword">volatile</span>
+ <span class="special">&gt;(</span><span class="identifier">lib</span><span class="special">,</span> <span class="string">"f"</span><span class="special">);</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"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015 Antony Polukhin<br>Copyright &#169; 2016 Antony Polukhin, Klemens Morgenstern<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></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_dll.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="missuses.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_dll/missuses.html b/doc/html/boost_dll/missuses.html
index 6b7f29dd63..45c08ffe28 100644
--- a/doc/html/boost_dll/missuses.html
+++ b/doc/html/boost_dll/missuses.html
@@ -4,10 +4,10 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Missuses</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../boost_dll.html" title="Chapter&#160;10.&#160;Boost.DLL">
-<link rel="prev" href="tutorial.html" title="Tutorial">
+<link rel="up" href="../boost_dll.html" title="Chapter&#160;11.&#160;Boost.DLL">
+<link rel="prev" href="mangled_import.html" title="Mangled Import">
<link rel="next" href="reference.html" title="Reference">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -21,7 +21,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="tutorial.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_dll.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="mangled_import.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_dll.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -37,7 +37,7 @@
this will save a lot of debugging time!
</p></td></tr>
</table></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<span class="bold"><strong>Issue:</strong></span> Program crashes on <code class="computeroutput"><span class="keyword">delete</span></code> or <code class="computeroutput"><span class="identifier">free</span><span class="special">()</span></code>.
</li>
@@ -49,7 +49,7 @@
</li>
</ul></div>
<pre class="programlisting"></pre>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<span class="bold"><strong>Issue:</strong></span> Program crashes in <code class="computeroutput"><span class="keyword">catch</span><span class="special">(...)</span></code>
block.
@@ -82,7 +82,7 @@
</li>
</ul></div>
<pre class="programlisting"></pre>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<span class="bold"><strong>Issue:</strong></span> Thread local storage seems to be
corrupted.
@@ -94,7 +94,7 @@
</li>
</ul></div>
<pre class="programlisting"></pre>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<span class="bold"><strong>Issue:</strong></span> Attempt to call a loaded function
crashes or function returns incorrect result.
@@ -107,7 +107,7 @@
</li>
</ul></div>
<pre class="programlisting"></pre>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<span class="bold"><strong>Issue:</strong></span> Program crashes after plugin unload.
</li>
@@ -142,7 +142,7 @@
</li>
<li class="listitem">
<span class="bold"><strong>Typical classes that cause such errors are:</strong></span>
- <div class="itemizedlist"><ul class="itemizedlist" type="circle">
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
<li class="listitem">
<code class="computeroutput"><span class="identifier">any</span></code>
</li>
@@ -179,7 +179,7 @@
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015, 2016 Antony Polukhin<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015 Antony Polukhin<br>Copyright &#169; 2016 Antony Polukhin, Klemens Morgenstern<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>
@@ -187,7 +187,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="tutorial.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_dll.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="mangled_import.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_dll.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
diff --git a/doc/html/boost_dll/reference.html b/doc/html/boost_dll/reference.html
index a050a599ec..070a18f1d9 100644
--- a/doc/html/boost_dll/reference.html
+++ b/doc/html/boost_dll/reference.html
@@ -4,9 +4,9 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Reference</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../boost_dll.html" title="Chapter&#160;10.&#160;Boost.DLL">
+<link rel="up" href="../boost_dll.html" title="Chapter&#160;11.&#160;Boost.DLL">
<link rel="prev" href="missuses.html" title="Missuses">
<link rel="next" href="../BOOST_DLL_FORCE_ALIAS_INSTANTIATION.html" title="Macro BOOST_DLL_FORCE_ALIAS_INSTANTIATION">
</head>
@@ -27,14 +27,14 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_dll.reference"></a><a class="link" href="reference.html" title="Reference">Reference</a>
</h2></div></div></div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt><span class="section"><a href="reference.html#shared_library_reference">Shared Library Reference</a></span></dt>
<dt><span class="section"><a href="reference.html#shared_library_refcountable_reference">Shared Library Refcountable Reference</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="shared_library_reference"></a>Shared Library Reference</h3></div></div></div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt><span class="section"><a href="reference.html#header.boost.dll.alias_hpp">Header &lt;boost/dll/alias.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.dll.library_info_hpp">Header &lt;boost/dll/library_info.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.dll.runtime_symbol_info_hpp">Header &lt;boost/dll/runtime_symbol_info.hpp&gt;</a></span></dt>
@@ -44,7 +44,7 @@
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="header.boost.dll.alias_hpp"></a>Header &lt;<a href="../../../boost/dll/alias.hpp" target="_top">boost/dll/alias.hpp</a>&gt;</h4></div></div></div>
+<a name="header.boost.dll.alias_hpp"></a>Header &lt;<a href="http://www.boost.org/doc/libs/1_60_0/boost/dll/alias.hpp" target="_top">boost/dll/alias.hpp</a>&gt;</h4></div></div></div>
<p>Includes alias methods and macro. You can include this header or boost/dll/shared_library.hpp to reduce dependencies in case you do not use the refcountable functions. </p>
<pre class="synopsis">
@@ -58,7 +58,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="header.boost.dll.library_info_hpp"></a>Header &lt;<a href="../../../boost/dll/library_info.hpp" target="_top">boost/dll/library_info.hpp</a>&gt;</h4></div></div></div>
+<a name="header.boost.dll.library_info_hpp"></a>Header &lt;<a href="http://www.boost.org/doc/libs/1_60_0/boost/dll/library_info.hpp" target="_top">boost/dll/library_info.hpp</a>&gt;</h4></div></div></div>
<p>Contains only the <a class="link" href="../boost/dll/library_info.html" title="Class library_info">boost::dll::library_info</a> class that is capable of extracting different information from binaries. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
<span class="keyword">namespace</span> <span class="identifier">dll</span> <span class="special">{</span>
@@ -68,7 +68,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="header.boost.dll.runtime_symbol_info_hpp"></a>Header &lt;<a href="../../../boost/dll/runtime_symbol_info.hpp" target="_top">boost/dll/runtime_symbol_info.hpp</a>&gt;</h4></div></div></div>
+<a name="header.boost.dll.runtime_symbol_info_hpp"></a>Header &lt;<a href="http://www.boost.org/doc/libs/1_60_0/boost/dll/runtime_symbol_info.hpp" target="_top">boost/dll/runtime_symbol_info.hpp</a>&gt;</h4></div></div></div>
<p>Provides methods for getting acceptable by <a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">boost::dll::shared_library</a> location of symbol, source line or program. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
<span class="keyword">namespace</span> <span class="identifier">dll</span> <span class="special">{</span>
@@ -85,29 +85,29 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="header.boost.dll.shared_library_hpp"></a>Header &lt;<a href="../../../boost/dll/shared_library.hpp" target="_top">boost/dll/shared_library.hpp</a>&gt;</h4></div></div></div>
+<a name="header.boost.dll.shared_library_hpp"></a>Header &lt;<a href="http://www.boost.org/doc/libs/1_60_0/boost/dll/shared_library.hpp" target="_top">boost/dll/shared_library.hpp</a>&gt;</h4></div></div></div>
<p>Contains the <a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">boost::dll::shared_library</a> class, core class for all the DLL/DSO operations. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
<span class="keyword">namespace</span> <span class="identifier">dll</span> <span class="special">{</span>
<span class="keyword">class</span> <a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">shared_library</a><span class="special">;</span>
<span class="comment">// Very fast equality check that compares the actual DLL/DSO objects. Throws nothing. </span>
- <span class="keyword">bool</span> <a name="boost.dll.operator==_idp77511168"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">shared_library</a> <span class="special">&amp;</span> lhs<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">shared_library</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
+ <span class="keyword">bool</span> <a name="boost.dll.operator_idm45899629161264"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">shared_library</a> <span class="special">&amp;</span> lhs<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">shared_library</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
<span class="comment">// Very fast inequality check that compares the actual DLL/DSO objects. Throws nothing. </span>
- <span class="keyword">bool</span> <a name="boost.dll.operator!=_idp87040208"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">shared_library</a> <span class="special">&amp;</span> lhs<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">shared_library</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
+ <span class="keyword">bool</span> <a name="boost.dll.operator_idm45899629157792"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">shared_library</a> <span class="special">&amp;</span> lhs<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">shared_library</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
<span class="comment">// Compare the actual DLL/DSO objects without any guarantee to be stable between runs. Throws nothing. </span>
- <span class="keyword">bool</span> <a name="boost.dll.operator_idp87043584"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">shared_library</a> <span class="special">&amp;</span> lhs<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">shared_library</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
+ <span class="keyword">bool</span> <a name="boost.dll.operator_idm45899629154320"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">shared_library</a> <span class="special">&amp;</span> lhs<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">shared_library</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
<span class="comment">// Swaps two shared libraries. Does not invalidate symbols and functions loaded from libraries. Throws nothing. </span>
- <span class="keyword">void</span> <a name="boost.dll.swap_idp87047072"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">shared_library</a> <span class="special">&amp;</span> lhs<span class="special">,</span> <a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">shared_library</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
+ <span class="keyword">void</span> <a name="boost.dll.swap_idm45899629150832"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">shared_library</a> <span class="special">&amp;</span> lhs<span class="special">,</span> <a class="link" href="../boost/dll/shared_library.html" title="Class shared_library">shared_library</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="header.boost.dll.shared_library_load_mode_hpp"></a>Header &lt;<a href="../../../boost/dll/shared_library_load_mode.hpp" target="_top">boost/dll/shared_library_load_mode.hpp</a>&gt;</h4></div></div></div>
+<a name="header.boost.dll.shared_library_load_mode_hpp"></a>Header &lt;<a href="http://www.boost.org/doc/libs/1_60_0/boost/dll/shared_library_load_mode.hpp" target="_top">boost/dll/shared_library_load_mode.hpp</a>&gt;</h4></div></div></div>
<p>Contains only the boost::dll::load_mode::type enum and operators related to it. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
<span class="keyword">namespace</span> <span class="identifier">dll</span> <span class="special">{</span>
@@ -115,20 +115,20 @@
<span class="keyword">enum</span> <a class="link" href="../boost/dll/load_mode/type.html" title="Type type">type</a><span class="special">;</span>
<span class="comment">// Free operators for load_mode::type flag manipulation. </span>
- <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">type</span> <a name="boost.dll.load_mode.operator_idp71035728"></a><span class="keyword">operator</span><span class="special">|</span><span class="special">(</span><span class="identifier">type</span> left<span class="special">,</span> <span class="identifier">type</span> right<span class="special">)</span><span class="special">;</span>
- <span class="identifier">BOOST_CXX14_CONSTEXPR</span> <span class="identifier">type</span> <span class="special">&amp;</span> <a name="boost.dll.load_mode.operator_=_idp71038208"></a><span class="keyword">operator</span><span class="special">|=</span><span class="special">(</span><span class="identifier">type</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">type</span> right<span class="special">)</span><span class="special">;</span>
- <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">type</span> <a name="boost.dll.load_mode.operator&amp;_idp71040448"></a><span class="keyword">operator</span><span class="special">&amp;</span><span class="special">(</span><span class="identifier">type</span> left<span class="special">,</span> <span class="identifier">type</span> right<span class="special">)</span><span class="special">;</span>
- <span class="identifier">BOOST_CXX14_CONSTEXPR</span> <span class="identifier">type</span> <span class="special">&amp;</span> <a name="boost.dll.load_mode.operator&amp;=_idp15251712"></a><span class="keyword">operator</span><span class="special">&amp;=</span><span class="special">(</span><span class="identifier">type</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">type</span> right<span class="special">)</span><span class="special">;</span>
- <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">type</span> <a name="boost.dll.load_mode.operator%5E_idp15253952"></a><span class="keyword">operator</span><span class="special">^</span><span class="special">(</span><span class="identifier">type</span> left<span class="special">,</span> <span class="identifier">type</span> right<span class="special">)</span><span class="special">;</span>
- <span class="identifier">BOOST_CXX14_CONSTEXPR</span> <span class="identifier">type</span> <span class="special">&amp;</span> <a name="boost.dll.load_mode.operator%5E=_idp15256176"></a><span class="keyword">operator</span><span class="special">^=</span><span class="special">(</span><span class="identifier">type</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">type</span> right<span class="special">)</span><span class="special">;</span>
- <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">type</span> <a name="boost.dll.load_mode.operator~_idp67698784"></a><span class="keyword">operator</span><span class="special">~</span><span class="special">(</span><span class="identifier">type</span> left<span class="special">)</span><span class="special">;</span>
+ <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">type</span> <a name="boost.dll.load_mode.operator_idm45899629108656"></a><span class="keyword">operator</span><span class="special">|</span><span class="special">(</span><span class="identifier">type</span> left<span class="special">,</span> <span class="identifier">type</span> right<span class="special">)</span><span class="special">;</span>
+ <span class="identifier">BOOST_CXX14_CONSTEXPR</span> <span class="identifier">type</span> <span class="special">&amp;</span> <a name="boost.dll.load_mode.operator_idm45899629106112"></a><span class="keyword">operator</span><span class="special">|=</span><span class="special">(</span><span class="identifier">type</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">type</span> right<span class="special">)</span><span class="special">;</span>
+ <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">type</span> <a name="boost.dll.load_mode.operator&amp;"></a><span class="keyword">operator</span><span class="special">&amp;</span><span class="special">(</span><span class="identifier">type</span> left<span class="special">,</span> <span class="identifier">type</span> right<span class="special">)</span><span class="special">;</span>
+ <span class="identifier">BOOST_CXX14_CONSTEXPR</span> <span class="identifier">type</span> <span class="special">&amp;</span> <a name="boost.dll.load_mode.operator&amp;="></a><span class="keyword">operator</span><span class="special">&amp;=</span><span class="special">(</span><span class="identifier">type</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">type</span> right<span class="special">)</span><span class="special">;</span>
+ <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">type</span> <a name="boost.dll.load_mode.operator%5E"></a><span class="keyword">operator</span><span class="special">^</span><span class="special">(</span><span class="identifier">type</span> left<span class="special">,</span> <span class="identifier">type</span> right<span class="special">)</span><span class="special">;</span>
+ <span class="identifier">BOOST_CXX14_CONSTEXPR</span> <span class="identifier">type</span> <span class="special">&amp;</span> <a name="boost.dll.load_mode.operator%5E="></a><span class="keyword">operator</span><span class="special">^=</span><span class="special">(</span><span class="identifier">type</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">type</span> right<span class="special">)</span><span class="special">;</span>
+ <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">type</span> <a name="boost.dll.load_mode.operator~"></a><span class="keyword">operator</span><span class="special">~</span><span class="special">(</span><span class="identifier">type</span> left<span class="special">)</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="header.boost.dll.smart_library_hpp"></a>Header &lt;<a href="../../../boost/dll/smart_library.hpp" target="_top">boost/dll/smart_library.hpp</a>&gt;</h4></div></div></div>
+<a name="header.boost.dll.smart_library_hpp"></a>Header &lt;<a href="http://www.boost.org/doc/libs/1_60_0/boost/dll/smart_library.hpp" target="_top">boost/dll/smart_library.hpp</a>&gt;</h4></div></div></div>
<p>Contains the <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">boost::dll::experimental::smart_library</a> class for loading mangled symbols. </p>
<div class="warning"><table border="0" summary="Warning">
<tr>
@@ -145,16 +145,26 @@
<span class="keyword">class</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a><span class="special">;</span>
<span class="comment">// Very fast equality check that compares the actual DLL/DSO objects. Throws nothing. </span>
- <span class="keyword">bool</span> <a name="boost.dll.experimental.operator==_idp69813728"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> lhs<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
+ <span class="keyword">bool</span> <a name="boost.dll.experimental.operator_idm45899628945072"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> lhs<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
<span class="comment">// Very fast inequality check that compares the actual DLL/DSO objects. Throws nothing. </span>
- <span class="keyword">bool</span> <a name="boost.dll.experimental.operator!=_idp8065040"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> lhs<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
+ <span class="keyword">bool</span> <a name="boost.dll.experimental.operator_idm45899628941600"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> lhs<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
<span class="comment">// Compare the actual DLL/DSO objects without any guarantee to be stable between runs. Throws nothing. </span>
- <span class="keyword">bool</span> <a name="boost.dll.experimental.operator_idp8068416"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> lhs<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
+ <span class="keyword">bool</span> <a name="boost.dll.experimental.operator_idm45899628938128"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> lhs<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
<span class="comment">// Swaps two shared libraries. Does not invalidate symbols and functions loaded from libraries. Throws nothing. </span>
- <span class="keyword">void</span> <a name="boost.dll.experimental.swap_idp8071904"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> lhs<span class="special">,</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
+ <span class="keyword">void</span> <a name="boost.dll.experimental.swap_idm45899628934640"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> lhs<span class="special">,</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> T2<span class="special">&gt;</span>
+ <span class="keyword">void</span> <a class="link" href="../boost/dll/experimental/get_idm45899628931456.html" title="Function template get"><span class="identifier">get</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span>
+ <span class="identifier">T</span> <span class="special">&amp;</span> <a name="boost.dll.experimental.get_idm45899628923824"></a><span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> sm<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> name<span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_object</span><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span><span class="special">,</span> <span class="identifier">T</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="keyword">nullptr</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span>
+ <span class="keyword">auto</span> <a name="boost.dll.experimental.get_idm45899628919280"></a><span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span> sm<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> name<span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_function</span><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="keyword">nullptr</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Class<span class="special">,</span> <span class="keyword">typename</span> Signature<span class="special">&gt;</span>
+ <span class="keyword">auto</span> <a class="link" href="../boost/dll/experimental/get_idm45899628914736.html" title="Function template get"><span class="identifier">get</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/dll/experimental/smart_library.html" title="Class smart_library">smart_library</a> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">}</span>
<span class="special">}</span></pre>
@@ -163,10 +173,14 @@
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="shared_library_refcountable_reference"></a>Shared Library Refcountable Reference</h3></div></div></div>
-<div class="toc"><dl><dt><span class="section"><a href="reference.html#header.boost.dll.import_hpp">Header &lt;boost/dll/import.hpp&gt;</a></span></dt></dl></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="reference.html#header.boost.dll.import_hpp">Header &lt;boost/dll/import.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#header.boost.dll.import_class_hpp">Header &lt;boost/dll/import_class.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="reference.html#header.boost.dll.import_mangled_hpp">Header &lt;boost/dll/import_mangled.hpp&gt;</a></span></dt>
+</dl></div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="header.boost.dll.import_hpp"></a>Header &lt;<a href="../../../boost/dll/import.hpp" target="_top">boost/dll/import.hpp</a>&gt;</h4></div></div></div>
+<a name="header.boost.dll.import_hpp"></a>Header &lt;<a href="http://www.boost.org/doc/libs/1_60_0/boost/dll/import.hpp" target="_top">boost/dll/import.hpp</a>&gt;</h4></div></div></div>
<p>Contains all the boost::dll::import* reference counting functions that hold a shared pointer to the instance of boost::dll::shared_library. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
<span class="keyword">namespace</span> <span class="identifier">dll</span> <span class="special">{</span>
@@ -201,11 +215,101 @@
<span class="special">}</span>
<span class="special">}</span></pre>
</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.dll.import_class_hpp"></a>Header &lt;<a href="http://www.boost.org/doc/libs/1_60_0/boost/dll/import_class.hpp" target="_top">boost/dll/import_class.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">dll</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">experimental</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../boost/dll/experimental/imported_class.html" title="Class template imported_class">imported_class</a><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/imported_class.html" title="Class template imported_class">imported_class</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/import_c_idm45899629424512.html" title="Function import_class"><span class="identifier">import_class</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">smart_library</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/imported_class.html" title="Class template imported_class">imported_class</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/import_c_idm45899629424512.html" title="Function import_class"><span class="identifier">import_class</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">smart_library</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span><span class="special">,</span>
+ <span class="identifier">Args</span><span class="special">...</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/imported_class.html" title="Class template imported_class">imported_class</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/import_c_idm45899629424512.html" title="Function import_class"><span class="identifier">import_class</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">smart_library</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span>
+ <span class="identifier">Args</span><span class="special">...</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/imported_class.html" title="Class template imported_class">imported_class</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="../boost/dll/experimental/import_c_idm45899629424512.html" title="Function import_class"><span class="identifier">import_class</span></a><span class="special">(</span><span class="identifier">smart_library</span> <span class="special">&amp;&amp;</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/imported_class.html" title="Class template imported_class">imported_class</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/import_c_idm45899629424512.html" title="Function import_class"><span class="identifier">import_class</span></a><span class="special">(</span><span class="identifier">smart_library</span> <span class="special">&amp;&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/imported_class.html" title="Class template imported_class">imported_class</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/import_c_idm45899629424512.html" title="Function import_class"><span class="identifier">import_class</span></a><span class="special">(</span><span class="identifier">smart_library</span> <span class="special">&amp;&amp;</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/imported_class.html" title="Class template imported_class">imported_class</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/import_c_idm45899629424512.html" title="Function import_class"><span class="identifier">import_class</span></a><span class="special">(</span><span class="identifier">smart_library</span> <span class="special">&amp;&amp;</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span><span class="special">,</span>
+ <span class="identifier">Args</span><span class="special">...</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/imported_class.html" title="Class template imported_class">imported_class</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/import_c_idm45899629424512.html" title="Function import_class"><span class="identifier">import_class</span></a><span class="special">(</span><span class="identifier">smart_library</span> <span class="special">&amp;&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span>
+ <span class="identifier">Args</span><span class="special">...</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/imported_class.html" title="Class template imported_class">imported_class</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a name="boost.dll.experimental.import_c_idm45899628880816"></a><span class="identifier">import_class</span><span class="special">(</span><span class="identifier">smart_library</span> <span class="special">&amp;</span> lib<span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> args<span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/imported_class.html" title="Class template imported_class">imported_class</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span>
+ <a name="boost.dll.experimental.import_c_idm45899628877056"></a><span class="identifier">import_class</span><span class="special">(</span><span class="identifier">smart_library</span> <span class="special">&amp;</span> lib<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> alias_name<span class="special">,</span>
+ <span class="identifier">Args</span><span class="special">...</span> args<span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/imported_class.html" title="Class template imported_class">imported_class</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span>
+ <a name="boost.dll.experimental.import_c_idm45899628872672"></a><span class="identifier">import_class</span><span class="special">(</span><span class="identifier">smart_library</span> <span class="special">&amp;</span> lib<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> size<span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> args<span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/imported_class.html" title="Class template imported_class">imported_class</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span>
+ <a name="boost.dll.experimental.import_c_idm45899628868288"></a><span class="identifier">import_class</span><span class="special">(</span><span class="identifier">smart_library</span> <span class="special">&amp;</span> lib<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> size<span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> alias_name<span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> args<span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <a class="link" href="../boost/dll/experimental/imported_class.html" title="Class template imported_class">imported_class</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span>
+ <a name="boost.dll.experimental.import_c_idm45899628863280"></a><span class="identifier">import_class</span><span class="special">(</span><span class="identifier">smart_library</span> <span class="special">&amp;</span> lib<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> alias_name<span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> size<span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> args<span class="special">)</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="header.boost.dll.import_mangled_hpp"></a>Header &lt;<a href="http://www.boost.org/doc/libs/1_60_0/boost/dll/import_mangled.hpp" target="_top">boost/dll/import_mangled.hpp</a>&gt;</h4></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">dll</span> <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">experimental</span> <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <a class="link" href="../boost/dll/experimental/import_mangled.html" title="Function import_mangled"><span class="identifier">import_mangled</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">filesystem</span><span class="special">::</span><span class="identifier">path</span> <span class="special">&amp;</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="special">,</span>
+ <span class="identifier">load_mode</span><span class="special">::</span><span class="identifier">type</span> <span class="special">=</span> <span class="identifier">load_mode</span><span class="special">::</span><span class="identifier">default_mode</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <a class="link" href="../boost/dll/experimental/import_mangled.html" title="Function import_mangled"><span class="identifier">import_mangled</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">filesystem</span><span class="special">::</span><span class="identifier">path</span> <span class="special">&amp;</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span><span class="special">,</span>
+ <span class="identifier">load_mode</span><span class="special">::</span><span class="identifier">type</span> <span class="special">=</span> <span class="identifier">load_mode</span><span class="special">::</span><span class="identifier">default_mode</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <a class="link" href="../boost/dll/experimental/import_mangled.html" title="Function import_mangled"><span class="identifier">import_mangled</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">smart_library</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <a class="link" href="../boost/dll/experimental/import_mangled.html" title="Function import_mangled"><span class="identifier">import_mangled</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">smart_library</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <a class="link" href="../boost/dll/experimental/import_mangled.html" title="Function import_mangled"><span class="identifier">import_mangled</span></a><span class="special">(</span><span class="identifier">smart_library</span> <span class="special">&amp;&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <a class="link" href="../boost/dll/experimental/import_mangled.html" title="Function import_mangled"><span class="identifier">import_mangled</span></a><span class="special">(</span><span class="identifier">smart_library</span> <span class="special">&amp;&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <a class="link" href="../boost/dll/experimental/import_mangled.html" title="Function import_mangled"><span class="identifier">import_mangled</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">shared_library</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <a class="link" href="../boost/dll/experimental/import_mangled.html" title="Function import_mangled"><span class="identifier">import_mangled</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">shared_library</span> <span class="special">&amp;</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <a class="link" href="../boost/dll/experimental/import_mangled.html" title="Function import_mangled"><span class="identifier">import_mangled</span></a><span class="special">(</span><span class="identifier">shared_library</span> <span class="special">&amp;&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <a class="link" href="../boost/dll/experimental/import_mangled.html" title="Function import_mangled"><span class="identifier">import_mangled</span></a><span class="special">(</span><span class="identifier">shared_library</span> <span class="special">&amp;&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">}</span></pre>
+</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015, 2016 Antony Polukhin<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015 Antony Polukhin<br>Copyright &#169; 2016 Antony Polukhin, Klemens Morgenstern<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>
diff --git a/doc/html/boost_dll/revision_history.html b/doc/html/boost_dll/revision_history.html
index f6151e0bb9..41b7cb7522 100644
--- a/doc/html/boost_dll/revision_history.html
+++ b/doc/html/boost_dll/revision_history.html
@@ -4,9 +4,9 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Revision History</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../boost_dll.html" title="Chapter&#160;10.&#160;Boost.DLL">
+<link rel="up" href="../boost_dll.html" title="Chapter&#160;11.&#160;Boost.DLL">
<link rel="prev" href="dependencies.html" title="Dependencies">
<link rel="next" href="acknowledgements.html" title="Acknowledgements">
</head>
@@ -29,10 +29,10 @@
</h2></div></div></div>
<h6>
<a name="boost_dll.revision_history.h0"></a>
- <span><a name="boost_dll.revision_history.1_0__first_boost_release_"></a></span><a class="link" href="revision_history.html#boost_dll.revision_history.1_0__first_boost_release_">1.0
+ <span class="phrase"><a name="boost_dll.revision_history.1_0__first_boost_release_"></a></span><a class="link" href="revision_history.html#boost_dll.revision_history.1_0__first_boost_release_">1.0
(First Boost release)</a>
</h6>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Removed <code class="computeroutput"><span class="identifier">shared_library</span><span class="special">::</span><span class="identifier">load_self</span><span class="special">()</span></code>
</li>
@@ -71,13 +71,13 @@
</ul></div>
<h6>
<a name="boost_dll.revision_history.h1"></a>
- <span><a name="boost_dll.revision_history.0_2"></a></span><a class="link" href="revision_history.html#boost_dll.revision_history.0_2">0.2</a>
+ <span class="phrase"><a name="boost_dll.revision_history.0_2"></a></span><a class="link" href="revision_history.html#boost_dll.revision_history.0_2">0.2</a>
</h6>
<p>
Applied comments from "Boost query interest" mails and Boost Incubator,
implemented new features:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Project was renamed to Boost.DLL.
</li>
@@ -103,7 +103,7 @@
</ul></div>
<h6>
<a name="boost_dll.revision_history.h2"></a>
- <span><a name="boost_dll.revision_history.0_1"></a></span><a class="link" href="revision_history.html#boost_dll.revision_history.0_1">0.1</a>
+ <span class="phrase"><a name="boost_dll.revision_history.0_1"></a></span><a class="link" href="revision_history.html#boost_dll.revision_history.0_1">0.1</a>
</h6>
<p>
Boost.Plugin 0.1 (Initial Solo Prototype taken from <a href="https://github.com/retf/Boost.Application" target="_top">Boost.Application</a>
@@ -112,7 +112,7 @@
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015, 2016 Antony Polukhin<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015 Antony Polukhin<br>Copyright &#169; 2016 Antony Polukhin, Klemens Morgenstern<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>
diff --git a/doc/html/boost_dll/tutorial.html b/doc/html/boost_dll/tutorial.html
index f894830bef..78ba63c8c7 100644
--- a/doc/html/boost_dll/tutorial.html
+++ b/doc/html/boost_dll/tutorial.html
@@ -4,11 +4,11 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Tutorial</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../boost_dll.html" title="Chapter&#160;10.&#160;Boost.DLL">
+<link rel="up" href="../boost_dll.html" title="Chapter&#160;11.&#160;Boost.DLL">
<link rel="prev" href="getting_started.html" title="Getting started">
-<link rel="next" href="missuses.html" title="Missuses">
+<link rel="next" href="mangled_import.html" title="Mangled Import">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -21,13 +21,13 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="getting_started.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_dll.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="missuses.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="getting_started.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_dll.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mangled_import.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_dll.tutorial"></a><a class="link" href="tutorial.html" title="Tutorial">Tutorial</a>
</h2></div></div></div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt><span class="section"><a href="tutorial.html#boost_dll.tutorial.plugin_basics">Plugin basics</a></span></dt>
<dt><span class="section"><a href="tutorial.html#boost_dll.tutorial.factory_method_in_plugin">Factory
method in plugin</a></span></dt>
@@ -47,7 +47,7 @@
a C function from Windows dll</a></span></dt>
</dl></div>
<p>
- Tutorial is provided to give you an idea of how to create and use plugins.
+ This Tutorial is provided to give you an idea of how to create and use plugins.
</p>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
@@ -152,7 +152,7 @@ Destructing my_plugin_sum ;o)
<p>
<span class="bold"><strong>Full sources:</strong></span>
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="https://github.com/apolukhin/Boost.DLL/blob/develop/example/tutorial_common/my_plugin_api.hpp" target="_top">example/tutorial_common/my_plugin_api.hpp</a>
</li>
@@ -275,7 +275,7 @@ Plugin Name: aggregator
<p>
<span class="bold"><strong>Full sources:</strong></span>
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="https://github.com/apolukhin/Boost.DLL/blob/develop/example/tutorial2/my_plugin_aggregator.cpp" target="_top">example/tutorial2/my_plugin_aggregator.cpp</a>
</li>
@@ -345,7 +345,7 @@ Destructing my_plugin_sum ;o)
<p>
<span class="bold"><strong>Full sources:</strong></span>
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="https://github.com/apolukhin/Boost.DLL/blob/develop/example/tutorial3/tutorial3.cpp" target="_top">example/tutorial3/tutorial3.cpp</a>
</li>
@@ -368,7 +368,7 @@ Destructing my_plugin_sum ;o)
<p>
Linking plugin into the executable has the advantages of
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
reducing common size of distribution
</li>
@@ -506,7 +506,7 @@ Destructing my_plugin_static
<p>
<span class="bold"><strong>Full sources:</strong></span>
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="https://github.com/apolukhin/Boost.DLL/blob/develop/example/tutorial4/static_plugin.hpp" target="_top">example/tutorial4/static_plugin.hpp</a>
</li>
@@ -629,7 +629,7 @@ Destructing my_plugin_sum ;o)
<p>
<span class="bold"><strong>Full sources:</strong></span>
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="https://github.com/apolukhin/Boost.DLL/blob/develop/example/tutorial5/load_all.cpp" target="_top">example/tutorial5/load_all.cpp</a>
</li>
@@ -747,7 +747,7 @@ After library unload.
<p>
<span class="bold"><strong>Full sources:</strong></span>
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="https://github.com/apolukhin/Boost.DLL/blob/develop/example/tutorial6/on_unload_lib.cpp" target="_top">example/tutorial6/on_unload_lib.cpp</a>
</li>
@@ -868,7 +868,7 @@ Function 'howdy' prints:
<p>
<span class="bold"><strong>Full sources:</strong></span>
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="https://github.com/apolukhin/Boost.DLL/blob/develop/example/tutorial7/library1.cpp" target="_top">example/tutorial7/library1.cpp</a>
</li>
@@ -1144,7 +1144,7 @@ location: "/tutorial8_static"</pre>
<p>
<span class="bold"><strong>Full sources:</strong></span>
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="https://github.com/apolukhin/Boost.DLL/blob/develop/example/tutorial8/refcounting_api.hpp" target="_top">example/tutorial8/refcounting_api.hpp</a>
</li>
@@ -1220,7 +1220,7 @@ location: "/tutorial8_static"</pre>
<p>
<span class="bold"><strong>Full sources:</strong></span>
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<a href="https://github.com/apolukhin/Boost.DLL/blob/develop/example/tutorial9/tutorial9.cpp" target="_top">example/tutorial9/tutorial9.cpp</a>
</li></ul></div>
<p>
@@ -1230,7 +1230,7 @@ location: "/tutorial8_static"</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015, 2016 Antony Polukhin<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2014 Renato Tegon Forti, Antony Polukhin<br>Copyright &#169; 2015 Antony Polukhin<br>Copyright &#169; 2016 Antony Polukhin, Klemens Morgenstern<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>
@@ -1238,7 +1238,7 @@ location: "/tutorial8_static"</pre>
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="getting_started.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_dll.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="missuses.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="getting_started.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_dll.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mangled_import.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>