Public Member Functions | Static Public Member Functions | Protected Types | Static Protected Member Functions | List of all members
ifeqEntry Class Reference

Conditional parsing of dictionary entries. More...

Inheritance diagram for ifeqEntry:
Inheritance graph
[legend]
Collaboration diagram for ifeqEntry:
Collaboration graph
[legend]

Public Member Functions

 ClassName ("ifeq")
 
- Public Member Functions inherited from functionEntry
 functionEntry (const word &key, const dictionary &dict, Istream &is)
 
 declareMemberFunctionSelectionTable (bool, functionEntry, execute, dictionaryIstream,(dictionary &parentDict, Istream &is),(parentDict, is))
 
 declareMemberFunctionSelectionTable (bool, functionEntry, execute, primitiveEntryIstream,(const dictionary &parentDict, primitiveEntry &entry, Istream &is),(parentDict, entry, is))
 
virtual void write (Ostream &os) const
 
template<class StringType >
Foam::List< StringType > readStringList (Istream &is)
 
- Public Member Functions inherited from primitiveEntry
 primitiveEntry (const keyType &key)
 
 primitiveEntry (const keyType &key, const token &tok)
 
 primitiveEntry (const keyType &key, const UList< token > &tokens)
 
 primitiveEntry (const keyType &key, List< token > &&tokens)
 
 primitiveEntry (const keyType &key, const ITstream &is)
 
 primitiveEntry (const keyType &key, Istream &is)
 
 primitiveEntry (const keyType &key, const dictionary &dict, Istream &is)
 
template<class T >
 primitiveEntry (const keyType &key, const T &val)
 
autoPtr< entryclone (const dictionary &) const
 
virtual const fileNamename () const
 
virtual fileNamename ()
 
virtual fileName relativeName () const
 
virtual label startLineNumber () const
 
virtual label endLineNumber () const
 
virtual bool isStream () const noexcept
 
virtual ITstreamstream () const
 
virtual const dictionarydict () const
 
virtual dictionarydict ()
 
virtual bool read (const dictionary &dict, Istream &is)
 
void write (Ostream &os, const bool contentsOnly) const
 
InfoProxy< primitiveEntryinfo () const
 
virtual Istreamread (token &tok)
 
virtual Istreamread (char &)
 
virtual Istreamread (word &)
 
virtual Istreamread (string &)
 
virtual Istreamread (label &)
 
virtual Istreamread (floatScalar &)
 
virtual Istreamread (doubleScalar &)
 
virtual Istreamread (char *data, std::streamsize)
 
- Public Member Functions inherited from entry
 entry (const keyType &keyword)
 
 entry (const entry &e)
 
virtual autoPtr< entryclone () const
 
virtual ~entry ()=default
 
const keyTypekeyword () const noexcept
 
keyTypekeyword () noexcept
 
virtual bool isDict () const noexcept
 
virtual const dictionarydictPtr () const noexcept
 
virtual dictionarydictPtr () noexcept
 
void checkITstream (const ITstream &is) const
 
template<class T >
T get () const
 
template<class T >
void readEntry (T &val) const
 
template<class T , class Predicate >
T getCheck (const Predicate &pred) const
 
template<class T , class Predicate >
void readCheck (T &val, const Predicate &pred) const
 
void operator= (const entry &e)
 
bool operator== (const entry &e) const
 
bool operator!= (const entry &e) const
 
- Public Member Functions inherited from ITstream
 ITstream (const ITstream &is)
 
 ITstream (ITstream &&is)
 
 ITstream (IOstreamOption streamOpt=IOstreamOption(), const string &name="input")
 
 ITstream (const Foam::zero, const string &name="input", IOstreamOption streamOpt=IOstreamOption())
 
 ITstream (const string &name, const UList< token > &tokens, IOstreamOption streamOpt=IOstreamOption())
 
 ITstream (const string &name, List< token > &&tokens, IOstreamOption streamOpt=IOstreamOption())
 
 ITstream (const UList< char > &input, IOstreamOption streamOpt=IOstreamOption(), const string &name="input")
 
 ITstream (const std::string &input, IOstreamOption streamOpt=IOstreamOption(), const string &name="input")
 
 ITstream (const char *input, IOstreamOption streamOpt=IOstreamOption(), const string &name="input")
 
