Class to create, store and output qgraph files. More...
#include <graph.H>


Classes | |
| class | writer |
| Abstract base class for a graph writer. More... | |
Public Member Functions | |
| graph (const string &title, const string &xName, const string &yName, const scalarField &x) | |
| Construct from title and labels (no curves). | |
| graph (const string &title, const string &xName, const string &yName, const scalarField &x, const scalarField &y) | |
| Construct from title, labels and y data for 1 curve. | |
| graph (const string &title, const string &xName, const string &yName, Istream &is) | |
| Construct from Istream given title and labels. | |
| graph (Istream &is) | |
| Construct from Istream. | |
| const string & | title () const |
| const string & | xName () const |
| const string & | yName () const |
| const scalarField & | x () const |
| scalarField & | x () |
| const scalarField & | y () const |
| scalarField & | y () |
| void | setXRange (const scalar x0, const scalar x1) |
| void | writeTable (Ostream &) const |
| Write out graph data as a simple table. | |
| void | write (Ostream &, const word &format) const |
| Write graph to stream in given format. | |
| void | write (const fileName &pName, const word &format) const |
| Write graph to file in given path-name and format. | |
| void | write (const fileName &path, const word &name, const word &format) const |
| Write graph to file in given path, name and format. | |
| Public Member Functions inherited from HashPtrTable< curve > | |
| constexpr | HashPtrTable () noexcept=default |
| Default construct: empty without allocation (capacity=0). | |
| ~HashPtrTable () | |
| Destructor. | |
| const curve * | test (const word &key) const |
| Return const pointer associated with given entry or a nullptr if the key does not exist in the table. | |
| const curve * | get (const word &key) const |
| Return const pointer associated with given entry or a nullptr if the key does not exist in the table. | |
| autoPtr< curve > | release (iterator &iter) |
| Release ownership of the pointer and replace with a nullptr. | |
| autoPtr< curve > | remove (iterator &iter) |
| Remove entry specified by given iterator. | |
| bool | erase (iterator &iter) |
| Erase entry specified by given iterator and delete the allocated pointer. | |
| void | clear () |
| Clear all entries from table and delete any allocated pointers. | |
| void | merge (HashPtrTable< curve, word, Foam::Hash< word > > &source) |
Attempts to extract entries from source parameter and insert them into this, does not overwrite existing entries. The source will contains any items that could not be merged. | |
| void | write (Ostream &os) const |
| Invoke write() on each non-null entry. | |
| void | operator= (const this_type &rhs) |
| Copy assignment. | |
| bool | emplace (const word &key, Args &&... args) |
| Emplace insert a new entry, not overwriting existing entries. | |
| curve & | emplace_set (const word &key, Args &&... args) |
| Emplace set an entry, overwriting any existing entries. | |
| curve & | try_emplace (const word &key, Args &&... args) |
| Like emplace_set() but will not overwrite an occupied (non-null) location. | |
| bool | insert (const word &, curve *)=delete |
| No insert() with raw pointers (potential memory leaks). Use insert() with autoPtr or set(). | |
| bool | set (const word &key, curve *ptr) |
| Assign a new entry, overwrites existing. | |
| Public Member Functions inherited from HashTable< T, Key, Hash > | |
| constexpr | HashTable () noexcept |
| Default construct: empty without allocation (capacity=0). | |
| constexpr | HashTable (Foam::zero) noexcept |
| Construct empty without allocation (capacity=0). | |
| HashTable (const label initialCapacity) | |
| Construct empty with initial table capacity. | |
| HashTable (Istream &is) | |
| Construct from Istream. | |
| HashTable (const this_type &ht) | |
| Copy construct. | |
| HashTable (this_type &&rhs) noexcept | |
| Move construct. | |
| HashTable (std::initializer_list< std::pair< Key, T > > list, const bool overwrite=false) | |
| Construct from key/value pairs in initializer list. | |
| HashTable (const UList< Key > &keys, const UList< T > &values, const bool overwrite=false) | |
| Construct from key/value pairs. | |
| ~HashTable () | |
| Destructor. | |
| bool | empty () const noexcept |
| True if the hash table is empty. | |
| label | size () const noexcept |
| The number of elements in table. | |
| label | capacity () const noexcept |
| The size of the underlying table (the number of buckets). | |
| T & | at (const Key &key) |
| Find and return a hashed entry. FatalError if it does not exist. | |
| const T & | at (const Key &key) const |
| Find and return a hashed entry. FatalError if it does not exist. | |
| bool | contains (const Key &key) const |
| True if hashed key is contained (found) in table. | |
| iterator | find (const Key &key) |
| Find and return an iterator set at the hashed entry. | |
| const_iterator | find (const Key &key) const |
| Find and return an const_iterator set at the hashed entry. | |
| const_iterator | cfind (const Key &key) const |
| Find and return an const_iterator set at the hashed entry. | |
| const T & | lookup (const Key &key, const T &deflt) const |
| Return hashed entry if it exists, or return the given default. | |
| List< Key > | toc () const |
| The table of contents (the keys) in unsorted order. | |
| List< Key > | sortedToc () const |
| The table of contents (the keys) in sorted order. | |
| template<class Compare> | |
| List< Key > | sortedToc (const Compare &comp) const |
| The table of contents (the keys) sorted according to the specified comparator. | |
| template<class UnaryPredicate> | |
| List< Key > | tocKeys (const UnaryPredicate &pred, const bool invert=false) const |
| The table of contents (the keys) selected according to the unary predicate applied to the keys. | |
| template<class UnaryPredicate> | |
| List< Key > | tocValues (const UnaryPredicate &pred, const bool invert=false) const |
| The table of contents (the keys) selected according to the unary predicate applied to the values. | |
| template<class BinaryPredicate> | |
| List< Key > | tocEntries (const BinaryPredicate &pred, const bool invert=false) const |
| The table of contents (the keys) selected according to the binary predicate applied to the keys and values. | |
| UPtrList< const node_type > | csorted () const |
| Const access to the hash-table contents in sorted order (sorted by keys). | |
| UPtrList< node_type > | sorted () |
| Non-const access to the hash-table contents in sorted order (sorted by keys). | |
| template<class UnaryPredicate> | |
| label | countKeys (const UnaryPredicate &pred, const bool invert=false) const |
| Count the number of keys that satisfy the unary predicate. | |
| template<class UnaryPredicate> | |
| label | countValues (const UnaryPredicate &pred, const bool invert=false) const |
| Count the number of values that satisfy the unary predicate. | |
| template<class BinaryPredicate> | |
| label | countEntries (const BinaryPredicate &pred, const bool invert=false) const |
| Count the number of entries that satisfy the binary predicate. | |
| template<class... Args> | |
| bool | emplace (const Key &key, Args &&... args) |
| Emplace insert a new entry, not overwriting existing entries. | |
| template<class... Args> | |
| bool | emplace_set (const Key &key, Args &&... args) |
| Emplace set an entry, overwriting any existing entries. | |
| bool | insert (const Key &key, const T &obj) |
| Copy insert a new entry, not overwriting existing entries. | |
| bool | insert (const Key &key, T &&obj) |
| Move insert a new entry, not overwriting existing entries. | |
| bool | set (const Key &key, const T &obj) |
| Copy assign a new entry, overwriting existing entries. | |
| bool | set (const Key &key, T &&obj) |
| Move assign a new entry, overwriting existing entries. | |
| bool | erase (const iterator &iter) |
| Erase an entry specified by given iterator. | |
| bool | erase (const Key &key) |
| Erase an entry specified by the given key. | |
| template<class AnyType, class AnyHash> | |
| label | erase (const HashTable< AnyType, Key, AnyHash > &other) |
| Remove table entries given by keys of the other hash-table. | |
| label | erase (std::initializer_list< Key > keys) |
| Remove table entries given by the listed keys. | |
| template<class InputIter> | |
| label | erase (InputIter first, InputIter last) |
| Remove multiple entries using an iterator range of keys. | |
| template<unsigned N> | |
| label | erase (const FixedList< Key, N > &keys) |
| Remove table entries given by the listed keys. | |
| label | erase (const UList< Key > &keys) |
| Remove table entries given by the listed keys. | |
| template<class AnyType, class AnyHash> | |
| label | retain (const HashTable< AnyType, Key, AnyHash > &other) |
| Retain table entries given by keys of the other hash-table. | |
| template<class UnaryPredicate> | |
| label | filterKeys (const UnaryPredicate &pred, const bool pruning=false) |
| Generalized means to filter table entries based on their keys. | |
| template<class UnaryPredicate> | |
| label | filterValues (const UnaryPredicate &pred, const bool pruning=false) |
| Generalized means to filter table entries based on their values. | |
| template<class BinaryPredicate> | |
| label | filterEntries (const BinaryPredicate &pred, const bool pruning=false) |
| Generalized means to filter table entries based on their key/value. | |
| void | clear () |
| Remove all entries from table. | |
| void | clearStorage () |
| Remove all entries from table and the table itself. | |
| void | setCapacity (label newCapacity) |
| Change the hash table capacity (number of buckets). | |
| void | resize (label newCapacity) |
| Rehash the hash table with new number of buckets. Currently identical to setCapacity(). | |
| void | reserve (label numEntries) |
| Reserve space for at least the specified number of elements (not the number of buckets) and regenerates the hash table. | |
| void | swap (HashTable< T, Key, Hash > &rhs) noexcept |
| Swap contents into this table. | |
| void | transfer (HashTable< T, Key, Hash > &rhs) |
| Transfer contents into this table. | |
| void | merge (HashTable< T, Key, Hash > &source) |
Attempts to extract entries from source parameter and insert them into this, does not overwrite existing entries. The source will contains any items that could not be merged. | |
| void | merge (HashTable< T, Key, Hash > &&source) |
Attempts to extract entries from source parameter and insert them into this, does not overwrite existing entries. The source will contains any items that could not be merged. | |
| T & | operator[] (const Key &key) |
| Find and return a hashed entry. FatalError if it does not exist. | |
| const T & | operator[] (const Key &key) const |
| Find and return a hashed entry. FatalError if it does not exist. | |
| T & | operator() (const Key &key) |
| Return existing entry or create a new entry. | |
| T & | operator() (const Key &key, const T &deflt) |
| Return existing entry or insert a new entry. | |
| void | operator= (const this_type &rhs) |
| Copy assign. | |
| void | operator= (std::initializer_list< std::pair< Key, T > > rhs) |
| Copy assign from an initializer list. | |
| void | operator= (this_type &&rhs) |
| Move assign. | |
| bool | operator== (const this_type &rhs) const |
| Equality. Tables are equal if all keys and values are equal, independent of order or underlying storage size. | |
| bool | operator!= (const this_type &rhs) const |
| The opposite of the equality operation. | |
| this_type & | operator+= (const this_type &rhs) |
| Add entries into this HashTable. | |
| const_iterator_pair< const_key_iterator, this_type > | keys () const |
| A const iterator begin/end pair for iterating over keys. | |
| iterator | begin () |
| iterator set to the beginning of the HashTable | |
| const_iterator | begin () const |
| const_iterator set to the beginning of the HashTable | |
| const_iterator | cbegin () const |
| const_iterator set to the beginning of the HashTable | |
| iterator | end () noexcept |
| iterator to signal the end (for any HashTable) | |
| const_iterator | end () const noexcept |
| const_iterator to signal the end (for any HashTable) | |
| constexpr const_iterator | cend () const noexcept |
| const_iterator to signal the end (for any HashTable) | |
| Ostream & | printInfo (Ostream &os) const |
| Print information. | |
| Ostream & | writeKeys (Ostream &os, const label shortLen=0) const |
| Write unordered keys (list), with line-breaks when length exceeds shortLen. | |
| bool | found (const Key &key) const |
| Same as contains(). | |
| UPtrList< const node_type > | sorted () const |
| Deprecated(2023-07) use csorted() method. | |
| template<class Compare> | |
| Foam::List< Key > | sortedToc (const Compare &comp) const |
| template<class UnaryPredicate> | |
| Foam::List< Key > | tocKeys (const UnaryPredicate &pred, const bool invert) const |
| template<class UnaryPredicate> | |
| Foam::List< Key > | tocValues (const UnaryPredicate &pred, const bool invert) const |
| template<class BinaryPredicate> | |
| Foam::List< Key > | tocEntries (const BinaryPredicate &pred, const bool invert) const |
| template<class UnaryPredicate> | |
| Foam::label | countKeys (const UnaryPredicate &pred, const bool invert) const |
| template<class UnaryPredicate> | |
| Foam::label | countValues (const UnaryPredicate &pred, const bool invert) const |
| template<class BinaryPredicate> | |
| Foam::label | countEntries (const BinaryPredicate &pred, const bool invert) const |
| template<class InputIter> | |
| Foam::label | erase (InputIter first, InputIter last) |
| template<unsigned N> | |
| Foam::label | erase (const FixedList< Key, N > &keys) |
| template<class AnyType, class AnyHash> | |
| Foam::label | erase (const HashTable< AnyType, Key, AnyHash > &other) |
| template<class AnyType, class AnyHash> | |
| Foam::label | retain (const HashTable< AnyType, Key, AnyHash > &other) |
| template<class UnaryPredicate> | |
| Foam::label | filterKeys (const UnaryPredicate &pred, const bool pruning) |
| template<class UnaryPredicate> | |
| Foam::label | filterValues (const UnaryPredicate &pred, const bool pruning) |
| template<class BinaryPredicate> | |
| Foam::label | filterEntries (const BinaryPredicate &pred, const bool pruning) |
| Public Member Functions inherited from HashTableCore | |
| ClassName ("HashTable") | |
| Declare type-name (with debug switch). | |
| constexpr | HashTableCore () noexcept=default |
| Default construct. | |
Static Public Member Functions | |
| static word | wordify (const string &sname) |
| Helper function to convert string name into appropriate word. | |
| Static Public Member Functions inherited from HashTableCore | |
| static label | canonicalSize (const label size) noexcept |
| Return a canonical (power-of-two) of the requested size. | |
Friends | |
| Ostream & | operator<< (Ostream &, const graph &) |
| Ostream Operator. | |
Additional Inherited Members | |
| Public Types inherited from HashPtrTable< curve > | |
| typedef HashPtrTable< curve, word, Foam::Hash< word > > | this_type |
| The template instance used for this table. | |
| typedef HashTable< curve *, word, Foam::Hash< word > > | parent_type |
| The template instance used for the parent HashTable. | |
| using | iterator |
| using | const_iterator |
| Public Types inherited from HashTable< T, Key, Hash > | |
| typedef HashTable< T, Key, Hash > | this_type |
| The template instance used for this HashTable. | |
| using | node_type |
| A table entry (node) that encapsulates the key/val tuple with an additional linked-list entry for hash collisions. | |
| typedef Key | key_type |
| The second template parameter, type of keys used. | |
| typedef T | mapped_type |
| The first template parameter, type of objects contained. | |
| typedef T | value_type |
| Same as mapped_type for OpenFOAM HashTables. | |
| typedef Hash | hasher |
| The third template parameter, the hash index method. | |
| typedef T * | pointer |
| Pointer type for storing into value_type objects. | |
| typedef T & | reference |
| Reference to the stored value_type. | |
| typedef const T * | const_pointer |
| Const pointer type for the stored value_type. | |
| typedef const T & | const_reference |
| Const reference to the stored value_type. | |
| typedef label | difference_type |
| The type to represent the difference between two iterators. | |
| typedef label | size_type |
| The type that can represent the size of a HashTable. | |
| using | key_iterator = key_iterator_base<iterator> |
| Forward iterator returning the key. | |
| using | const_key_iterator = key_iterator_base<const_iterator> |
| Forward const iterator returning the key. | |
| Static Public Attributes inherited from HashTableCore | |
| static constexpr int32_t | maxTableSize = (1 << (32-3)) |
| Maximum allowable internal table size (must be a power of two!). | |
Class to create, store and output qgraph files.
| graph | ( | const string & | title, |
| const string & | xName, | ||
| const string & | yName, | ||
| const scalarField & | x ) |
Construct from title and labels (no curves).
Definition at line 74 of file graph.C.
References title(), x(), xName(), and yName().
Referenced by operator<<, and graph::writer::write().


