A List of scalarRange for selecting times. More...

Inheritance diagram for timeSelector:
Collaboration diagram for timeSelector:

Public Member Functions

 timeSelector ()
 Construct Null. More...
 
 timeSelector (Istream &)
 Construct from Istream. More...
 
bool selected (const instant &) const
 Return true if the given instant is within the ranges. More...
 
List< bool > selected (const instantList &) const
 Return the set of selected instants in the given list that are. More...
 
instantList select (const instantList &) const
 Select a list of Time values that are within the ranges. More...
 
void inplaceSelect (instantList &) const
 Select a list of Time values that are within the ranges. More...
 
- Public Member Functions inherited from scalarRanges
 scalarRanges ()
 Construct Null. More...
 
 scalarRanges (Istream &)
 Construct from Istream. More...
 
bool selected (const scalar) const
 Return true if the given value is within the ranges. More...
 
List< bool > selected (const List< scalar > &) const
 Return the set of selected entries in the given list. More...
 
List< scalar > select (const List< scalar > &) const
 Select a list of values that are within the ranges. More...
 
void inplaceSelect (List< scalar > &) const
 Select a list of values that are within the ranges. More...
 
- Public Member Functions inherited from List< scalarRange >
label size () const
 Return the number of elements in the UList. More...
 
 List ()
 Null constructor. More...
 
 List (const label)
 Construct with given size. More...
 
 List (const label, const scalarRange &)
 Construct with given size and value for all elements. More...
 
 List (const List< scalarRange > &)
 Copy constructor. More...
 
 List (const Xfer< List< scalarRange > > &)
 Construct by transferring the parameter contents. More...
 
 List (List< scalarRange > &, bool reUse)
 Construct as copy or re-use as specified. More...
 
 List (const UList< scalarRange > &, const labelUList &mapAddressing)
 Construct as subset. More...
 
 List (InputIterator first, InputIterator last)
 Construct given start and end iterators. More...
 
 List (const FixedList< scalarRange, Size > &)
 Construct as copy of FixedList<T, Size> More...
 
 List (const PtrList< scalarRange > &)
 Construct as copy of PtrList<T> More...
 
 List (const SLList< scalarRange > &)
 Construct as copy of SLList<T> More...
 
 List (const UIndirectList< scalarRange > &)
 Construct as copy of UIndirectList<T> More...
 
 List (const BiIndirectList< scalarRange > &)
 Construct as copy of BiIndirectList<T> More...
 
 List (Istream &)
 Construct from Istream. More...
 
autoPtr< List< scalarRange > > clone () const
 Clone. More...
 
 ~List ()
 Destructor. More...
 
void resize (const label)
 Alias for setSize(const label) More...
 
void resize (const label, const scalarRange &)
 Alias for setSize(const label, const T&) More...
 
void setSize (const label)
 Reset size of List. More...
 
void setSize (const label, const scalarRange &)
 Reset size of List and value for new elements. More...
 
void clear ()
 Clear the list, i.e. set size to zero. More...
 
void append (const scalarRange &)
 Append an element at the end of the list. More...
 
void append (const UList< scalarRange > &)
 Append a List at the end of this list. More...
 
void append (const UIndirectList< scalarRange > &)
 Append a UIndirectList at the end of this list. More...
 
void transfer (List< scalarRange > &)
 Transfer the contents of the argument List into this list. More...
 
void transfer (DynamicList< scalarRange, SizeInc, SizeMult, SizeDiv > &)
 Transfer the contents of the argument List into this list. More...
 
void transfer (SortableList< scalarRange > &)
 Transfer the contents of the argument List into this list. More...
 
Xfer< List< scalarRange > > xfer ()
 Transfer contents to the Xfer container. More...
 
scalarRangenewElmt (const label)
 Return subscript-checked element of UList. More...
 
void operator= (const UList< scalarRange > &)
 Assignment from UList operator. Takes linear time. More...
 
void operator= (const List< scalarRange > &)
 Assignment operator. Takes linear time. More...
 
void operator= (const SLList< scalarRange > &)
 Assignment from SLList operator. Takes linear time. More...
 
void operator= (const UIndirectList< scalarRange > &)
 Assignment from UIndirectList operator. Takes linear time. More...
 
void operator= (const BiIndirectList< scalarRange > &)
 Assignment from BiIndirectList operator. Takes linear time. More...
 
void operator= (const scalarRange &)
 Assignment of all entries to the given value. More...
 
- Public Member Functions inherited from UList< T >
 UList ()
 Null constructor. More...
 
 UList (T *__restrict__ v, label size)
 Construct from components. More...
 
label fcIndex (const label i) const
 Return the forward circular index, i.e. the next index. More...
 
label rcIndex (const label i) const
 Return the reverse circular index, i.e. the previous index. More...
 