virtual ~ITstream ()=default
 
bool hasPutback () const noexcept
 
const tokenpeekFirst () const
 
const tokenpeekLast () const
 
const tokenpeek () const
 
label tokenIndex () const noexcept
 
label & tokenIndex () noexcept
 
label nRemainingTokens () const noexcept
 
void seek (label pos)
 
void skip (label n=1)
 
void append (const token &t, const bool lazy)
 
void append (token &&t, const bool lazy)
 
void append (const UList< token > &newTokens, const bool lazy)
 
void append (List< token > &&newTokens, const bool lazy)
 
virtual ios_base::fmtflags flags () const
 
ios_base::fmtflags flags (const ios_base::fmtflags)
 
virtual Istreamread (token &tok)
 
virtual Istreamread (char &)
 
virtual Istreamread (word &)
 
virtual Istreamread (string &)
 
virtual Istreamread (label &)
 
virtual Istreamread (floatScalar &)
 
virtual Istreamread (doubleScalar &)
 
virtual Istreamread (char *data, std::streamsize)
 
virtual IstreamreadRaw (char *data, std::streamsize count)
 
virtual bool beginRawRead ()
 
virtual bool endRawRead ()
 
virtual void rewind ()
 
void print (Ostream &os) const
 
std::string toString () const
 
void operator= (const ITstream &is)
 
void operator= (const UList< token > &toks)
 
void operator= (List< token > &&toks)
 
- Public Member Functions inherited from Istream
 Istream (const Istream &)=default
 
virtual ~Istream ()=default
 
 Istream (IOstreamOption streamOpt=IOstreamOption())
 
 Istream (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver=IOstreamOption::currentVersion, IOstreamOption::compressionType cmp=IOstreamOption::UNCOMPRESSED)
 
const tokenpeekBack () const noexcept
 
bool peekBack (token &tok)
 
void putBack (const token &tok)
 
bool getBack (token &tok)
 
bool readBegin (const char *funcName)
 
bool readEnd (const char *funcName)
 
char readBeginList (const char *funcName)
 
char readEndList (const char *funcName)
 
Istreamoperator() () const
 
- Public Member Functions inherited from IOstream
 IOstream (const IOstream &)=default
 
virtual ~IOstream ()=default
 
 IOstream (IOstreamOption streamOpt=IOstreamOption())
 
 IOstream (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver, IOstreamOption::compressionType cmp=IOstreamOption::UNCOMPRESSED)
 
fileName relativeName () const
 
virtual bool check (const char *operation) const
 
bool fatalCheck (const char *operation) const
 
bool opened () const noexcept
 
bool closed () const noexcept
 
bool good () const noexcept
 
bool eof () const noexcept
 
bool fail () const noexcept
 
bool bad () const noexcept
 
 operator bool () const noexcept
 
bool operator! () const noexcept
 
unsigned labelByteSize () const noexcept
 
unsigned scalarByteSize () const noexcept
 
void setLabelByteSize (unsigned nbytes) noexcept
 
void setScalarByteSize (unsigned nbytes) noexcept
 
template<class T = label>
std::enable_if< std::is_integral< T >::value, bool >::type checkLabelSize () const noexcept
 
template<class T = scalar>
std::enable_if< std::is_floating_point< T >::value, bool >::type checkScalarSize () const noexcept
 
label lineNumber () const noexcept
 
label & lineNumber () noexcept
 
label lineNumber (const label num) noexcept
 
void setEof () noexcept
 
void setFail () noexcept
 
void setBad ()
 
ios_base::fmtflags setf (const ios_base::fmtflags f)
 
