| {{+bindTo:partials.standard_nacl_api}} |
| <h1>pp::ext::ExtCompletionCallbackWithOutput< T > Class Template Reference</h1> |
| <div id="doxygen-ref"> |
| {{- dummy div to appease doxygen -}} |
| <div> |
| <!-- Generated by Doxygen 1.7.6.1 --> |
| |
| |
| |
| </div> |
| <!--header--> |
| <div class="contents"> |
| <!-- doxytag: class="pp::ext::ExtCompletionCallbackWithOutput" --><!-- doxytag: inherits="CompletionCallbackWithOutputBase< T, internal::ExtCallbackOutputTraits< T > >" --><div class="dynheader"> |
| Inheritance diagram for pp::ext::ExtCompletionCallbackWithOutput< T >:</div> |
| <div class="dyncontent"> |
| <div class="center"><img src="classpp_1_1ext_1_1_ext_completion_callback_with_output__inherit__graph.png" border="0" usemap="#pp_1_1ext_1_1_ext_completion_callback_with_output_3_01_t_01_4_inherit__map" alt="Inheritance graph" /></div> |
| <map name="pp_1_1ext_1_1_ext_completion_callback_with_output_3_01_t_01_4_inherit__map" id="pp_1_1ext_1_1_ext_completion_callback_with_output_3_01_t_01_4_inherit__map"> |
| <area shape="rect" id="node2" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html" title="pp::internal::CompletionCallbackWithOutputBase\< T, internal::ExtCallbackOutputTraits\< T \> \>" alt="" coords="227,5,845,35"></area><area shape="rect" id="node4" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl..." alt="" coords="7,5,177,35"></area></map> |
| <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> |
| <p><a href="classpp_1_1ext_1_1_ext_completion_callback_with_output-members.html">List of all members.</a></p> |
| <h2> |
| Public Types</h2><table class="memberdecls"> |
| |
| <tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak" /> |
| ::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a><br class="typebreak" /> |
| < T, <br class="typebreak" /> |
| internal::ExtCallbackOutputTraits<br class="typebreak" /> |
| < T > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a481b5fb925f7e78ebe1d4d45e8c2680e">BaseType</a></td></tr> |
| </table><h2> |
| Public Member Functions</h2><table class="memberdecls"> |
| <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#aa87c7b22e765a86493282ae962d70808">ExtCompletionCallbackWithOutput</a> (typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr> |
| <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#abb7a1ffe2592a4fe66941a6c9cb3113d">ExtCompletionCallbackWithOutput</a> (PP_CompletionCallback_Func func, void *user_data, typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr> |
| <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a8e28a5fbcd848df3e34178ac29d1ae60">ExtCompletionCallbackWithOutput</a> (PP_CompletionCallback_Func func, void *user_data, int32_t <a class="el" href="classpp_1_1_completion_callback.html#a60e466572fe7de362969dd41179c971f">flags</a>, typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> *<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a23ceea58754e1d1b6570a268f6b669b8">output</a>)</td></tr> |
| </table> |
| <hr /><a name="details" id="details"></a><h2>Detailed Description</h2> |
| <div class="textblock"><h3>template<typename T><br /> |
| class pp::ext::ExtCompletionCallbackWithOutput< T ></h3> |
| <p><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a> is similar to <a class="el" href="classpp_1_1_completion_callback_with_output.html" title="A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to so...">CompletionCallbackWithOutput</a>, but used by APIs within the <a class="el" href="namespacepp_1_1ext.html">pp::ext</a> namespace. </p> |
| <p>Usually it is used with the <a class="el" href="classpp_1_1_completion_callback_factory.html" title="CompletionCallbackFactory<T> may be used to create CompletionCallback objects that are bound to membe...">CompletionCallbackFactory</a>'s NewExtCallbackWithOutput. </p> |
| </div><hr /><h2>Member Typedef Documentation</h2> |
| <a class="anchor" id="a481b5fb925f7e78ebe1d4d45e8c2680e"></a><!-- doxytag: member="pp::ext::ExtCompletionCallbackWithOutput::BaseType" ref="a481b5fb925f7e78ebe1d4d45e8c2680e" args="" --> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T > </div> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef ::<a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html">pp::internal::CompletionCallbackWithOutputBase</a>< T, internal::ExtCallbackOutputTraits<T> > <a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html#a481b5fb925f7e78ebe1d4d45e8c2680e">BaseType</a></td> |
| </tr> |
| </table> |
| </div> |
| <div class="memdoc"> |
| </div> |
| </div> |
| <hr /><h2>Constructor & Destructor Documentation</h2> |
| <a class="anchor" id="aa87c7b22e765a86493282ae962d70808"></a><!-- doxytag: member="pp::ext::ExtCompletionCallbackWithOutput::ExtCompletionCallbackWithOutput" ref="aa87c7b22e765a86493282ae962d70808" args="(typename BaseType::OutputStorageType *output)" --> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T > </div> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ExtCompletionCallbackWithOutput</a> </td> |
| <td>(</td> |
| <td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td> |
| <td class="paramname"><em>output</em></td><td>)</td> |
| <td><code> [inline, explicit]</code></td> |
| </tr> |
| </table> |
| </div> |
| <div class="memdoc"> |
| <p>The default constructor will create a blocking <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a></code> that references the given output data. </p> |
| <dl class="params"><dt><b>Parameters:</b></dt><dd> |
| <table class="params"> |
| <tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. <code>OutputStorageType</code> is either <code>ext::internal::ArrayVarOutputAdapterWithStorage<U></code> (if the template parameter T is of the form std::vector<U>) or <code>ext::internal::VarOutputAdapterWithStorage<T></code> (otherwise).</td></tr> |
| </table> |
| </dd> |
| </dl> |
| <p><b>Note:</b> Blocking completion callbacks are only allowed from background threads. </p> |
| </div> |
| </div> |
| <a class="anchor" id="abb7a1ffe2592a4fe66941a6c9cb3113d"></a><!-- doxytag: member="pp::ext::ExtCompletionCallbackWithOutput::ExtCompletionCallbackWithOutput" ref="abb7a1ffe2592a4fe66941a6c9cb3113d" args="(PP_CompletionCallback_Func func, void *user_data, typename BaseType::OutputStorageType *output)" --> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T > </div> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ExtCompletionCallbackWithOutput</a> </td> |
| <td>(</td> |
| <td class="paramtype">PP_CompletionCallback_Func </td> |
| <td class="paramname"><em>func</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">void * </td> |
| <td class="paramname"><em>user_data</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td> |
| <td class="paramname"><em>output</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td><code> [inline]</code></td> |
| </tr> |
| </table> |
| </div> |
| <div class="memdoc"> |
| <p>A constructor for creating an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a></code> that references the given output data. </p> |
| <dl class="params"><dt><b>Parameters:</b></dt><dd> |
| <table class="params"> |
| <tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion. </td></tr> |
| <tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks. </td></tr> |
| <tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| </div> |
| </div> |
| <a class="anchor" id="a8e28a5fbcd848df3e34178ac29d1ae60"></a><!-- doxytag: member="pp::ext::ExtCompletionCallbackWithOutput::ExtCompletionCallbackWithOutput" ref="a8e28a5fbcd848df3e34178ac29d1ae60" args="(PP_CompletionCallback_Func func, void *user_data, int32_t flags, typename BaseType::OutputStorageType *output)" --> |
| <div class="memitem"> |
| <div class="memproto"> |
| <div class="memtemplate"> |
| template<typename T > </div> |
| <table class="memname"> |
| <tr> |
| <td class="memname"><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">pp::ext::ExtCompletionCallbackWithOutput</a>< T >::<a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html">ExtCompletionCallbackWithOutput</a> </td> |
| <td>(</td> |
| <td class="paramtype">PP_CompletionCallback_Func </td> |
| <td class="paramname"><em>func</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">void * </td> |
| <td class="paramname"><em>user_data</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int32_t </td> |
| <td class="paramname"><em>flags</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">typename <a class="el" href="classpp_1_1internal_1_1_completion_callback_with_output_base.html#a6b6f033dd376edc4507951d82bd1ea18">BaseType::OutputStorageType</a> * </td> |
| <td class="paramname"><em>output</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td><code> [inline]</code></td> |
| </tr> |
| </table> |
| </div> |
| <div class="memdoc"> |
| <p>A constructor for creating an <code><a class="el" href="classpp_1_1ext_1_1_ext_completion_callback_with_output.html" title="ExtCompletionCallbackWithOutput is similar to CompletionCallbackWithOutput, but used by APIs within t...">ExtCompletionCallbackWithOutput</a></code> that references the given output data. </p> |
| <dl class="params"><dt><b>Parameters:</b></dt><dd> |
| <table class="params"> |
| <tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>The function to be called on completion.</td></tr> |
| <tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks.</td></tr> |
| <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Bit field combination of <code>PP_CompletionCallback_Flag</code> flags used to control how non-NULL callbacks are scheduled by asynchronous methods.</td></tr> |
| <tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| </div> |
| </div> |
| <hr />The documentation for this class was generated from the following file:<ul> |
| <li><a class="el" href="completion__callback_8h.html">completion_callback.h</a></li> |
| </ul> |
| </div><!-- contents --> |
| </div> |
| {{/partials.standard_nacl_api}} |