<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.17"/> <meta name="description" content="PhasicFlow is an open-source parallel DEM (discrete element method) package for simulating granular flow. It is developed in C++ and can be exectued on both GPU (like CUDA) and CPU."> <title>PhasicFlow: observer Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/searchdata.js"></script> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function() { init_search(); }); /* @license-end */ </script> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ extensions: ["tex2jax.js"], jax: ["input/TeX","output/HTML-CSS"], }); </script> <script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> <link href="customdoxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" > <tbody> <tr> <td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td> <td> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </td> </tr> <tr> <td id="projectbrief"> <a href="https://https://cemf.ir">www.cemf.ir</a> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.17 --> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ var searchBox = new SearchBox("searchBox", "search",false,'Search'); /* @license-end */ </script> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('classpFlow_1_1observer.html',''); initResizable(); }); /* @license-end */ </script> <div id="doc-content"> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-static-methods">Static Public Member Functions</a> | <a href="#pri-methods">Private Member Functions</a> | <a href="#pri-attribs">Private Attributes</a> | <a href="classpFlow_1_1observer-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">observer Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div> </div><!--header--> <div class="contents"> <div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for observer:</div> <div id="dynsection-0-summary" class="dynsummary" style="display:block;"> </div> <div id="dynsection-0-content" class="dyncontent" style="display:none;"> <div class="center"><img src="classpFlow_1_1observer__inherit__graph.png" border="0" usemap="#observer_inherit__map" alt="Inheritance graph"/></div> <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> <div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-1-trigger" src="closed.png" alt="+"/> Collaboration diagram for observer:</div> <div id="dynsection-1-summary" class="dynsummary" style="display:block;"> </div> <div id="dynsection-1-content" class="dyncontent" style="display:none;"> <div class="center"><img src="classpFlow_1_1observer__coll__graph.png" border="0" usemap="#observer_coll__map" alt="Collaboration graph"/></div> <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:aa4805b6451fbb1651a6fd3eb8e0db673"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1observer.html#aa4805b6451fbb1651a6fd3eb8e0db673">observer</a> (<a class="el" href="classpFlow_1_1message.html">message</a> msg)</td></tr> <tr class="separator:aa4805b6451fbb1651a6fd3eb8e0db673"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a19690aae8f79f259dab21ac5be29b0da"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1observer.html#a19690aae8f79f259dab21ac5be29b0da">observer</a> (const <a class="el" href="classpFlow_1_1subscriber.html">subscriber</a> *subscrbr, <a class="el" href="classpFlow_1_1message.html">message</a> msg)</td></tr> <tr class="separator:a19690aae8f79f259dab21ac5be29b0da"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af035b2f590ebbed9ace6ffaf3954a893"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1observer.html#af035b2f590ebbed9ace6ffaf3954a893">~observer</a> ()</td></tr> <tr class="separator:af035b2f590ebbed9ace6ffaf3954a893"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a008ac3cf9870600e8a24936cdd5ffd29"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1observer.html#a008ac3cf9870600e8a24936cdd5ffd29">subscribe</a> (const <a class="el" href="classpFlow_1_1subscriber.html">subscriber</a> *subscrbr, <a class="el" href="classpFlow_1_1message.html">message</a> msg)</td></tr> <tr class="separator:a008ac3cf9870600e8a24936cdd5ffd29"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a653c7226b70e6965bf6a79b5e33925ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpFlow_1_1observer.html">observer</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1observer.html#a653c7226b70e6965bf6a79b5e33925ff">addEvent</a> (<a class="el" href="classpFlow_1_1message.html#a9ebe5a85b9070712ab5db5fd0bed687d">message::EVENT</a> event)</td></tr> <tr class="separator:a653c7226b70e6965bf6a79b5e33925ff"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0bbca55d6c8f234990c4f78bf4449288"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1observer.html#a0bbca55d6c8f234990c4f78bf4449288">subscribed</a> () const</td></tr> <tr class="separator:a0bbca55d6c8f234990c4f78bf4449288"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae60104d9527f96b61e9bc2ea1e19c9f2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1observer.html#ae60104d9527f96b61e9bc2ea1e19c9f2">addToSubscriber</a> (const <a class="el" href="classpFlow_1_1subscriber.html">subscriber</a> *subscrbr, <a class="el" href="classpFlow_1_1message.html">message</a> msg)</td></tr> <tr class="separator:ae60104d9527f96b61e9bc2ea1e19c9f2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aee31914b946ab2ffc70663260bab8b21"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1observer.html#aee31914b946ab2ffc70663260bab8b21">addToSubscriber</a> (const <a class="el" href="classpFlow_1_1subscriber.html">subscriber</a> &<a class="el" href="classpFlow_1_1subscriber.html">subscriber</a>)</td></tr> <tr class="separator:aee31914b946ab2ffc70663260bab8b21"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3c895cc7758c9d0c06677104c56ee11d"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1observer.html#a3c895cc7758c9d0c06677104c56ee11d">hearChanges</a> (<a class="el" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> t, <a class="el" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, <a class="el" href="namespacepFlow.html#abd01e8e67e3d94cab04ecaaf4f85ac1b">uint32</a> iter, const <a class="el" href="classpFlow_1_1message.html">message</a> &msg, const <a class="el" href="classpFlow_1_1anyList.html">anyList</a> &varList)=0</td></tr> <tr class="separator:a3c895cc7758c9d0c06677104c56ee11d"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr class="memitem:a55aa647a7d2b1aa80f32344c471d26ba"><td class="memItemLeft" align="right" valign="top">static constexpr auto </td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1observer.html#a55aa647a7d2b1aa80f32344c471d26ba">numEvents</a> ()</td></tr> <tr class="separator:a55aa647a7d2b1aa80f32344c471d26ba"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a> Private Member Functions</h2></td></tr> <tr class="memitem:a7533b1993f98fb6956bcd554d830c831"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classpFlow_1_1subscriber.html">subscriber</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1observer.html#a7533b1993f98fb6956bcd554d830c831">changeSubscriber</a> (const <a class="el" href="classpFlow_1_1subscriber.html">subscriber</a> *newSub)</td></tr> <tr class="separator:a7533b1993f98fb6956bcd554d830c831"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6945b636972adfaba66c9ca5f1e68a25"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1observer.html#a6945b636972adfaba66c9ca5f1e68a25">invalidateSubscriber</a> ()</td></tr> <tr class="separator:a6945b636972adfaba66c9ca5f1e68a25"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a> Private Attributes</h2></td></tr> <tr class="memitem:ab403197d923198c2416d3f784281ee88"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classpFlow_1_1subscriber.html">subscriber</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1observer.html#ab403197d923198c2416d3f784281ee88">subscriber_</a> = nullptr</td></tr> <tr class="memdesc:ab403197d923198c2416d3f784281ee88"><td class="mdescLeft"> </td><td class="mdescRight">pointer to subscriber <a href="classpFlow_1_1observer.html#ab403197d923198c2416d3f784281ee88">More...</a><br /></td></tr> <tr class="separator:ab403197d923198c2416d3f784281ee88"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4c229c67dc8079103634057a5932408c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpFlow_1_1message.html">message</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1observer.html#a4c229c67dc8079103634057a5932408c">message_</a></td></tr> <tr class="memdesc:a4c229c67dc8079103634057a5932408c"><td class="mdescLeft"> </td><td class="mdescRight">list of events in the message <a href="classpFlow_1_1observer.html#a4c229c67dc8079103634057a5932408c">More...</a><br /></td></tr> <tr class="separator:a4c229c67dc8079103634057a5932408c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7e334160291af35eeb5b69faeb83cefa"><td class="memItemLeft" align="right" valign="top">friend </td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1observer.html#a7e334160291af35eeb5b69faeb83cefa">subscriber</a></td></tr> <tr class="separator:a7e334160291af35eeb5b69faeb83cefa"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"> <p class="definition">Definition at line <a class="el" href="observer_8hpp_source.html#l00033">33</a> of file <a class="el" href="observer_8hpp_source.html">observer.hpp</a>.</p> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> <a id="aa4805b6451fbb1651a6fd3eb8e0db673"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa4805b6451fbb1651a6fd3eb8e0db673">◆ </a></span>observer() <span class="overload">[1/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpFlow_1_1observer.html">observer</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="classpFlow_1_1message.html">message</a> </td> <td class="paramname"><em>msg</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="observer_8cpp_source.html#l00031">31</a> of file <a class="el" href="observer_8cpp_source.html">observer.cpp</a>.</p> </div> </div> <a id="a19690aae8f79f259dab21ac5be29b0da"></a> <h2 class="memtitle"><span class="permalink"><a href="#a19690aae8f79f259dab21ac5be29b0da">◆ </a></span>observer() <span class="overload">[2/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpFlow_1_1observer.html">observer</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="classpFlow_1_1subscriber.html">subscriber</a> * </td> <td class="paramname"><em>subscrbr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classpFlow_1_1message.html">message</a> </td> <td class="paramname"><em>msg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="observer_8cpp_source.html#l00036">36</a> of file <a class="el" href="observer_8cpp_source.html">observer.cpp</a>.</p> </div> </div> <a id="af035b2f590ebbed9ace6ffaf3954a893"></a> <h2 class="memtitle"><span class="permalink"><a href="#af035b2f590ebbed9ace6ffaf3954a893">◆ </a></span>~observer()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">~<a class="el" href="classpFlow_1_1observer.html">observer</a> </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="observer_8cpp_source.html#l00044">44</a> of file <a class="el" href="observer_8cpp_source.html">observer.cpp</a>.</p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a id="a7533b1993f98fb6956bcd554d830c831"></a> <h2 class="memtitle"><span class="permalink"><a href="#a7533b1993f98fb6956bcd554d830c831">◆ </a></span>changeSubscriber()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classpFlow_1_1subscriber.html">pFlow::subscriber</a> * changeSubscriber </td> <td>(</td> <td class="paramtype">const <a class="el" href="classpFlow_1_1subscriber.html">subscriber</a> * </td> <td class="paramname"><em>newSub</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="observer_8cpp_source.html#l00024">24</a> of file <a class="el" href="observer_8cpp_source.html">observer.cpp</a>.</p> <p class="reference">References <a class="el" href="observer_8hpp_source.html#l00039">observer::subscriber_</a>.</p> </div> </div> <a id="a6945b636972adfaba66c9ca5f1e68a25"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6945b636972adfaba66c9ca5f1e68a25">◆ </a></span>invalidateSubscriber()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void invalidateSubscriber </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="observer_8hpp_source.html#l00048">48</a> of file <a class="el" href="observer_8hpp_source.html">observer.hpp</a>.</p> <p class="reference">References <a class="el" href="observer_8hpp_source.html#l00039">observer::subscriber_</a>.</p> </div> </div> <a id="a008ac3cf9870600e8a24936cdd5ffd29"></a> <h2 class="memtitle"><span class="permalink"><a href="#a008ac3cf9870600e8a24936cdd5ffd29">◆ </a></span>subscribe()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void subscribe </td> <td>(</td> <td class="paramtype">const <a class="el" href="classpFlow_1_1subscriber.html">subscriber</a> * </td> <td class="paramname"><em>subscrbr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classpFlow_1_1message.html">message</a> </td> <td class="paramname"><em>msg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="a653c7226b70e6965bf6a79b5e33925ff"></a> <h2 class="memtitle"><span class="permalink"><a href="#a653c7226b70e6965bf6a79b5e33925ff">◆ </a></span>addEvent()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpFlow_1_1observer.html">pFlow::observer</a> & addEvent </td> <td>(</td> <td class="paramtype"><a class="el" href="classpFlow_1_1message.html#a9ebe5a85b9070712ab5db5fd0bed687d">message::EVENT</a> </td> <td class="paramname"><em>event</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="observer_8cpp_source.html#l00051">51</a> of file <a class="el" href="observer_8cpp_source.html">observer.cpp</a>.</p> <p class="reference">References <a class="el" href="iOstream_8hpp_source.html#l00341">pFlow::endl()</a>, <a class="el" href="error_8hpp_source.html#l00077">fatalErrorInFunction</a>, and <a class="el" href="error_8hpp_source.html#l00098">fatalExit</a>.</p> <p class="reference">Referenced by <a class="el" href="periodicBoundaryField_8cpp_source.html#l00022">periodicBoundaryField< T, MemorySpace >::periodicBoundaryField()</a>.</p> <div id="dynsection-2" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-2-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div> <div id="dynsection-2-summary" class="dynsummary" style="display:block;"> </div> <div id="dynsection-2-content" class="dyncontent" style="display:none;"> <div class="center"><img src="classpFlow_1_1observer_a653c7226b70e6965bf6a79b5e33925ff_cgraph.png" border="0" usemap="#classpFlow_1_1observer_a653c7226b70e6965bf6a79b5e33925ff_cgraph" alt=""/></div> </div> <div id="dynsection-3" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-3-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div> <div id="dynsection-3-summary" class="dynsummary" style="display:block;"> </div> <div id="dynsection-3-content" class="dyncontent" style="display:none;"> <div class="center"><img src="classpFlow_1_1observer_a653c7226b70e6965bf6a79b5e33925ff_icgraph.png" border="0" usemap="#classpFlow_1_1observer_a653c7226b70e6965bf6a79b5e33925ff_icgraph" alt=""/></div> </div> </div> </div> <a id="a0bbca55d6c8f234990c4f78bf4449288"></a> <h2 class="memtitle"><span class="permalink"><a href="#a0bbca55d6c8f234990c4f78bf4449288">◆ </a></span>subscribed()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool subscribed </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="observer_8hpp_source.html#l00071">71</a> of file <a class="el" href="observer_8hpp_source.html">observer.hpp</a>.</p> <p class="reference">References <a class="el" href="observer_8hpp_source.html#l00039">observer::subscriber_</a>.</p> </div> </div> <a id="ae60104d9527f96b61e9bc2ea1e19c9f2"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae60104d9527f96b61e9bc2ea1e19c9f2">◆ </a></span>addToSubscriber() <span class="overload">[1/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void addToSubscriber </td> <td>(</td> <td class="paramtype">const <a class="el" href="classpFlow_1_1subscriber.html">subscriber</a> * </td> <td class="paramname"><em>subscrbr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classpFlow_1_1message.html">message</a> </td> <td class="paramname"><em>msg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="observer_8cpp_source.html#l00067">67</a> of file <a class="el" href="observer_8cpp_source.html">observer.cpp</a>.</p> <p class="reference">References <a class="el" href="iOstream_8hpp_source.html#l00341">pFlow::endl()</a>, <a class="el" href="error_8hpp_source.html#l00077">fatalErrorInFunction</a>, and <a class="el" href="error_8hpp_source.html#l00098">fatalExit</a>.</p> <p class="reference">Referenced by <a class="el" href="particles_8cpp_source.html#l00022">particles::particles()</a>.</p> <div id="dynsection-4" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-4-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div> <div id="dynsection-4-summary" class="dynsummary" style="display:block;"> </div> <div id="dynsection-4-content" class="dyncontent" style="display:none;"> <div class="center"><img src="classpFlow_1_1observer_ae60104d9527f96b61e9bc2ea1e19c9f2_cgraph.png" border="0" usemap="#classpFlow_1_1observer_ae60104d9527f96b61e9bc2ea1e19c9f2_cgraph" alt=""/></div> </div> <div id="dynsection-5" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-5-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div> <div id="dynsection-5-summary" class="dynsummary" style="display:block;"> </div> <div id="dynsection-5-content" class="dyncontent" style="display:none;"> <div class="center"><img src="classpFlow_1_1observer_ae60104d9527f96b61e9bc2ea1e19c9f2_icgraph.png" border="0" usemap="#classpFlow_1_1observer_ae60104d9527f96b61e9bc2ea1e19c9f2_icgraph" alt=""/></div> </div> </div> </div> <a id="aee31914b946ab2ffc70663260bab8b21"></a> <h2 class="memtitle"><span class="permalink"><a href="#aee31914b946ab2ffc70663260bab8b21">◆ </a></span>addToSubscriber() <span class="overload">[2/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool addToSubscriber </td> <td>(</td> <td class="paramtype">const <a class="el" href="classpFlow_1_1subscriber.html">subscriber</a> & </td> <td class="paramname"><em>subscriber</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="observer_8cpp_source.html#l00090">90</a> of file <a class="el" href="observer_8cpp_source.html">observer.cpp</a>.</p> <p class="reference">References <a class="el" href="subscriber_8cpp_source.html#l00085">subscriber::subscribe()</a>.</p> <div id="dynsection-6" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-6-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div> <div id="dynsection-6-summary" class="dynsummary" style="display:block;"> </div> <div id="dynsection-6-content" class="dyncontent" style="display:none;"> <div class="center"><img src="classpFlow_1_1observer_aee31914b946ab2ffc70663260bab8b21_cgraph.png" border="0" usemap="#classpFlow_1_1observer_aee31914b946ab2ffc70663260bab8b21_cgraph" alt=""/></div> </div> </div> </div> <a id="a55aa647a7d2b1aa80f32344c471d26ba"></a> <h2 class="memtitle"><span class="permalink"><a href="#a55aa647a7d2b1aa80f32344c471d26ba">◆ </a></span>numEvents()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static constexpr auto numEvents </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="observer_8hpp_source.html#l00085">85</a> of file <a class="el" href="observer_8hpp_source.html">observer.hpp</a>.</p> <p class="reference">References <a class="el" href="message_8hpp_source.html#l00177">message::numEvents()</a>.</p> <div id="dynsection-7" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-7-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div> <div id="dynsection-7-summary" class="dynsummary" style="display:block;"> </div> <div id="dynsection-7-content" class="dyncontent" style="display:none;"> <div class="center"><img src="classpFlow_1_1observer_a55aa647a7d2b1aa80f32344c471d26ba_cgraph.png" border="0" usemap="#classpFlow_1_1observer_a55aa647a7d2b1aa80f32344c471d26ba_cgraph" alt=""/></div> </div> </div> </div> <a id="a3c895cc7758c9d0c06677104c56ee11d"></a> <h2 class="memtitle"><span class="permalink"><a href="#a3c895cc7758c9d0c06677104c56ee11d">◆ </a></span>hearChanges()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual bool hearChanges </td> <td>(</td> <td class="paramtype"><a class="el" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> </td> <td class="paramname"><em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> </td> <td class="paramname"><em>dt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespacepFlow.html#abd01e8e67e3d94cab04ecaaf4f85ac1b">uint32</a> </td> <td class="paramname"><em>iter</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classpFlow_1_1message.html">message</a> & </td> <td class="paramname"><em>msg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classpFlow_1_1anyList.html">anyList</a> & </td> <td class="paramname"><em>varList</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Implemented in <a class="el" href="classpFlow_1_1internalField.html#a0f63a62676bba1a8a5cf891337d1d201">internalField< T, MemorySpace ></a>, <a class="el" href="classpFlow_1_1internalField.html#a0f63a62676bba1a8a5cf891337d1d201">internalField< pFlow::VectorSingle, pFlow::AB5History ></a>, <a class="el" href="classpFlow_1_1internalField.html#a0f63a62676bba1a8a5cf891337d1d201">internalField< pFlow::VectorSingle, pFlow::AB4History ></a>, <a class="el" href="classpFlow_1_1internalField.html#a0f63a62676bba1a8a5cf891337d1d201">internalField< real, void ></a>, <a class="el" href="classpFlow_1_1internalField.html#a0f63a62676bba1a8a5cf891337d1d201">internalField< uint32, void ></a>, <a class="el" href="classpFlow_1_1internalField.html#a0f63a62676bba1a8a5cf891337d1d201">internalField< T, void ></a>, <a class="el" href="classpFlow_1_1internalField.html#a0f63a62676bba1a8a5cf891337d1d201">internalField< pFlow::VectorSingle, pFlow::AB3History ></a>, <a class="el" href="classpFlow_1_1internalField.html#a0f63a62676bba1a8a5cf891337d1d201">internalField< realx3, void ></a>, <a class="el" href="classpFlow_1_1sphereParticles.html#a0f63a62676bba1a8a5cf891337d1d201">sphereParticles</a>, <a class="el" href="classpFlow_1_1grainParticles.html#a0f63a62676bba1a8a5cf891337d1d201">grainParticles</a>, <a class="el" href="classpFlow_1_1triSurfaceField.html#a0f63a62676bba1a8a5cf891337d1d201">triSurfaceField< T, MemorySpace ></a>, <a class="el" href="classpFlow_1_1triSurfaceField.html#a0f63a62676bba1a8a5cf891337d1d201">triSurfaceField< realx3 ></a>, <a class="el" href="classpFlow_1_1triSurfaceField.html#a0f63a62676bba1a8a5cf891337d1d201">triSurfaceField< uint32 ></a>, <a class="el" href="classpFlow_1_1boundaryGrainInteraction.html#a0f63a62676bba1a8a5cf891337d1d201">boundaryGrainInteraction< contactForceModel, geometryMotionModel ></a>, <a class="el" href="classpFlow_1_1boundarySphereInteraction.html#a0f63a62676bba1a8a5cf891337d1d201">boundarySphereInteraction< contactForceModel, geometryMotionModel ></a>, <a class="el" href="classpFlow_1_1grainInteraction.html#a0f63a62676bba1a8a5cf891337d1d201">grainInteraction< contactForceModel, geometryMotionModel, contactListType ></a>, <a class="el" href="classpFlow_1_1sphereInteraction.html#a0f63a62676bba1a8a5cf891337d1d201">sphereInteraction< contactForceModel, geometryMotionModel, contactListType ></a>, <a class="el" href="classpFlow_1_1boundaryField.html#a0f63a62676bba1a8a5cf891337d1d201">boundaryField< T, MemorySpace ></a>, <a class="el" href="classpFlow_1_1boundaryField.html#a0f63a62676bba1a8a5cf891337d1d201">boundaryField< T, void ></a>, <a class="el" href="classpFlow_1_1boundaryContactSearch.html#a0f63a62676bba1a8a5cf891337d1d201">boundaryContactSearch</a>, <a class="el" href="classpFlow_1_1particleIdHandler.html#a0f63a62676bba1a8a5cf891337d1d201">particleIdHandler</a>, <a class="el" href="classpFlow_1_1exitBoundaryField.html#a0f63a62676bba1a8a5cf891337d1d201">exitBoundaryField< T, MemorySpace ></a>, <a class="el" href="classpFlow_1_1periodicBoundaryField.html#a0f63a62676bba1a8a5cf891337d1d201">periodicBoundaryField< T, MemorySpace ></a>, <a class="el" href="classpFlow_1_1reflectiveBoundaryField.html#a0f63a62676bba1a8a5cf891337d1d201">reflectiveBoundaryField< T, MemorySpace ></a>, <a class="el" href="classpFlow_1_1boundaryIntegration.html#a0f63a62676bba1a8a5cf891337d1d201">boundaryIntegration</a>, <a class="el" href="classpFlow_1_1boundaryGrainParticles.html#a0f63a62676bba1a8a5cf891337d1d201">boundaryGrainParticles</a>, and <a class="el" href="classpFlow_1_1boundarySphereParticles.html#a0f63a62676bba1a8a5cf891337d1d201">boundarySphereParticles</a>.</p> </div> </div> <h2 class="groupheader">Member Data Documentation</h2> <a id="ab403197d923198c2416d3f784281ee88"></a> <h2 class="memtitle"><span class="permalink"><a href="#ab403197d923198c2416d3f784281ee88">◆ </a></span>subscriber_</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classpFlow_1_1subscriber.html">subscriber</a>* subscriber_ = nullptr</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>pointer to subscriber </p> <p class="definition">Definition at line <a class="el" href="observer_8hpp_source.html#l00039">39</a> of file <a class="el" href="observer_8hpp_source.html">observer.hpp</a>.</p> <p class="reference">Referenced by <a class="el" href="observer_8cpp_source.html#l00024">observer::changeSubscriber()</a>, <a class="el" href="observer_8hpp_source.html#l00048">observer::invalidateSubscriber()</a>, and <a class="el" href="observer_8hpp_source.html#l00071">observer::subscribed()</a>.</p> </div> </div> <a id="a4c229c67dc8079103634057a5932408c"></a> <h2 class="memtitle"><span class="permalink"><a href="#a4c229c67dc8079103634057a5932408c">◆ </a></span>message_</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpFlow_1_1message.html">message</a> message_</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>list of events in the message </p> <p class="definition">Definition at line <a class="el" href="observer_8hpp_source.html#l00042">42</a> of file <a class="el" href="observer_8hpp_source.html">observer.hpp</a>.</p> </div> </div> <a id="a7e334160291af35eeb5b69faeb83cefa"></a> <h2 class="memtitle"><span class="permalink"><a href="#a7e334160291af35eeb5b69faeb83cefa">◆ </a></span>subscriber</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">friend <a class="el" href="classpFlow_1_1subscriber.html">subscriber</a></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="observer_8hpp_source.html#l00044">44</a> of file <a class="el" href="observer_8hpp_source.html">observer.hpp</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li>src/phasicFlow/eventManagement/<a class="el" href="observer_8hpp_source.html">observer.hpp</a></li> <li>src/phasicFlow/eventManagement/<a class="el" href="observer_8cpp_source.html">observer.cpp</a></li> </ul> </div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="namespacepFlow.html">pFlow</a></li><li class="navelem"><a class="el" href="classpFlow_1_1observer.html">observer</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li> </ul> </div> </body> </html>