ios_base::fmtflags setf (const ios_base::fmtflags f, const ios_base::fmtflags mask)
 
void unsetf (const ios_base::fmtflags f)
 
void print (Ostream &os, const int streamState) const
 
InfoProxy< IOstreaminfo () const
 
- Public Member Functions inherited from IOstreamOption
constexpr IOstreamOption (streamFormat fmt=streamFormat::ASCII, compressionType comp=compressionType::UNCOMPRESSED) noexcept
 
constexpr IOstreamOption (streamFormat fmt, compressionType comp, versionNumber ver) noexcept
 
constexpr IOstreamOption (streamFormat fmt, versionNumber ver, compressionType comp=compressionType::UNCOMPRESSED) noexcept
 
 IOstreamOption (const IOstreamOption &opt, streamFormat fmt) noexcept
 
streamFormat format () const noexcept
 
streamFormat format (const streamFormat fmt) noexcept
 
streamFormat format (const word &formatName)
 
compressionType compression () const noexcept
 
compressionType compression (const compressionType comp) noexcept
 
compressionType compression (const word &compName)
 
versionNumber version () const noexcept
 
versionNumber version (const versionNumber ver) noexcept
 
versionNumber version (const token &tok)
 
- Public Member Functions inherited from List
constexpr List () noexcept
 
 List (const label len)
 
 List (const label len, const T &val)
 
 List (const label len, const Foam::zero)
 
 List (const Foam::one, const T &val)
 
 List (const Foam::one, T &&val)
 
 List (const Foam::one, const Foam::zero)
 
 List (const List< T > &a)
 
 List (const UList< T > &a)
 
 List (List< T > &a, bool reuse)
 
 List (const UList< T > &list, const labelUList &indices)
 
template<unsigned N>
 List (const UList< T > &list, const FixedList< label, N > &indices)
 
template<unsigned N>
 List (const FixedList< T, N > &list)
 
 List (const PtrList< T > &list)
 
 List (const SLList< T > &list)
 
template<class Addr >
 List (const IndirectListBase< T, Addr > &list)
 
 List (std::initializer_list< T > list)
 
 List (List< T > &&list)
 
template<int SizeMin>
 List (DynamicList< T, SizeMin > &&list)
 
 List (SortableList< T > &&list)
 
 List (SLList< T > &&list)
 
 List (Istream &is)
 
autoPtr< List< T > > clone () const
 
 ~List ()
 
void clear ()
 
void resize (const label len)
 
void resize (const label len, const T &val)
 
void resize_nocopy (const label len)
 
void setSize (const label n)
 
void setSize (const label n, const T &val)
 
void append (const T &val)
 
void append (T &&val)
 
void append (const UList< T > &list)
 
template<class Addr >
void append (const IndirectListBase< T, Addr > &list)
 
label appendUniq (const T &val)
 
void transfer (List< T > &list)
 
template<int SizeMin>
void transfer (DynamicList< T, SizeMin > &list)
 
void transfer (SortableList< T > &list)
 
TnewElmt (const label i)
 
void operator= (const UList< T > &a)
 
void operator= (const List< T > &list)
 
void operator= (const SLList< T > &list)
 
template<class Addr >
void operator= (const IndirectListBase< T, Addr > &list)
 
template<unsigned N>
void operator= (const FixedList< T, N > &list)
 
void operator= (std::initializer_list< T > list)
 
void operator= (const T &val)
 
void operator= (const Foam::zero)
 
void operator= (List< T > &&list)
 
template<int SizeMin>
void operator= (DynamicList< T, SizeMin > &&list)
 
void operator= (SortableList< T > &&list)
 
void operator= (SLList< T > &&list)
 
IstreamreadList (Istream &is)
 
void shallowCopy (const UList< T > &)=delete
 
template<class TypeT = T>
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type set (const label i, bool val=true)
 
template<class T >
 List (const label len)
 
template<class T >
 List (const label len, const T &val)
 
