<metaname="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.">
<!-- iframe showing the search results (closed by default) -->
<divid="MSearchResultsWindow">
<iframesrc="javascript:void(0)"frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<divclass="header">
<divclass="headertitle">
<divclass="title">Istream.hpp</div></div>
</div><!--header-->
<divclass="contents">
<ahref="Istream_8hpp.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> <spanclass="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<divclass="line"><aname="l00002"></a><spanclass="lineno"> 2</span> <spanclass="comment"> O C enter of</span></div>
<divclass="line"><aname="l00003"></a><spanclass="lineno"> 3</span> <spanclass="comment"> O O E ngineering and</span></div>
<divclass="line"><aname="l00004"></a><spanclass="lineno"> 4</span> <spanclass="comment"> O O M ultiscale modeling of</span></div>
<divclass="line"><aname="l00005"></a><spanclass="lineno"> 5</span> <spanclass="comment"> OOOOOOO F luid flow </span></div>
<divclass="line"><aname="l00011"></a><spanclass="lineno"> 11</span> <spanclass="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<divclass="line"><aname="l00012"></a><spanclass="lineno"> 12</span> <spanclass="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<divclass="line"><aname="l00013"></a><spanclass="lineno"> 13</span> <spanclass="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<divclass="line"><aname="l00015"></a><spanclass="lineno"> 15</span> <spanclass="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<divclass="line"><aname="l00016"></a><spanclass="lineno"> 16</span> <spanclass="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<divclass="line"><aname="l00017"></a><spanclass="lineno"> 17</span> <spanclass="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<divclass="line"><aname="l00121"></a><spanclass="lineno"> 121</span> <spanclass="keyword">virtual</span><aclass="code"href="classpFlow_1_1iIstream.html">iIstream</a>&<aclass="code"href="classpFlow_1_1Istream.html#a2927b1d2adfb79cfbe30374f02109ac5">read</a>(<spanclass="keywordtype">char</span>& c) <spanclass="keyword">override</span>;</div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_a513d1fa6b29fa93acb75f0afe0a58dd5"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#a513d1fa6b29fa93acb75f0afe0a58dd5">pFlow::Istream::stdStream</a></div><divclass="ttdeci">virtual std::istream & stdStream()</div><divclass="ttdoc">Access to underlying std::istream.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8hpp_source.html#l00173">Istream.hpp:173</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1token_html"><divclass="ttname"><ahref="classpFlow_1_1token.html">pFlow::token</a></div><divclass="ttdoc">Token class based on OpenFOAM stream, with some modifications/simplifications to be tailored to our n...</div><divclass="ttdef"><b>Definition:</b><ahref="token_8hpp_source.html#l00044">token.hpp:44</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_a3d5ae683596fda5b3cb7e1e22750ced3"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#a3d5ae683596fda5b3cb7e1e22750ced3">pFlow::Istream::nextValid</a></div><divclass="ttdeci">char nextValid()</div><divclass="ttdoc">Get the next valid character.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8cpp_source.html#l00049">Istream.cpp:49</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_a7e71f99e176c31f799cb199c7ff6d5b8"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#a7e71f99e176c31f799cb199c7ff6d5b8">pFlow::Istream::readWordToken</a></div><divclass="ttdeci">void readWordToken(token &t)</div><divclass="ttdoc">Read a word token.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8cpp_source.html#l00127">Istream.cpp:127</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_a2bdbb2555e86aa90ede87dcc48e33f65"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#a2bdbb2555e86aa90ede87dcc48e33f65">pFlow::Istream::findBinaryBlockStart</a></div><divclass="ttdeci">size_t findBinaryBlockStart() override</div><divclass="ttdoc">It seek for a character sequence that indicates the start of a binary block char sequence is 255 255 ...</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8cpp_source.html#l00861">Istream.cpp:861</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_ae44e318a6d58d774d4eddf726dd543f4"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#ae44e318a6d58d774d4eddf726dd543f4">pFlow::Istream::tell</a></div><divclass="ttdeci">size_t tell() override</div><divclass="ttdoc">Return current position indicator.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8cpp_source.html#l00911">Istream.cpp:911</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_ad48b8b290ed666fa5a63bc93b3a6d042"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#ad48b8b290ed666fa5a63bc93b3a6d042">pFlow::Istream::Istream</a></div><divclass="ttdeci">Istream(std::istream &is, const word &streamName, writeFormat wf=ASCII)</div><divclass="ttdoc">Construct wrapper around std::istream, set stream status.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8cpp_source.html#l00304">Istream.cpp:304</a></div></div>
<divclass="ttc"id="anamespacepFlow_html_abd01e8e67e3d94cab04ecaaf4f85ac1b"><divclass="ttname"><ahref="namespacepFlow.html#abd01e8e67e3d94cab04ecaaf4f85ac1b">pFlow::uint32</a></div><divclass="ttdeci">unsigned int uint32</div><divclass="ttdef"><b>Definition:</b><ahref="builtinTypes_8hpp_source.html#l00056">builtinTypes.hpp:56</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_a093459b3399aba6fe0f57bbbc2925bc2"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#a093459b3399aba6fe0f57bbbc2925bc2">pFlow::Istream::name</a></div><divclass="ttdeci">virtual word & name()</div><divclass="ttdoc">Return non-const access to the name of the stream.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8hpp_source.html#l00087">Istream.hpp:87</a></div></div>
<divclass="ttc"id="anamespacepFlow_html_a94809bdb48183ff3ef62935d56f5c1e0"><divclass="ttname"><ahref="namespacepFlow.html#a94809bdb48183ff3ef62935d56f5c1e0">pFlow::int64</a></div><divclass="ttdeci">long long int int64</div><divclass="ttdef"><b>Definition:</b><ahref="builtinTypes_8hpp_source.html#l00052">builtinTypes.hpp:52</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_a754ce9966caae1ee331378bf4a87269b"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#a754ce9966caae1ee331378bf4a87269b">pFlow::Istream::name</a></div><divclass="ttdeci">virtual const word & name() const</div><divclass="ttdoc">Return the name of the stream.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8hpp_source.html#l00081">Istream.hpp:81</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_ab57115c7d3b788246557d319c80f9e8a"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#ab57115c7d3b788246557d319c80f9e8a">pFlow::Istream::readString</a></div><divclass="ttdeci">virtual iIstream & readString(word &str) override</div><divclass="ttdoc">Read a string.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8cpp_source.html#l00680">Istream.cpp:680</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html"><divclass="ttname"><ahref="classpFlow_1_1Istream.html">pFlow::Istream</a></div><divclass="ttdoc">Standard input stream for binary and ascii data.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8hpp_source.html#l00039">Istream.hpp:39</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1iIstream_html"><divclass="ttname"><ahref="classpFlow_1_1iIstream.html">pFlow::iIstream</a></div><divclass="ttdoc">Interface class for any input stream</div><divclass="ttdef"><b>Definition:</b><ahref="iIstream_8hpp_source.html#l00037">iIstream.hpp:37</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_aba7335ea9b5adb9f02359e7ee2556431"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#aba7335ea9b5adb9f02359e7ee2556431">pFlow::Istream::readVariable</a></div><divclass="ttdeci">Istream & readVariable(word &str)</div><divclass="ttdoc">Read a variable name starting with '$'.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8cpp_source.html#l00141">Istream.cpp:141</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_a2927b1d2adfb79cfbe30374f02109ac5"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#a2927b1d2adfb79cfbe30374f02109ac5">pFlow::Istream::read</a></div><divclass="ttdeci">virtual iIstream & read(token &t) override</div><divclass="ttdoc">Return next token from stream.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8cpp_source.html#l00392">Istream.cpp:392</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_a4b24d3a74d38ac71f0c83493e2e96ef8"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#a4b24d3a74d38ac71f0c83493e2e96ef8">pFlow::Istream::get</a></div><divclass="ttdeci">Istream & get(char &c)</div><divclass="ttdoc">Raw, low-level get character function.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8cpp_source.html#l00325">Istream.cpp:325</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_a16b5576a276bb013a4bfc1dccacf3671"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#a16b5576a276bb013a4bfc1dccacf3671">pFlow::Istream::rewind</a></div><divclass="ttdeci">void rewind() override</div><divclass="ttdoc">Rewind the stream so that it may be read again.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8cpp_source.html#l00891">Istream.cpp:891</a></div></div>
<divclass="ttc"id="anamespacepFlow_html_aeefdb2888fa3c58f2454ef004419e6a5"><divclass="ttname"><ahref="namespacepFlow.html#aeefdb2888fa3c58f2454ef004419e6a5">pFlow::uint64</a></div><divclass="ttdeci">unsigned long long int uint64</div><divclass="ttdef"><b>Definition:</b><ahref="builtinTypes_8hpp_source.html#l00058">builtinTypes.hpp:58</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_ada47b7405e5eaa26f35e795f291164bf"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#ada47b7405e5eaa26f35e795f291164bf">pFlow::Istream::flags</a></div><divclass="ttdeci">virtual ios_base::fmtflags flags() const</div><divclass="ttdoc">Return flags of output stream.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8cpp_source.html#l00927">Istream.cpp:927</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_a7a17167d833673fb25c95ae879d14b18"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#a7a17167d833673fb25c95ae879d14b18">pFlow::Istream::stdStream</a></div><divclass="ttdeci">virtual const std::istream & stdStream() const</div><divclass="ttdoc">Const access to underlying std::istream.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8hpp_source.html#l00179">Istream.hpp:179</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_a469a625701584441d1d62023823cd452"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#a469a625701584441d1d62023823cd452">pFlow::Istream::putback</a></div><divclass="ttdeci">Istream & putback(const char c)</div><divclass="ttdoc">Raw, low-level putback character function.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8cpp_source.html#l00375">Istream.cpp:375</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_a1795762addc0a9a1c0d105e81b1a47c2"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#a1795762addc0a9a1c0d105e81b1a47c2">pFlow::Istream::getLine</a></div><divclass="ttdeci">Istream & getLine(word &str, char delim='\n')</div><divclass="ttdoc">Raw, low-level getline (until delimiter) into a string.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8cpp_source.html#l00345">Istream.cpp:345</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Istream_html_ae07f290f478c5378efde3613f1396f95"><divclass="ttname"><ahref="classpFlow_1_1Istream.html#ae07f290f478c5378efde3613f1396f95">pFlow::Istream::is_</a></div><divclass="ttdeci">std::istream & is_</div><divclass="ttdoc">Input stream.</div><divclass="ttdef"><b>Definition:</b><ahref="Istream_8hpp_source.html#l00049">Istream.hpp:49</a></div></div>