std::streamsize byteSize () const
 Return the binary size in number of characters of the UList. More...
 
const Tcdata () const
 Return a const pointer to the first data element,. More...
 
Tdata ()
 Return a pointer to the first data element,. More...
 
Tfirst ()
 Return the first element of the list. More...
 
const Tfirst () const
 Return first element of the list. More...
 
Tlast ()
 Return the last element of the list. More...
 
const Tlast () const
 Return the last element of the list. More...
 
void checkStart (const label start) const
 Check start is within valid range (0 ... size-1). More...
 
void checkSize (const label size) const
 Check size is within valid range (0 ... size). More...
 
void checkIndex (const label i) const
 Check index i is within valid range (0 ... size-1). More...
 
void writeEntry (Ostream &) const
 Write the UList as a dictionary entry. More...
 
void writeEntry (const word &keyword, Ostream &) const
 Write the UList as a dictionary entry with keyword. More...
 
void assign (const UList< T > &)
 Assign elements to those from UList. More...
 
Toperator[] (const label)
 Return element of UList. More...
 
const Toperator[] (const label) const
 Return element of constant UList. More...
 
 operator const Foam::List< T > & () const
 Allow cast to a const List<T>&. More...
 
void operator= (const T &)
 Assignment of all entries to the given value. More...
 
iterator begin ()
 Return an iterator to begin traversing the UList. More...
 
iterator end ()
 Return an iterator to end traversing the UList. More...
 
const_iterator cbegin () const
 Return const_iterator to begin traversing the constant UList. More...
 
const_iterator cend () const
 Return const_iterator to end traversing the constant UList. More...
 
const_iterator begin () const
 Return const_iterator to begin traversing the constant UList. More...
 
const_iterator end () const
 Return const_iterator to end traversing the constant UList. More...
 
reverse_iterator rbegin ()
 Return reverse_iterator to begin reverse traversing the UList. More...
 
reverse_iterator rend ()
 Return reverse_iterator to end reverse traversing the UList. More...
 
const_reverse_iterator crbegin () const
 Return const_reverse_iterator to begin reverse traversing the UList. More...
 
const_reverse_iterator crend () const
 Return const_reverse_iterator to end reverse traversing the UList. More...
 
const_reverse_iterator rbegin () const
 Return const_reverse_iterator to begin reverse traversing the UList. More...
 
const_reverse_iterator rend () const
 Return const_reverse_iterator to end reverse traversing the UList. More...
 
label size () const
 Return the number of elements in the UList. More...
 
label max_size () const
 Return size of the largest possible UList. More...
 
bool empty () const
 Return true if the UList is empty (ie, size() is zero). More...
 
void swap (UList< T > &)
 Swap two ULists of the same type in constant time. More...
 
bool operator== (const UList< T > &) const
 Equality operation on ULists of the same type. More...
 
bool operator!= (const UList< T > &) const
 The opposite of the equality operation. Takes linear time. More...
 
bool operator< (const UList< T > &) const
 Compare two ULists lexicographically. Takes linear time. More...
 
bool operator> (const UList< T > &) const
 Compare two ULists lexicographically. Takes linear time. More...
 
bool operator<= (const UList< T > &) const
 Return true if !(a > b). Takes linear time. More...
 
bool operator>= (const UList< T > &) const
 Return true if !(a < b). Takes linear time. More...
 
template<>
const bool & operator[] (const label i) const
 

Static Public Member Functions

static void addOptions (const bool constant=true, const bool withZero=false)
 Add the options handled by timeSelector to argList::validOptions. More...
 
static instantList select (const instantList &, const argList &args, const word &constantName="constant")
 Return the set of times selected based on the argList options. More...
 
static instantList select0 (Time &runTime, const argList &args)
 Return the set of times selected based on the argList options. More...
 
static instantList selectIfPresent (Time &runTime, const argList &args)
 If any time option provided return the set of times (as select0) More...
 
static instantList select (Time &runTime, const argList &args, const word &fName)
 Return the set of times selected based on the argList options. More...
 
- Static Public Member Functions inherited from List< scalarRange >
static const List< scalarRange > & null ()
 Return a null List. More...
 
- Static Public Member Functions inherited from UList< T >
static const UList< T > & null ()
 Return a null UList. More...
 

Additional Inherited Members

- Public Types inherited from List< scalarRange >
typedef SubList< scalarRangesubList
 Declare type of subList. More...
 
- Public Types inherited from UList< T >
typedef T value_type
 Type of values the UList contains. More...
 
typedef Treference
 Type that can be used for storing into. More...
 
typedef const Tconst_reference
 Type that can be used for storing into. More...
 
typedef label difference_type
 The type that can represent the difference between any two. More...
 
typedef label size_type
 The type that can represent the size of a UList. More...
 
typedef Titerator
 Random access iterator for traversing UList. More...
 
