IOMap< T > Class Template Reference

A Map of objects of type <T> with automated input and output. Is a global object; i.e. can be read from undecomposed case. More...

Inheritance diagram for IOMap< T >:
Collaboration diagram for IOMap< T >:

Public Member Functions

 TypeName ("Map")
 Runtime type information. More...
 
 IOMap (const IOobject &)
 Construct from IOobject. More...
 
 IOMap (const IOobject &, const label)
 Construct from IOobject and size of Map. More...
 
 IOMap (const IOobject &, const Map< T > &)
 Construct from IOobject and a Map. More...
 
 IOMap (const IOobject &, Map< T > &&)
 Move construct by transferring the Map contents. More...
 
 IOMap (IOMap< T > &&)
 Move constructor. More...
 
virtual ~IOMap ()
 Destructor. More...
 
bool writeData (Ostream &) const
 Pure virtual writaData function. More...
 
virtual bool global () const
 Is object global. More...
 
virtual fileName filePath () const
 Return complete path + object name if the file exists. More...
 
void operator= (const IOMap< T > &)
 Assignment of other IOMap's entries to this IOMap. More...
 
void operator= (IOMap< T > &&)
 Move assignment of other IOMap's entries to this IOMap. More...
 
void operator= (const Map< T > &)
 Assignment of other Map's entries to this IOMap. More...
 
void operator= (Map< T > &&)
 Move assignment of other Map's entries to this IOMap. More...
 
- Public Member Functions inherited from regIOobject
 TypeName ("regIOobject")
 Runtime type information. More...
 
 regIOobject (const IOobject &, const bool isTime=false)
 Construct from IOobject. Optional flag for if IOobject is the. More...
 
 regIOobject (const regIOobject &)
 Copy constructor. More...
 
 regIOobject (const regIOobject &, bool registerCopy)
 Copy constructor, transferring registry registration to copy. More...
 
 regIOobject (const word &newName, const regIOobject &, bool registerCopy)
 Copy constructor with new name, transferring registry registration. More...
 
 regIOobject (const IOobject &, const regIOobject &)
 Copy constructor with new IO parameters. More...
 
virtual ~regIOobject ()
 Destructor. More...
 
bool checkIn ()
 Add object to registry. More...
 
bool checkOut ()
 Remove object from registry. More...
 
virtual void addWatch ()
 Add file watch on object (if registered and READ_IF_MODIFIED) More...
 
bool ownedByRegistry () const
 Is this object owned by the registry? More...
 
void store ()
 Transfer ownership of this object to its registry. More...
 
void release ()
 Release ownership of this object from its registry. More...
 
label eventNo () const
 Event number at last update. More...
 
labeleventNo ()
 Event number at last update. More...
 
bool upToDate (const regIOobject &) const
 Return true if up-to-date with respect to given object. More...
 
bool upToDate (const regIOobject &, const regIOobject &) const
 Return true if up-to-date with respect to given objects. More...
 
bool upToDate (const regIOobject &, const regIOobject &, const regIOobject &) const
 Return true if up-to-date with respect to given objects. More...
 
bool upToDate (const regIOobject &, const regIOobject &, const regIOobject &, const regIOobject &) const
 Return true if up-to-date with respect to given objects. More...
 
void setUpToDate ()
 Set up to date (obviously) More...
 
virtual void rename (const word &newName)
 Rename. More...
 
bool headerOk ()
 Read and check header info. More...
 
IstreamreadStream (const word &, const bool read=true)
 Return Istream and check object type against that given. More...
 
void close ()
 Close Istream. More...
 
virtual bool readData (Istream &)
 Virtual readData function. More...
 
virtual bool read ()
 Read object. More...
 
virtual label addWatch (const fileName &)
 Add file watch for fileName on object if not yet watched. Return. More...
 
const labelListwatchIndices () const
 Return file-monitoring handles. More...
 
labelListwatchIndices ()
 Return file-monitoring handles. More...
 
virtual bool modified () const
 Return true if the object's file (or files for objectRegistry) More...
 
virtual bool readIfModified ()
 Read object if modified (as set by call to modified) More...
 
virtual bool writeObject (IOstream::streamFormat, IOstream::versionNumber, IOstream::compressionType, const bool write) const
 Write using given format, version and compression. More...
 
virtual bool write (const bool write=true) const
 Write using setting from DB. More...
 
void operator= (const IOobject &)
 
