<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">dictionary.hpp</div></div>
</div><!--header-->
<divclass="contents">
<ahref="dictionary_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="l00020"></a><spanclass="lineno"> 20</span> <spanclass="comment">// based on OpenFOAM dictionary, with some modifications/simplifications</span></div>
<divclass="line"><aname="l00021"></a><spanclass="lineno"> 21</span> <spanclass="comment">// to be tailored to our needs</span></div>
<divclass="line"><aname="l00115"></a><spanclass="lineno"> 115</span> <spanclass="comment">// null dictionary object, to be used for references </span></div>
<divclass="line"><aname="l00260"></a><spanclass="lineno"> 260</span>  T <aclass="code"href="classpFlow_1_1dictionary.html#a523bcff98ab38f3c5961e56eeb0b1d47">getVal</a>(<spanclass="keyword">const</span><aclass="code"href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&<aclass="code"href="classpFlow_1_1iEntry.html#a7c88d41e6cee4f2ba2bfa06e3078373a">keyword</a>) <spanclass="keyword">const</span>;</div>
<divclass="line"><aname="l00365"></a><spanclass="lineno"> 365</span> <aclass="code"href="classpFlow_1_1iTstream.html">iTstream</a>& is = <spanclass="keyword">dynamic_cast<</span><aclass="code"href="classpFlow_1_1dataEntry.html">dataEntry</a>&<spanclass="keyword">></span>(*entry).<aclass="code"href="classpFlow_1_1dataEntry.html#aec6909dffed34a3c8c286c344e4cf656">stream</a>();</div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a8a0ae40ed4ddfc34371027fff32a0659"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a8a0ae40ed4ddfc34371027fff32a0659">pFlow::dictionary::orderedEntries_</a></div><divclass="ttdeci">List< iEntry * > orderedEntries_</div><divclass="ttdoc">entries in order of insertion</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8hpp_source.html#l00082">dictionary.hpp:82</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a5585dc9a8b971fbfe2c99fdb75c5d647"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a5585dc9a8b971fbfe2c99fdb75c5d647">pFlow::dictionary::getValOrSet</a></div><divclass="ttdeci">T getValOrSet(const word &keyword, const T &setVal) const</div><divclass="ttdoc">get the value of data entry or if not found, set the value to setVal</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8hpp_source.html#l00415">dictionary.hpp:415</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a50fd7d13a0f7a6007ca5027b3bb8765a"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a50fd7d13a0f7a6007ca5027b3bb8765a">pFlow::dictionary::name_</a></div><divclass="ttdeci">word name_</div><divclass="ttdoc">global name of dictionary, separated with dots</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8hpp_source.html#l00076">dictionary.hpp:76</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dataEntry_html_aec6909dffed34a3c8c286c344e4cf656"><divclass="ttname"><ahref="classpFlow_1_1dataEntry.html#aec6909dffed34a3c8c286c344e4cf656">pFlow::dataEntry::stream</a></div><divclass="ttdeci">virtual iTstream & stream()</div><divclass="ttdoc">access to token stream</div><divclass="ttdef"><b>Definition:</b><ahref="dataEntry_8cpp_source.html#l00265">dataEntry.cpp:265</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a8148f2b6c694e069c67183105cf17ce4"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a8148f2b6c694e069c67183105cf17ce4">pFlow::dictionary::read</a></div><divclass="ttdeci">bool read(iIstream &is) override</div><divclass="ttdoc">read from stream</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00772">dictionary.cpp:772</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a013d55c9f22dfd9bbe81bd8890ea5929"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a013d55c9f22dfd9bbe81bd8890ea5929">pFlow::dictionary::allKeywords</a></div><divclass="ttdeci">wordList allKeywords() const</div><divclass="ttdoc">return all keywords (non-nullptr) in this dictionary</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00708">dictionary.cpp:708</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_aa7381535b14d85e166f4fd9f522b9e88"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#aa7381535b14d85e166f4fd9f522b9e88">pFlow::dictionary::findEntry</a></div><divclass="ttdeci">iEntry * findEntry(const word &keyword)</div><divclass="ttdoc">find an entry based on keyword return nullptr if not found</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00106">dictionary.cpp:106</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_aa915306f87921d86b69eaeb8032015f7"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#aa915306f87921d86b69eaeb8032015f7">pFlow::dictionary::parDict_</a></div><divclass="ttdeci">const dictionary & parDict_</div><divclass="ttdoc">ref to parrent dictionary</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8hpp_source.html#l00085">dictionary.hpp:85</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_1dictionary_html_adc0d9e77818c0cbe8dc3b9d70626d65c"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#adc0d9e77818c0cbe8dc3b9d70626d65c">pFlow::dictionary::operator=</a></div><divclass="ttdeci">dictionary & operator=(const dictionary &rhs)</div><divclass="ttdoc">assignment preserve name of this dictionary only entries are transfered with ownership</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00310">dictionary.cpp:310</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a237be7839e89d0067af0ffc5405e36ee"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a237be7839e89d0067af0ffc5405e36ee">pFlow::dictionary::addOrKeep</a></div><divclass="ttdeci">bool addOrKeep(const word &keyword, const T &v)</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8hpp_source.html#l00343">dictionary.hpp:343</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_1dictionary_html_a85c3c1fce0c14d36030092df2f27b632"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a85c3c1fce0c14d36030092df2f27b632">pFlow::dictionary::globalName</a></div><divclass="ttdeci">virtual word globalName() const</div><divclass="ttdoc">global name of entry, separated with dots</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00356">dictionary.cpp:356</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_aa4d7322eaead3c887a9283546628de96"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#aa4d7322eaead3c887a9283546628de96">pFlow::dictionary::subDictOrCreate</a></div><divclass="ttdeci">dictionary & subDictOrCreate(const word &keyword)</div><divclass="ttdoc">search for a sub-dict with keyword create a new sub-dict if not found and return a ref to it fatalExi...</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00647">dictionary.cpp:647</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a6ae2ea14b8b5e5661c2f207aae2d4bdc"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a6ae2ea14b8b5e5661c2f207aae2d4bdc">pFlow::dictionary::add</a></div><divclass="ttdeci">bool add(const word &keyword, const float &v)</div><divclass="ttdoc">add a float dataEntry</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00435">dictionary.cpp:435</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1iEntry_html_a7c88d41e6cee4f2ba2bfa06e3078373a"><divclass="ttname"><ahref="classpFlow_1_1iEntry.html#a7c88d41e6cee4f2ba2bfa06e3078373a">pFlow::iEntry::keyword</a></div><divclass="ttdeci">virtual const word & keyword() const</div><divclass="ttdoc">return keyword</div><divclass="ttdef"><b>Definition:</b><ahref="iEntry_8hpp_source.html#l00088">iEntry.hpp:88</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_aed15599ef76092b99a4f4241816eff02"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#aed15599ef76092b99a4f4241816eff02">pFlow::dictionary::isDictionary</a></div><divclass="ttdeci">virtual bool isDictionary() const</div><divclass="ttdoc">if this is a dictionary</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00351">dictionary.cpp:351</a></div></div>
<divclass="ttc"id="anamespacepFlow_html_aba8f0c455a3fdb4b05ad33a25b13b189"><divclass="ttname"><ahref="namespacepFlow.html#aba8f0c455a3fdb4b05ad33a25b13b189">pFlow::endl</a></div><divclass="ttdeci">iOstream & endl(iOstream &os)</div><divclass="ttdoc">Add newline and flush stream.</div><divclass="ttdef"><b>Definition:</b><ahref="iOstream_8hpp_source.html#l00341">iOstream.hpp:341</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a7ca8222c7de98177fe1e8e9d2615f77d"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a7ca8222c7de98177fe1e8e9d2615f77d">pFlow::dictionary::containsDataEntry</a></div><divclass="ttdeci">bool containsDataEntry(const word &name) const</div><divclass="ttdoc">check if a data entry exist</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00761">dictionary.cpp:761</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a19ffc40573d3199c2368b9aac1b8129c"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a19ffc40573d3199c2368b9aac1b8129c">pFlow::dictionary::dictionaryKeywords</a></div><divclass="ttdeci">wordList dictionaryKeywords() const</div><divclass="ttdoc">return a list of all dictionary (non-null) keywords</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00734">dictionary.cpp:734</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a33ae8969435c4cbab441451744588591"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a33ae8969435c4cbab441451744588591">pFlow::dictionary::dictPtr</a></div><divclass="ttdeci">virtual dictionary * dictPtr()</div><divclass="ttdoc">pointer to this dictionary</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00339">dictionary.cpp:339</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_af840c50afcef1f94a6eceea0408dc7a3"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#af840c50afcef1f94a6eceea0408dc7a3">pFlow::dictionary::entries_</a></div><divclass="ttdeci">wordOrderedMapPtr< iEntry > entries_</div><divclass="ttdoc">all the entries (data and dictionary) of the current dictionary</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8hpp_source.html#l00079">dictionary.hpp:79</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1fileSystem_html"><divclass="ttname"><ahref="classpFlow_1_1fileSystem.html">pFlow::fileSystem</a></div><divclass="ttdoc">Manages file pathes, manupulate and combines them.</div><divclass="ttdef"><b>Definition:</b><ahref="fileSystem_8hpp_source.html#l00071">fileSystem.hpp:71</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_ac17b017ed4e1be84fa2e9144946603e0"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#ac17b017ed4e1be84fa2e9144946603e0">pFlow::dictionary::containsDictionay</a></div><divclass="ttdeci">bool containsDictionay(const word &name) const</div><divclass="ttdoc">check if a sub-dictionary exists</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00749">dictionary.cpp:749</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a9bfda49f1d887e8dda9b3b308c256c94"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a9bfda49f1d887e8dda9b3b308c256c94">pFlow::dictionary::getValMin</a></div><divclass="ttdeci">T getValMin(const word &keyword, const T &minVal) const</div><divclass="ttdoc">get the value of data entry and return min(value, minVal)</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8hpp_source.html#l00405">dictionary.hpp:405</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dataEntry_html"><divclass="ttname"><ahref="classpFlow_1_1dataEntry.html">pFlow::dataEntry</a></div><divclass="ttdoc">Data entry to be used in dictionries.</div><divclass="ttdef"><b>Definition:</b><ahref="dataEntry_8hpp_source.html#l00048">dataEntry.hpp:48</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_ac2b3c7c47189ea97d962234a53f600d2"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#ac2b3c7c47189ea97d962234a53f600d2">pFlow::dictionary::getValMax</a></div><divclass="ttdeci">T getValMax(const word &keyword, const T &maxVal) const</div><divclass="ttdoc">get the value of data entry and return max(value, maxVal)</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8hpp_source.html#l00395">dictionary.hpp:395</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a11637363d5043d0cff4e85d54581ada0"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a11637363d5043d0cff4e85d54581ada0">pFlow::dictionary::numEntries</a></div><divclass="ttdeci">size_t numEntries() const</div><divclass="ttdoc">return number of entris in this dictionary</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00677">dictionary.cpp:677</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_1dictionary_html_ad65f9c5bdcaa4a6d3690863d5f43e7c9"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#ad65f9c5bdcaa4a6d3690863d5f43e7c9">pFlow::dictionary::dataEntryPtr</a></div><divclass="ttdeci">dataEntry * dataEntryPtr(const word &keyword)</div><divclass="ttdoc">pointer to a dataEntry fatalExit if not found/not a dataEntry</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00598">dictionary.cpp:598</a></div></div>
<divclass="ttc"id="aerror_8hpp_html_aca9aa547c8441e4410a65a2ce7c21554"><divclass="ttname"><ahref="error_8hpp.html#aca9aa547c8441e4410a65a2ce7c21554">fatalErrorInFunction</a></div><divclass="ttdeci">#define fatalErrorInFunction</div><divclass="ttdoc">Report a fatal error and function name and exit the application.</div><divclass="ttdef"><b>Definition:</b><ahref="error_8hpp_source.html#l00077">error.hpp:77</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a9d7fc6701df5e2f0e274d35f2a2ce864"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a9d7fc6701df5e2f0e274d35f2a2ce864">pFlow::dictionary::isFileDict</a></div><divclass="ttdeci">virtual bool isFileDict() const</div><divclass="ttdoc">if dictionary is file dictionary, return false</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00380">dictionary.cpp:380</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a3c48fdd67832443dbef24c124f7512d2"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a3c48fdd67832443dbef24c124f7512d2">pFlow::dictionary::dict</a></div><divclass="ttdeci">virtual dictionary & dict()</div><divclass="ttdoc">ref to this dictionary, if it is a dictionary</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00369">dictionary.cpp:369</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a8943dec8dd658ffb5d0c1da773f37d9d"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a8943dec8dd658ffb5d0c1da773f37d9d">pFlow::dictionary::readDictionary</a></div><divclass="ttdeci">bool readDictionary(iIstream &is)</div><divclass="ttdoc">read dictionary from stream - without keyword</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00037">dictionary.cpp:37</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a177356b3dd247e48fdc2c715a68dce21"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a177356b3dd247e48fdc2c715a68dce21">pFlow::dictionary::writeDictionary</a></div><divclass="ttdeci">bool writeDictionary(iOstream &os, bool withBlock=true) const</div><divclass="ttdoc">write dictionary to stream - with keyword</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00087">dictionary.cpp:87</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a84ad7f4914a81375bf795a459911e26d"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a84ad7f4914a81375bf795a459911e26d">pFlow::dictionary::numDataEntries</a></div><divclass="ttdeci">size_t numDataEntries() const</div><divclass="ttdoc">return number of non-nullptr dataEntries</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00682">dictionary.cpp:682</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a713abeb5a65a5982d48bebb237e19722"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a713abeb5a65a5982d48bebb237e19722">pFlow::dictionary::dataEntryRef</a></div><divclass="ttdeci">dataEntry & dataEntryRef(const word &keyword)</div><divclass="ttdoc">ref to a subdictioanry fatalExit if not found/not a dataEntry</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00613">dictionary.cpp:613</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_aac753ee6ead0ddcdfb9e74f169c6bcec"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#aac753ee6ead0ddcdfb9e74f169c6bcec">pFlow::dictionary::write</a></div><divclass="ttdeci">bool write(iOstream &os) const override</div><divclass="ttdoc">write to stream</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00793">dictionary.cpp:793</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_ac2e8b8b4980850686b61c0e9755d7bf9"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#ac2e8b8b4980850686b61c0e9755d7bf9">pFlow::dictionary::subDictPtr</a></div><divclass="ttdeci">dictionary * subDictPtr(const word &keyword)</div><divclass="ttdoc">pointer to a subdictionary fatalExit if not found</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00542">dictionary.cpp:542</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a12735deb0a772333cdf4a4001bdce045"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a12735deb0a772333cdf4a4001bdce045">pFlow::dictionary::readDataEntry</a></div><divclass="ttdeci">bool readDataEntry(const word &keyword, T &val) const</div><divclass="ttdoc">reads a dataEntry with keyword from dictionary</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8hpp_source.html#l00357">dictionary.hpp:357</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a630c840647a3ebefe33336cc25a8b15d"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a630c840647a3ebefe33336cc25a8b15d">pFlow::dictionary::subDict</a></div><divclass="ttdeci">dictionary & subDict(const word &keyword)</div><divclass="ttdoc">ref to a subdictioanry fatalExit if not found</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00560">dictionary.cpp:560</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1iEntry_html_a73572f70de721e7793f801ae26c5a6c5"><divclass="ttname"><ahref="classpFlow_1_1iEntry.html#a73572f70de721e7793f801ae26c5a6c5">pFlow::iEntry::name</a></div><divclass="ttdeci">virtual word name() const</div><divclass="ttdoc">name/keyword of entry</div><divclass="ttdef"><b>Definition:</b><ahref="iEntry_8hpp_source.html#l00100">iEntry.hpp:100</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a523bcff98ab38f3c5961e56eeb0b1d47"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a523bcff98ab38f3c5961e56eeb0b1d47">pFlow::dictionary::getVal</a></div><divclass="ttdeci">T getVal(const word &keyword) const</div><divclass="ttdoc">get the value of data entry</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8hpp_source.html#l00379">dictionary.hpp:379</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a520c6483b3b2e0fa7d3997be204f3893"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a520c6483b3b2e0fa7d3997be204f3893">pFlow::dictionary::addPtr</a></div><divclass="ttdeci">bool addPtr(const word &keyword, uniquePtr< iEntry >&etry, bool warning=true)</div><divclass="ttdoc">add a pointer entry (dictionary/dataEntry) replaces this entry with existing one and issue a warning</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00386">dictionary.cpp:386</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a9f2e3b3f95165c31cf05a58663778900"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a9f2e3b3f95165c31cf05a58663778900">pFlow::dictionary::addOrReplace</a></div><divclass="ttdeci">bool addOrReplace(const word &keyword, const T &v)</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8hpp_source.html#l00445">dictionary.hpp:445</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_aef87c2ede8a688aa4158465d8f3646c9"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#aef87c2ede8a688aa4158465d8f3646c9">pFlow::dictionary::getValOrSetMin</a></div><divclass="ttdeci">T getValOrSetMin(const word &keyword, const T &setMinVal) const</div><divclass="ttdoc">get the value of data entry anf return max(setMinVal, value) if not found, set the value to setMinVal</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8hpp_source.html#l00438">dictionary.hpp:438</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_1iEntry_html"><divclass="ttname"><ahref="classpFlow_1_1iEntry.html">pFlow::iEntry</a></div><divclass="ttdoc">Interface calss for data entry and dictionary</div><divclass="ttdef"><b>Definition:</b><ahref="iEntry_8hpp_source.html#l00042">iEntry.hpp:42</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a4cea470990d165a35c1b2333a569b586"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a4cea470990d165a35c1b2333a569b586">pFlow::dictionary::dictionary</a></div><divclass="ttdeci">dictionary()</div><divclass="ttdoc">cunstructs a null dictionary</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00135">dictionary.cpp:135</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a884a981ad2a220efcd7f6e8bf6cd94e2"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a884a981ad2a220efcd7f6e8bf6cd94e2">pFlow::dictionary::addDict</a></div><divclass="ttdeci">bool addDict(const word &keyword, const dictionary &dict)</div><divclass="ttdoc">add a dictionary with the specifiedd keyword, if it exists, replace it.</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00526">dictionary.cpp:526</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_aec915adbf764f8fa9e30fbc16299b3da"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#aec915adbf764f8fa9e30fbc16299b3da">pFlow::dictionary::numDictionaries</a></div><divclass="ttdeci">size_t numDictionaries() const</div><divclass="ttdoc">return number of non-nullptr dictionaries</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00695">dictionary.cpp:695</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_aca2f2df45158b023ca13bb04943acfca"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#aca2f2df45158b023ca13bb04943acfca">pFlow::dictionary::getValOrSetMax</a></div><divclass="ttdeci">T getValOrSetMax(const word &keyword, const T &setMaxVal) const</div><divclass="ttdoc">get the value of data entry anf return max(setMaxVal, value) if not found, set the value to setMaxVal</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8hpp_source.html#l00432">dictionary.hpp:432</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a69904924abd50610c0a078515c9d39ed"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a69904924abd50610c0a078515c9d39ed">pFlow::dictionary::parrentDict</a></div><divclass="ttdeci">virtual const dictionary & parrentDict() const</div><divclass="ttdoc">const ref to parrent dictionary</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00362">dictionary.cpp:362</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1iOstream_html"><divclass="ttname"><ahref="classpFlow_1_1iOstream.html">pFlow::iOstream</a></div><divclass="ttdoc">Interface class for any output stream.</div><divclass="ttdef"><b>Definition:</b><ahref="iOstream_8hpp_source.html#l00059">iOstream.hpp:59</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a4ec29cc19fce60018543fdd6d7ebf971"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a4ec29cc19fce60018543fdd6d7ebf971">pFlow::dictionary::dataEntryKeywords</a></div><divclass="ttdeci">wordList dataEntryKeywords() const</div><divclass="ttdoc">return a list of all dataEntries (non-nullptr) keywords</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00719">dictionary.cpp:719</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html">pFlow::dictionary</a></div><divclass="ttdoc">Dictionary holds a set of data entries or sub-dictionaries that are enclosed in a curely braces or ar...</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8hpp_source.html#l00067">dictionary.hpp:67</a></div></div>