typedef const Tconst_iterator
 Random access iterator for traversing UList. More...
 
typedef Treverse_iterator
 Reverse iterator for reverse traversal of UList. More...
 
typedef const Tconst_reverse_iterator
 Reverse iterator for reverse traversal of constant UList. More...
 
- Protected Member Functions inherited from List< scalarRange >
void size (const label)
 Override size to be inconsistent with allocated storage. More...
 

Detailed Description

A List of scalarRange for selecting times.

The timeSelector provides a convenient means of selecting multiple times. A typical use would be the following:

timeSelector::addOptions();
// add other options
#include "setRootCase.H"
#include "createTime.H"
instantList timeDirs = timeSelector::select0(runTime, args);
...
forAll(timeDirs, timeI)
{
    ...
}

The result program would receive -time, -latestTime, -constant and -noZero options. The -constant option explicitly includes the constant/ directory in the time list and the -noZero option explicitly excludes the 0/ directory from the time list.

There may however also be many cases in which neither the constant/ directory nor the 0/ directory contain particularly relevant information. This might occur, for example, when post-processing results. In this case, addOptions is called with optional boolean arguments.

timeSelector::addOptions(false, true);

The first argument avoids adding the -constant option. The second argument adds an additional -withZero option and also prevents the 0/ directory from being included in the default time range and in the -latestTime selection.

Source files

Definition at line 89 of file timeSelector.H.

Constructor & Destructor Documentation

Construct Null.

Definition at line 34 of file timeSelector.C.

timeSelector ( Istream is)

Construct from Istream.

Definition at line 40 of file timeSelector.C.

Member Function Documentation

bool selected ( const instant value) const

Return true if the given instant is within the ranges.

Definition at line 48 of file timeSelector.C.

References scalarRanges::selected(), and instant::value().

Referenced by timeSelector::select().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::List< bool > selected ( const instantList Times) const

Return the set of selected instants in the given list that are.

within the ranges

Definition at line 54 of file timeSelector.C.

References Foam::diff(), forAll, Foam::name(), and List< T >::size().

Here is the call graph for this function:

Foam::instantList select ( const instantList Times) const

Select a list of Time values that are within the ranges.

Definition at line 100 of file timeSelector.C.

References Foam::subset().

Referenced by timeSelector::select0().

Here is the call graph for this function:

Here is the caller graph for this function:

void inplaceSelect ( instantList Times) const

Select a list of Time values that are within the ranges.

Definition at line 107 of file timeSelector.C.

References Foam::inplaceSubset().

Here is the call graph for this function:

void addOptions ( const bool  constant = true,
const bool  withZero = false 
)
static

Add the options handled by timeSelector to argList::validOptions.

Parameters
constantAdd the -constant option to include the constant/ directory
withZeroEnable the -withZero option and alter the normal time selection behaviour (and -latestTime behaviour) to exclude the 0/ directory. The 0/ directory will only be included when -withZero is specified. The -noZero option has precedence over the -withZero option.

Definition at line 114 of file timeSelector.C.

References argList::addBoolOption(), and argList::addOption().

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::instantList select ( const instantList timeDirs,
const argList args,
const word constantName = "constant" 
)
static

Return the set of times selected based on the argList options.

Definition at line 161 of file timeSelector.C.

References forAll, found, Foam::name(), argList::optionFound(), argList::optionLookup(), timeSelector::selected(), List< T >::size(), Foam::subset(), timeDirs, and argList::validOptions.

Here is the call graph for this function:

Foam::instantList select0 ( Time runTime,
const argList args 
)
static

Return the set of times selected based on the argList options.

also set the runTime to the first instance or the constant/ directory if no instances are specified or available

Definition at line 253 of file timeSelector.C.

References List< T >::append(), args, TimePaths::constant(), UList< T >::empty(), Foam::endl(), argList::executable(), timeSelector::select(), Time::setTime(), timeDirs, Time::times(), and WarningIn.

Referenced by main(), and timeSelector::select().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::instantList selectIfPresent ( Time runTime,
const argList args 
)
static

If any time option provided return the set of times (as select0)

otherwise return just the current time. Also set the runTime to the first instance

Definition at line 284 of file timeSelector.C.

References argList::optionFound(), Time::timeName(), and dimensioned< Type >::value().

Here is the call graph for this function:

Foam::instantList select ( Time runTime,
const argList args,
const word fName 
)
static

Return the set of times selected based on the argList options.

including support for -newTimes in which times are selected if the file <fName> does not exist in the time directory. Also set the runTime to the first instance or the constant/ directory if no instances are specified or available

Definition at line 309 of file timeSelector.C.

References Foam::exists(), forAll, argList::optionFound(), Time::path(), timeSelector::select0(), List< T >::size(), Foam::subset(), and timeDirs.

Here is the call graph for this function:


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