| graph | ( | const string & | title, |
| const string & | xName, | ||
| const string & | yName, | ||
| const scalarField & | x, | ||
| const scalarField & | y ) |
Construct from title, labels and y data for 1 curve.
Definition at line 89 of file graph.C.
References curve::curveStyle::CONTINUOUS, HashPtrTable< curve >::set(), title(), wordify(), x(), xName(), y(), and yName().

|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 165 of file graph.H.
Referenced by graph(), graph(), Foam::kShellIntegration(), noiseFFT::PSD(), and graph::writer::writeXY().

|
inline |
| const Foam::scalarField & y | ( | ) | const |
Definition at line 137 of file graph.C.
References HashTable< T, Key, Hash >::begin(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, and HashTable< T, Key, Hash >::size().
Referenced by graph(), noiseFFT::PSD(), and graph::writer::writeXY().


| Foam::scalarField & y | ( | ) |
Definition at line 150 of file graph.C.
References HashTable< T, Key, Hash >::begin(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, and HashTable< T, Key, Hash >::size().

| void setXRange | ( | const scalar | x0, |
| const scalar | x1 ) |
Definition at line 163 of file graph.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, forAllIters, and Foam::nl.

| void writeTable | ( | Ostream & | os | ) | const |
Write out graph data as a simple table.
Definition at line 244 of file graph.C.
References Foam::endl(), forAll, forAllConstIters, os(), Foam::setw(), and token::SPACE.

Write graph to stream in given format.
Definition at line 259 of file graph.C.
References format(), graph::writer::New(), os(), and write().
Referenced by Foam::makeGraph(), Foam::writeCellGraph(), and Foam::writePatchGraph().


Write graph to file in given path-name and format.
Definition at line 265 of file graph.C.
References Foam::endl(), format(), IOstream::good(), OFstream::name(), graph::writer::New(), WarningInFunction, write(), and writer().

Write graph to file in given path, name and format.
Definition at line 284 of file graph.C.
References format(), Foam::mkDir(), Foam::name(), path(), and write().

|
static |
Helper function to convert string name into appropriate word.
Definition at line 40 of file graph.C.
References string::replace().
Referenced by graph().