- Public Member Functions inherited from IOobject
 TypeName ("IOobject")
 Runtime type information. More...
 
 IOobject (const word &name, const fileName &instance, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
 Construct from name, instance, registry, io options. More...
 
 IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
 Construct from name, instance, local, registry, io options. More...
 
 IOobject (const fileName &path, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
 Construct from path, registry, io options. More...
 
 IOobject (const IOobject &io, const objectRegistry &registry)
 Construct from copy resetting registry. More...
 
 IOobject (const IOobject &io, const word &name)
 Construct from copy resetting name. More...
 
 IOobject (const IOobject &io)=default
 Copy constructor. More...
 
autoPtr< IOobjectclone () const
 Clone. More...
 
autoPtr< IOobjectclone (const objectRegistry &registry) const
 Clone resetting registry. More...
 
virtual ~IOobject ()
 Destructor. More...
 
const Timetime () const
 Return time. More...
 
const objectRegistrydb () const
 Return the local objectRegistry. More...
 
const wordname () const
 Return name. More...
 
const wordheaderClassName () const
 Return name of the class name read from header. More...
 
wordheaderClassName ()
 Return name of the class name read from header. More...
 
stringnote ()
 Return non-constant access to the optional note. More...
 
const stringnote () const
 Return the optional note. More...
 
bool & registerObject ()
 Register object created from this IOobject with registry if true. More...
 
bool registerObject () const
 Register object created from this IOobject with registry if true. More...
 
readOption readOpt () const
 
readOptionreadOpt ()
 
writeOption writeOpt () const
 
writeOptionwriteOpt ()
 
word group () const
 Return group (extension part of name) More...
 
word member () const
 Return member (name without the extension) More...
 
word modelName (const char *name) const
 Return the name of the object within this model. More...
 
const fileNamerootPath () const
 
const fileNamecaseName () const
 
const fileNameinstance () const
 
fileNameinstance ()
 
const fileNamelocal () const
 
fileName path () const
 Return complete path. More...
 
fileName path (const word &instance, const fileName &local="") const
 Return complete path with alternative instance and local. More...
 
fileName localPath () const
 Return the path relative to the case. More...
 
fileName objectPath () const
 Return complete path + object name. More...
 
fileName localObjectPath () const
 Return complete localPath + object name. More...
 
fileName localFilePath (const word &typeName) const
 Helper for filePath that searches locally. More...
 
fileName globalFilePath (const word &typeName) const
 Helper for filePath that searches up if in parallel. More...
 
bool readHeader (Istream &)
 Read header. More...
 
template<class Type >
bool typeHeaderOk (const bool checkType=true)
 Read header (uses typeFilePath to find file) and check header. More...
 
template<class Type >
void warnNoRereading () const
 Helper: warn that type does not support re-reading. More...
 
bool writeHeader (Ostream &) const
 Write header. More...
 
bool writeHeader (Ostream &, const word &objectType) const
 Write header. Allow override of type. More...
 
bool good () const
 
bool bad () const
 
InfoProxy< IOobjectinfo () const
 Return info proxy. More...
 
void operator= (const IOobject &)
 
template<class Name >
Foam::word groupName (Name name, const word &group)
 
template<class Name >
Foam::word modelName (Name name, const word &model)
 
- Public Member Functions inherited from Map< T >
 Map (const label size=128)
 Construct given initial size. More...
 
 Map (Istream &is)
 Construct from Istream. More...
 
 Map (const Map< T > &map)
 Copy constructor. More...
 
 Map (Map< T > &&map)
 Move constructor. More...
 
 Map (HashTable< T, label, Hash< label >> &&map)
 Move constructor. More...
 
 Map (std::initializer_list< Tuple2< label, T >> map)
 Construct from an initializer list. More...
 
void operator= (const Map< T > &map)
 
void operator= (Map< T > &&map)
 
- Public Member Functions inherited from HashTable< T, label, Hash< label > >
bool set (const label &, const T &newElmt)
 Assign a new hashedEntry, overwriting existing entries. More...
 
 HashTable (const label size=128)
 Construct given initial table size. More...
 
 HashTable (Istream &, const label size=128)
 Construct from Istream. More...
 
 HashTable (const HashTable< T, label, Hash< label > > &)
 Copy constructor. More...
 
 HashTable (HashTable< T, label, Hash< label > > &&)
 Move constructor. More...
 
 HashTable (std::initializer_list< Tuple2< label, T >>)
 Construct from an initializer list. More...
 
 ~HashTable ()
 Destructor. More...
 
label capacity () const
 The size of the underlying table. More...
 
label size () const
 Return number of elements in table. More...
 
bool empty () const
 Return true if the hash table is empty. More...
 
bool found (const label &) const
 Return true if hashedEntry is found in table. More...
 
iterator find (const label &)
 Find and return an iterator set at the hashedEntry. More...
 
const_iterator find (const label &) const
 Find and return an const_iterator set at the hashedEntry. More...
 
List< labeltoc () const
 Return the table of contents. More...
 
List< labelsortedToc () const
 Return the table of contents as a sorted list. More...
 
OstreamprintInfo (Ostream &) const
 Print information. More...
 
bool insert (const label &, const T &newElmt)
 Insert a new hashedEntry. More...
 
bool erase (const iterator &)
 Erase a hashedEntry specified by given iterator. More...
 
bool erase (const label &)
 Erase a hashedEntry specified by the given key. More...
 
label erase (const UList< label > &)
 Remove entries given by the listed keys from this HashTable. More...
 
label erase (const HashTable< AnyType, label, AnyHash > &)
 Remove entries given by the given keys from this HashTable. More...
 
Foam::label erase (const HashTable< AnyType, label, AnyHash > &rhs)
 
void resize (const label newSize)
 Resize the hash table for efficiency. More...
 
void clear ()
 Clear all entries from table. More...
 
void clearStorage ()
 Clear the table entries and the table itself. More...
 
void shrink ()
 Shrink the allocated table to approx. twice number of elements. More...
 
void transfer (HashTable< T, label, Hash< label > > &)
 Transfer the contents of the argument table into this table. More...
 
Toperator[] (const label &)
 Find and return a hashedEntry. More...
 
const Toperator[] (const label &) const
 Find and return a hashedEntry. More...
 
Toperator() (const label &)
 Find and return a hashedEntry, create it null if not present. More...
 
void operator= (const HashTable< T, label, Hash< label > > &)
 Assignment operator. More...
 
void operator= (HashTable< T, label, Hash< label > > &&)
 Move assignment operator. More...
 
void operator= (std::initializer_list< Tuple2< label, T >>)
 Assignment to an initializer list. More...
 
bool operator== (const HashTable< T, label, Hash< label > > &) const
 Equality. Hash tables are equal if the keys and values are equal. More...
 
bool operator!= (const HashTable< T, label, Hash< label > > &) const
 The opposite of the equality operation. Takes linear time. More...
 
iterator begin ()
 Iterator set to the beginning of the HashTable. More...
 
const_iterator begin () const
 const_iterator set to the beginning of the HashTable More...
 
const_iterator cbegin () const
 const_iterator set to the beginning of the HashTable More...
 
- Public Member Functions inherited from HashTableCore
 HashTableCore ()
 Construct null. More...
 
 ClassName ("HashTable")
 Define template name and debug. More...
 

Additional Inherited Members

- Public Types inherited from IOobject
enum  objectState { GOOD, BAD }
 Enumeration defining the valid states of an IOobject. More...
 
enum  readOption { MUST_READ, MUST_READ_IF_MODIFIED, READ_IF_PRESENT, NO_READ }
 Enumeration defining the read options. More...
 
enum  writeOption { AUTO_WRITE = 0, NO_WRITE = 1 }
 Enumeration defining the write options. More...
 
enum  fileCheckTypes { timeStamp, timeStampMaster, inotify, inotifyMaster }
 Enumeration defining the file checking options. More...
 
- Public Types inherited from Map< T >
typedef HashTable< T, label, Hash< label > >::iterator iterator
 
typedef HashTable< T, label, Hash< label > >::const_iterator const_iterator
 
- Public Types inherited from HashTable< T, label, Hash< label > >
typedef T value_type
 Type of values the HashTable contains. More...
 
typedef Treference
 Type that can be used for storing into HashTable::value_type. More...
 
typedef const Tconst_reference
 Type that can be used for storing into constant. More...
 
typedef label size_type
 The type that can represent the size of a HashTable. More...
 
- Static Public Member Functions inherited from regIOobject
template<class Type >
static Type & store (Type *)
 Transfer ownership of the given object pointer to its registry. More...
 
template<class Type >
static Type & store (autoPtr< Type > &)
 Transfer ownership of the given object pointer to its registry. More...
 
- Static Public Member Functions inherited from IOobject
static bool fileNameComponents (const fileName &path, fileName &instance, fileName &local, word &name)
 Split path into instance, local, name components. More...
 
template<class Name >
static word groupName (Name name, const word &group)
 
static word group (const word &name)
 Return group (extension part of name) More...
 
static word member (const word &name)
 Return member (name without the extension) More...
 
template<class Name >
static word modelName (Name name, const word &model)
 Return the name of the object within the given model. More...
 
template<class Stream >
static Stream & writeBanner (Stream &os, bool noHint=false)
 Write the standard OpenFOAM file/dictionary banner. More...
 
template<class Stream >
static Stream & writeDivider (Stream &os)
 Write the standard file section divider. More...
 
template<class Stream >
static Stream & writeEndDivider (Stream &os)
 Write the standard end file divider. More...
 
- Static Public Member Functions inherited from HashTableCore
static label canonicalSize (const label)
 Return a canonical (power-of-two) size. More...
 
static iteratorEnd cend ()
 iteratorEnd set to beyond the end of any HashTable More...
 
static iteratorEnd end ()
 iteratorEnd set to beyond the end of any HashTable More...
 
- Static Public Attributes inherited from regIOobject
static float fileModificationSkew
 
- Static Public Attributes inherited from IOobject
static constexpr const char * foamFile = "FoamFile"
 Keyword for the FoamFile header sub-dictionary. More...
 
static const NamedEnum< fileCheckTypes, 4 > fileCheckTypesNames
 
static fileCheckTypes fileModificationChecking
 Type of file modification checking. More...
 
- Static Public Attributes inherited from HashTableCore
static const label maxTableSize
 Maximum allowable table size. More...
 
- Protected Member Functions inherited from regIOobject
bool readHeaderOk (const IOstream::streamFormat PstreamFormat, const word &typeName)
 Helper: check readOpt flags and read if necessary. More...
 
- Protected Member Functions inherited from IOobject
void setBad (const string &)
 Set the object state to bad. More...
 

Detailed Description

template<class T>
class Foam::IOMap< T >

A Map of objects of type <T> with automated input and output. Is a global object; i.e. can be read from undecomposed case.

Source files

Definition at line 51 of file IOMap.H.

Constructor & Destructor Documentation

◆ IOMap() [1/5]

◆ IOMap() [2/5]

IOMap ( const IOobject io,
const label  size 
)

◆ IOMap() [3/5]

IOMap ( const IOobject io,
const Map< T > &  map 
)

◆ IOMap() [4/5]

IOMap ( const IOobject io,
Map< T > &&  map 
)

Move construct by transferring the Map contents.

Definition at line 107 of file IOMap.C.

References regIOobject::addWatch(), regIOobject::close(), regIOobject::headerOk(), IOobject::MUST_READ, IOobject::MUST_READ_IF_MODIFIED, IOobject::READ_IF_PRESENT, IOobject::readOpt(), and regIOobject::readStream().

Here is the call graph for this function:

◆ IOMap() [5/5]

IOMap ( IOMap< T > &&  map)

Move constructor.

Definition at line 131 of file IOMap.C.

◆ ~IOMap()

~IOMap ( )
virtual

Destructor.

Definition at line 141 of file IOMap.C.

Member Function Documentation

◆ TypeName()

TypeName ( "Map"  )

Runtime type information.

◆ writeData()

bool writeData ( Ostream ) const
virtual

Pure virtual writaData function.

Must be defined in derived types

Implements regIOobject.

Definition at line 148 of file IOMap.C.

◆ global()

virtual bool global ( ) const
inlinevirtual

Is object global.

Reimplemented from regIOobject.

Definition at line 90 of file IOMap.H.

References IOMap< T >::filePath(), IOobject::globalFilePath(), IOMap< T >::operator=(), and Foam::type().

Here is the call graph for this function:

◆ filePath()

virtual fileName filePath ( ) const
inlinevirtual

Return complete path + object name if the file exists.

either in the case/processor or case otherwise null

Reimplemented from regIOobject.

Definition at line 97 of file IOMap.H.

Referenced by IOMap< T >::global().

Here is the caller graph for this function:

◆ operator=() [1/4]

void operator= ( const IOMap< T > &  rhs)

Assignment of other IOMap's entries to this IOMap.

Definition at line 157 of file IOMap.C.

References Map< T >::operator=().

Referenced by IOMap< T >::global().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [2/4]

void operator= ( IOMap< T > &&  rhs)

Move assignment of other IOMap's entries to this IOMap.

Definition at line 164 of file IOMap.C.

References Map< T >::operator=().

Here is the call graph for this function:

◆ operator=() [3/4]

void operator= ( const Map< T > &  rhs)

Assignment of other Map's entries to this IOMap.

Definition at line 171 of file IOMap.C.

References Map< T >::operator=().

Here is the call graph for this function:

◆ operator=() [4/4]

void operator= ( Map< T > &&  rhs)

Move assignment of other Map's entries to this IOMap.

Definition at line 178 of file IOMap.C.

References Map< T >::operator=().

Here is the call graph for this function:

The documentation for this class was generated from the following files: