deploy: 74718b9ef8
This commit is contained in:
@@ -285,23 +285,46 @@ $(function(){ initResizable(false); });
|
||||
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> T* m_data;</div>
|
||||
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> };</div>
|
||||
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> </div>
|
||||
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <span class="keyword">struct </span>SafeArrayDestroy_delete</div>
|
||||
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> {</div>
|
||||
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> <span class="keywordtype">void</span> operator()(_In_ LPSAFEARRAY sa)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span><span class="keyword"> </span>{</div>
|
||||
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> SafeArrayDestroy(sa);</div>
|
||||
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> }</div>
|
||||
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> };</div>
|
||||
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> </div>
|
||||
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="keyword">struct </span>SysFreeString_delete</div>
|
||||
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> {</div>
|
||||
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <span class="keywordtype">void</span> operator()(_In_ BSTR sa)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span><span class="keyword"> </span>{</div>
|
||||
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> SysFreeString(sa);</div>
|
||||
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> }</div>
|
||||
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> };</div>
|
||||
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span>}</div>
|
||||
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> <span class="keyword">template</span> <<span class="keyword">class</span> T></div>
|
||||
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> <span class="keyword">class </span>safearray_accessor_with_size : <span class="keyword">public</span> safearray_accessor<T></div>
|
||||
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> {</div>
|
||||
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> safearray_accessor_with_size(_In_ LPSAFEARRAY sa) : safearray_accessor<T>(sa)</div>
|
||||
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> {</div>
|
||||
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> m_size = SafeArrayGetElemsize(sa);</div>
|
||||
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">for</span> (UINT d = 1, dim = SafeArrayGetDim(sa); d <= dim; ++d) {</div>
|
||||
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> <span class="keywordtype">long</span> ubound, lbound;</div>
|
||||
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">if</span> (FAILED(SafeArrayGetUBound(sa, d, &ubound)) ||</div>
|
||||
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> FAILED(SafeArrayGetLBound(sa, d, &lbound)))</div>
|
||||
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">"SafeArrayGet[UL]Bound failed"</span>);</div>
|
||||
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> m_size *= <span class="keyword">static_cast<</span><span class="keywordtype">size_t</span><span class="keyword">></span>(ubound) - lbound + 1;</div>
|
||||
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> }</div>
|
||||
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> m_size /= <span class="keyword">sizeof</span>(T);</div>
|
||||
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> }</div>
|
||||
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> </div>
|
||||
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="keywordtype">size_t</span> size()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_size; }</div>
|
||||
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> </div>
|
||||
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <span class="keyword">protected</span>:</div>
|
||||
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> <span class="keywordtype">size_t</span> m_size;</div>
|
||||
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> };</div>
|
||||
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> </div>
|
||||
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> <span class="keyword">struct </span>SafeArrayDestroy_delete</div>
|
||||
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> {</div>
|
||||
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <span class="keywordtype">void</span> operator()(_In_ LPSAFEARRAY sa)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span><span class="keyword"> </span>{</div>
|
||||
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> SafeArrayDestroy(sa);</div>
|
||||
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> }</div>
|
||||
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> };</div>
|
||||
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> </div>
|
||||
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <span class="keyword">struct </span>SysFreeString_delete</div>
|
||||
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> {</div>
|
||||
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> <span class="keywordtype">void</span> operator()(_In_ BSTR sa)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span><span class="keyword"> </span>{</div>
|
||||
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> SysFreeString(sa);</div>
|
||||
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> }</div>
|
||||
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> };</div>
|
||||
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span>}</div>
|
||||
<div class="ttc" id="aclassstdex_1_1basic__sys__object_html"><div class="ttname"><a href="classstdex_1_1basic__sys__object.html">stdex::basic_sys_object</a></div><div class="ttdoc">Operating system object base class.</div><div class="ttdef"><b>Definition</b> system.hpp:142</div></div>
|
||||
<div class="ttc" id="aclassstdex_1_1basic__sys__object_html_a09e44076695b4134e877c3e6f1f29844"><div class="ttname"><a href="classstdex_1_1basic__sys__object.html#a09e44076695b4134e877c3e6f1f29844">stdex::basic_sys_object::close</a></div><div class="ttdeci">virtual void close()</div><div class="ttdoc">Closes object.</div><div class="ttdef"><b>Definition</b> system.hpp:183</div></div>
|
||||
<div class="ttc" id="aclassstdex_1_1basic__sys__object_html_acc3efba439fefd090e2926be86236453"><div class="ttname"><a href="classstdex_1_1basic__sys__object.html#acc3efba439fefd090e2926be86236453">stdex::basic_sys_object::get</a></div><div class="ttdeci">T get() const noexcept</div><div class="ttdoc">Returns object handle.</div><div class="ttdef"><b>Definition</b> system.hpp:199</div></div>
|
||||
@@ -311,7 +334,7 @@ $(function(){ initResizable(false); });
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Wed Oct 9 2024 15:10:19 for stdex by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
|
||||
Generated on Mon Oct 21 2024 12:18:10 for stdex by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
|
||||
</small></address>
|
||||
</div><!-- doc-content -->
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user