1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta name="robots" content="none">
<title>QuantLib: Composite Class Template Reference</title>
<link rel="stylesheet" href="quantlib.css" type="text/css">
<link rel="stylesheet" href="print.css" type="text/css" media="print">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<link rel="icon" href="favicon.ico" type="image/x-icon">
</head>
<body>
<div id="container">
<div id="header">
<img class="titleimage"
src="QL-title.jpg" width="212" height="47" border="0"
alt="QuantLib">
<br>
<h3 class="subtitle">A free/open-source library for quantitative finance</h3>
</div>
<div id="menu">
<h3 class="navbartitle">Version 0.9.0</h3>
<hr>
<h3 class="navbartitle">Getting started</h3>
<ul class="navbarlist">
<li class="navlink"><a href="index.html">Introduction</a></li>
<li class="navlink"><a href="overview.html">Project overview</a></li>
<li class="navlink"><a href="where.html">Where to get QuantLib</a></li>
<li class="navlink"><a href="install.html">Installation</a></li>
<li class="navlink"><a href="config.html">Configuration</a></li>
<li class="navlink"><a href="usage.html">Usage</a></li>
<li class="navlink"><a href="history.html">Version history</a></li>
<li class="navlink"><a href="resources.html">Additional resources</a></li>
<li class="navlink"><a href="group.html">The QuantLib group</a></li>
<li class="navlink"><a href="license.html">Copyright and license</a></li>
</ul>
<hr>
<h3 class="navbartitle">Reference manual</h3>
<ul class="navbarlist">
<li class="navlink"><a href="modules.html">Modules</a></li>
<li class="navlink"><a href="hierarchy.html">Class Hierarchy</a></li>
<li class="navlink"><a href="annotated.html">Compound List</a></li>
<li class="navlink"><a href="files.html">File List</a></li>
<li class="navlink"><a href="functions.html">Compound Members</a></li>
<li class="navlink"><a href="globals.html">File Members</a></li>
<li class="navlink"><a href="bug.html">Known Bugs</a></li>
<li class="navlink"><a href="caveats.html">Caveats</a></li>
<li class="navlink"><a href="test.html">Test Suite</a></li>
<li class="navlink"><a href="examples.html">Examples</a></li>
</ul>
</div>
<div id="content">
<!--Doxygen-generated content-->
<!-- Generated by Doxygen 1.5.4 -->
<div class="nav">
<a class="el" href="namespace_quant_lib.html">QuantLib</a>::<a class="el" href="class_quant_lib_1_1_composite.html">Composite</a></div>
<h1>Composite Class Template Reference<br>
<small>
[<a class="el" href="group__patterns.html">Design patterns</a>]</small>
</h1><!-- doxytag: class="QuantLib::Composite" --><!-- doxytag: inherits="QuantLib::T" --><code>#include <ql/patterns/composite.hpp></code>
<p>
Inherits T.
<p>
<p>
<a href="class_quant_lib_1_1_composite-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template<class T><br>
class QuantLib::Composite< T ></h3>
Composite pattern.
<p>
The typical use of this class is: <div class="fragment"><pre class="fragment"> <span class="keyword">class </span>CompositeFoo : <span class="keyword">public</span> Composite<Foo> {
...
};
</pre></div> which causes CompositeFoo to inherit from Foo and provides it with methods for adding components. Of course, any abstract Foo interface must still be implemented. <table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ab63929d1bc832ba9301510b2dcd145d"></a><!-- doxytag: member="QuantLib::Composite::iterator" ref="ab63929d1bc832ba9301510b2dcd145d" args="" -->
typedef std::list<br>
< boost::shared_ptr< T ><br>
>::iterator </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6c96f5d4ed2ea149249a6301e7e9c723"></a><!-- doxytag: member="QuantLib::Composite::const_iterator" ref="6c96f5d4ed2ea149249a6301e7e9c723" args="" -->
typedef std::list<br>
< boost::shared_ptr< T ><br>
>::const_iterator </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a160ca606fac5ea2d1eef5516bf5b02c"></a><!-- doxytag: member="QuantLib::Composite::add" ref="a160ca606fac5ea2d1eef5516bf5b02c" args="(const boost::shared_ptr< T > &c)" -->
void </td><td class="memItemRight" valign="bottom"><b>add</b> (const boost::shared_ptr< T > &c)</td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c7112762bd3b7e084c7afe2c7dd1c01a"></a><!-- doxytag: member="QuantLib::Composite::components_" ref="c7112762bd3b7e084c7afe2c7dd1c01a" args="" -->
std::list< boost::shared_ptr< T > > </td><td class="memItemRight" valign="bottom"><b>components_</b></td></tr>
</table>
</div>
<div class="footer">
<div class="endmatter">
Documentation generated by
<a href="http://www.doxygen.org">Doxygen</a> 1.5.4
</div>
</div>
</div>
</body>
</html>
|