27
27
<li><a href="functions.html"><span>Data Fields</span></a></li>
30
<div class="navpath"><a class="el" href="a00115.html">bm</a>::<a class="el" href="a00079.html">random_subset</a>
30
<div class="navpath"><a class="el" href="a00116.html">bm</a>::<a class="el" href="a00079.html">ptr_guard</a>
33
33
<div class="contents">
34
<h1>bm::random_subset< BV > Class Template Reference<br/>
36
[<a class="el" href="a00124.html">Set algorithms</a>]</small>
37
</h1><!-- doxytag: class="bm::random_subset" -->
38
<p><code>#include <<a class="el" href="a00095_source.html">bmrandom.h</a>></code></p>
34
<h1>bm::ptr_guard< T > Class Template Reference</h1><!-- doxytag: class="bm::ptr_guard" -->
35
<p>Mini auto-pointer for internal memory management.
36
<a href="#_details">More...</a></p>
38
<p><code>#include <<a class="el" href="a00103_source.html">bmutil.h</a>></code></p>
39
39
<table border="0" cellpadding="0" cellspacing="0">
40
40
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
41
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#ab47431e0fe23053d0dc5d3799822c109">random_subset</a> ()</td></tr>
42
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#a6cd4b5521110aad7f8c8511b88d11bff">~random_subset</a> ()</td></tr>
43
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#addbc2e7ae5308fed4c92da441b236ce4">sample</a> (BV &bv_out, const BV &bv_in, unsigned count)</td></tr>
44
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get random subset of input vector. <a href="#addbc2e7ae5308fed4c92da441b236ce4"></a><br/></td></tr>
41
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#abc96b2ee795bd9353fdf6eab39e29ebc">ptr_guard</a> (T *p)</td></tr>
42
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#a0c99d726c78b751315eb3450108f236b">~ptr_guard</a> ()</td></tr>
46
44
<hr/><a name="_details"></a><h2>Detailed Description</h2>
47
<h3>template<class BV><br/>
48
class bm::random_subset< BV ></h3>
50
<p>Class implements algorithm for random subset generation.</p>
51
<p>Implemented method tries to be fair, but doesn't guarantee true randomeness.</p>
52
<p>Performace note: Class holds temporary buffers and variables, so it is recommended to re-use instances over multiple calls. </p>
53
<dl><dt><b>Examples: </b></dt><dd>
54
<p><a class="el" href="a00010.html#_a4">sample10.cpp</a>.</p>
57
<p>Definition at line <a class="el" href="a00095_source.html#l00053">53</a> of file <a class="el" href="a00095_source.html">bmrandom.h</a>.</p>
45
<h3>template<class T><br/>
46
class bm::ptr_guard< T ></h3>
48
<p>Mini auto-pointer for internal memory management. </p>
50
<p>Definition at line <a class="el" href="a00103_source.html#l00096">96</a> of file <a class="el" href="a00103_source.html">bmutil.h</a>.</p>
58
51
<hr/><h2>Constructor & Destructor Documentation</h2>
59
<a class="anchor" id="ab47431e0fe23053d0dc5d3799822c109"></a><!-- doxytag: member="bm::random_subset::random_subset" ref="ab47431e0fe23053d0dc5d3799822c109" args="()" -->
61
<div class="memproto">
62
<div class="memtemplate">
63
template<class BV > </div>
64
<table class="memname">
66
<td class="memname"><a class="el" href="a00079.html">bm::random_subset</a>< BV >::<a class="el" href="a00079.html">random_subset</a> </td>
68
<td class="paramname"></td>
69
<td> ) </td>
70
<td><code> [inline]</code></td>
76
<p>Definition at line <a class="el" href="a00095_source.html#l00115">115</a> of file <a class="el" href="a00095_source.html">bmrandom.h</a>.</p>
80
<a class="anchor" id="a6cd4b5521110aad7f8c8511b88d11bff"></a><!-- doxytag: member="bm::random_subset::~random_subset" ref="a6cd4b5521110aad7f8c8511b88d11bff" args="()" -->
82
<div class="memproto">
83
<div class="memtemplate">
84
template<class BV > </div>
85
<table class="memname">
87
<td class="memname"><a class="el" href="a00079.html">bm::random_subset</a>< BV >::~<a class="el" href="a00079.html">random_subset</a> </td>
89
<td class="paramname"></td>
90
<td> ) </td>
91
<td><code> [inline]</code></td>
97
<p>Definition at line <a class="el" href="a00095_source.html#l00125">125</a> of file <a class="el" href="a00095_source.html">bmrandom.h</a>.</p>
101
<hr/><h2>Member Function Documentation</h2>
102
<a class="anchor" id="addbc2e7ae5308fed4c92da441b236ce4"></a><!-- doxytag: member="bm::random_subset::sample" ref="addbc2e7ae5308fed4c92da441b236ce4" args="(BV &bv_out, const BV &bv_in, unsigned count)" -->
103
<div class="memitem">
104
<div class="memproto">
105
<div class="memtemplate">
106
template<class BV > </div>
107
<table class="memname">
109
<td class="memname">void <a class="el" href="a00079.html">bm::random_subset</a>< BV >::sample </td>
111
<td class="paramtype">BV & </td>
112
<td class="paramname"> <em>bv_out</em>, </td>
115
<td class="paramkey"></td>
117
<td class="paramtype">const BV & </td>
118
<td class="paramname"> <em>bv_in</em>, </td>
121
<td class="paramkey"></td>
123
<td class="paramtype">unsigned </td>
124
<td class="paramname"> <em>count</em></td><td> </td>
129
<td></td><td></td><td><code> [inline]</code></td>
135
<p>Get random subset of input vector. </p>
136
<dl><dt><b>Parameters:</b></dt><dd>
137
<table border="0" cellspacing="2" cellpadding="0">
138
<tr><td valign="top"></td><td valign="top"><em>bv_out</em> </td><td>- destination vector </td></tr>
139
<tr><td valign="top"></td><td valign="top"><em>bv_in</em> </td><td>- input vector </td></tr>
140
<tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>- number of bits to pick </td></tr>
145
<p>Definition at line <a class="el" href="a00095_source.html#l00134">134</a> of file <a class="el" href="a00095_source.html">bmrandom.h</a>.</p>
147
<p>Referenced by <a class="el" href="a00106_source.html#l00050">main()</a>.</p>
52
<a class="anchor" id="abc96b2ee795bd9353fdf6eab39e29ebc"></a><!-- doxytag: member="bm::ptr_guard::ptr_guard" ref="abc96b2ee795bd9353fdf6eab39e29ebc" args="(T *p)" -->
54
<div class="memproto">
55
<div class="memtemplate">
56
template<class T> </div>
57
<table class="memname">
59
<td class="memname"><a class="el" href="a00079.html">bm::ptr_guard</a>< T >::<a class="el" href="a00079.html">ptr_guard</a> </td>
61
<td class="paramtype">T * </td>
62
<td class="paramname"> <em>p</em></td>
63
<td> ) </td>
64
<td><code> [inline]</code></td>
70
<p>Definition at line <a class="el" href="a00103_source.html#l00099">99</a> of file <a class="el" href="a00103_source.html">bmutil.h</a>.</p>
74
<a class="anchor" id="a0c99d726c78b751315eb3450108f236b"></a><!-- doxytag: member="bm::ptr_guard::~ptr_guard" ref="a0c99d726c78b751315eb3450108f236b" args="()" -->
76
<div class="memproto">
77
<div class="memtemplate">
78
template<class T> </div>
79
<table class="memname">
81
<td class="memname"><a class="el" href="a00079.html">bm::ptr_guard</a>< T >::~<a class="el" href="a00079.html">ptr_guard</a> </td>
83
<td class="paramname"></td>
84
<td> ) </td>
85
<td><code> [inline]</code></td>
91
<p>Definition at line <a class="el" href="a00103_source.html#l00100">100</a> of file <a class="el" href="a00103_source.html">bmutil.h</a>.</p>
151
95
<hr/>The documentation for this class was generated from the following file:<ul>
152
<li><a class="el" href="a00095_source.html">bmrandom.h</a></li>
96
<li><a class="el" href="a00103_source.html">bmutil.h</a></li>
155
<hr size="1"/><address style="text-align: right;"><small>Generated on Fri Jan 8 20:09:20 2010 for BitMagic by
99
<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Mar 23 20:48:14 2010 for BitMagic by
156
100
<a href="http://www.doxygen.org/index.html">
157
101
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>