template<class T >
 List (const label len, const Foam::zero)
 
template<class T >
 List (const Foam::one, const T &val)
 
template<class T >
 List (const Foam::one, T &&val)
 
template<class T >
 List (const Foam::one, const Foam::zero)
 
template<class T >
 List (const UList< T > &a)
 
template<class T >
 List (const List< T > &a)
 
template<class T >
 List (List< T > &a, bool reuse)
 
template<class T >
 List (const UList< T > &list, const labelUList &indices)
 
template<class T >
 List (const PtrList< T > &list)
 
template<class T >
 List (const SLList< T > &list)
 
template<class T >
 List (std::initializer_list< T > list)
 
template<class T >
 List (List< T > &&list)
 
template<class T >
 List (SortableList< T > &&list)
 
template<class T >
 List (SLList< T > &&list)
 
template<class T >
void transfer (List< T > &list)
 
template<class T >
void transfer (SortableList< T > &list)
 
template<class T >
void operator= (const UList< T > &a)
 
template<class T >
void operator= (const List< T > &list)
 
template<class T >
void operator= (const SLList< T > &list)
 
template<class T >
void operator= (std::initializer_list< T > list)
 
template<class T >
void operator= (List< T > &&list)
 
template<class T >
void operator= (SortableList< T > &&list)
 
template<class T >
void operator= (SLList< T > &&list)
 
IstreamreadList (Istream &is)
 
template<class T >
constexpr List () noexcept
 
void resize (const label newLen)
 
template<class T >
void append (const T &val)
 
template<class T >
void append (T &&val)
 
template<class T >
void append (const UList< T > &list)
 
template<class T >
void operator= (const T &val)
 
template<class T >
void operator= (const Foam::zero)
 
template<class T >
 List (Istream &is)
 
IstreamreadList (Istream &is)
 

Static Public Member Functions

static bool execute (dictionary &parentDict, Istream &is)
 
- Static Public Member Functions inherited from functionEntry
static bool execute (const word &functionName, dictionary &parentDict, Istream &is)
 
static bool execute (const word &functionName, const dictionary &parentDict, primitiveEntry &entry, Istream &is)
 
- Static Public Member Functions inherited from entry
static bool New (dictionary &parentDict, Istream &is, const inputMode inpMode=inputMode::GLOBAL, const int endChar=0)
 
static autoPtr< entryNew (Istream &is)
 
static void resetInputMode ()
 
- Static Public Member Functions inherited from ITstream
static tokenList parse (const UList< char > &input, IOstreamOption streamOpt=IOstreamOption())
 
static tokenList parse (const std::string &input, IOstreamOption streamOpt=IOstreamOption())
 
static tokenList parse (const char *input, IOstreamOption streamOpt=IOstreamOption())
 
- Static Public Member Functions inherited from IOstream
static unsigned int defaultPrecision () noexcept
 
static unsigned int defaultPrecision (unsigned int prec) noexcept
 
- Static Public Member Functions inherited from IOstreamOption
static streamFormat formatEnum (const word &formatName, const streamFormat deflt=streamFormat::ASCII)
 
static streamFormat formatEnum (const word &key, const dictionary &dict, const streamFormat deflt=streamFormat::ASCII)
 
static compressionType compressionEnum (const word &compName, const compressionType deflt=compressionType::UNCOMPRESSED)
 
static compressionType compressionEnum (const word &key, const dictionary &dict, const compressionType deflt=compressionType::UNCOMPRESSED)
 
- Static Public Member Functions inherited from List
static const List< T > & null ()
 

Protected Types

typedef Tuple2< fileName, label > filePos
 

Static Protected Member Functions

static bool evaluate (const bool doIf, DynamicList< filePos > &stack, dictionary &parentDict, Istream &is)
 
static bool execute (const bool equal, DynamicList< filePos > &stack, dictionary &parentDict, Istream &is)
 
static bool execute (DynamicList< filePos > &stack, dictionary &parentDict, Istream &is)
 
- Static Protected Member Functions inherited from functionEntry
static token readLine (const word &key, Istream &is)
 
template<class StringType >
static List< StringType > readStringList (Istream &is)
 
static bool continueReadUntilRightBrace (Istream &is, std::string &str, const bool stripComments=true)
 
- Static Protected Member Functions inherited from entry
static void reportReadWarning (const IOstream &, const std::string &)
 

Additional Inherited Members

- Public Types inherited from entry
enum  inputMode {
  MERGE, OVERWRITE, PROTECT, WARN,
  ERROR, GLOBAL
}
 
- Public Types inherited from IOstream
enum  streamAccess : char { CLOSED = 0, OPENED }
 
- Public Types inherited from IOstreamOption
enum  streamFormat : char { ASCII = 0, BINARY }
 
enum  compressionType : char { UNCOMPRESSED = 0, COMPRESSED }
 
- Public Types inherited from List
typedef SubList< TsubList
 
- Static Public Attributes inherited from entry
static int disableFunctionEntries
 
static inputMode globalInputMode = inputMode::MERGE
 
- Static Public Attributes inherited from IOstream
static unsigned int precision_
 
- Static Public Attributes inherited from IOstreamOption
static const Enum< streamFormatformatNames
 
static const versionNumber currentVersion
 
- Protected Member Functions inherited from functionEntry
 functionEntry (const functionEntry &)=delete
 
void operator= (const functionEntry &)=delete
 
- Protected Member Functions inherited from Istream
bool hasPutback () const noexcept
 
- Protected Member Functions inherited from IOstream
void setOpened () noexcept
 
void setClosed () noexcept
 
void setState (std::ios_base::iostate state) noexcept
 
void setGood () noexcept
 
- Protected Attributes inherited from IOstream
std::ios_base::iostate ioState_
 
streamAccess openClosed_
 
unsigned char sizeofLabel_
 
unsigned char sizeofScalar_
 
label lineNumber_
 
- Static Protected Attributes inherited from IOstream
static fileName staticName_
 

Detailed Description

Conditional parsing of dictionary entries.

E.g.

    a #eval "0.123";
    b 1.23e-1;

    #ifeq $a $b
        ..
    #else
        ..
    #endif
ddtSchemes
{
#ifeq ${FOAM_APPLICATION} simpleFoam
    default         steadyState;
#else
    default         Euler;
#endif
}

Note:

See also
Foam::functionEntries::ifEntry
Source files

Definition at line 85 of file ifeqEntry.H.

Member Typedef Documentation

◆ filePos

typedef Tuple2<fileName, label> filePos
protected

Definition at line 93 of file ifeqEntry.H.

Member Function Documentation

◆ evaluate()

bool evaluate ( const bool  doIf,
DynamicList< filePos > &  stack,
dictionary parentDict,
Istream is 
)
staticprotected

Definition at line 273 of file ifeqEntry.C.

References IOstream::eof(), token::isDirective(), entry::New(), Istream::putBack(), DynamicList::remove(), and token::wordToken().

Here is the call graph for this function:

◆ execute() [1/3]

bool execute ( const bool  equal,
DynamicList< filePos > &  stack,
dictionary parentDict,
Istream is 
)
staticprotected

Definition at line 339 of file ifeqEntry.C.

References DynamicList::append(), Foam::constant::electromagnetic::e, IOstream::eof(), Foam::stringOps::evaluate(), token::isDirective(), IOstream::lineNumber(), IOstream::name(), DynamicList::remove(), and token::wordToken().

Referenced by ifeqEntry::execute().

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

◆ execute() [2/3]

bool execute ( DynamicList< filePos > &  stack,
dictionary parentDict,
Istream is 
)
staticprotected

◆ ClassName()

ClassName ( "ifeq"  )

◆ execute() [3/3]

bool execute ( dictionary parentDict,
Istream is 
)
static

Definition at line 457 of file ifeqEntry.C.


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