Go to the documentation of this file.
20 #ifndef TIME_MARKS_HH_
21 #define TIME_MARKS_HH_
362 {
ASSERT(&
marks_ == &
it.marks_).error(
"Can not assign TimeMarks::iterator of different container.\n");
403 {
return it_ == other.
it_; }
406 {
return it_ != other.
it_; }
std::vector< TimeMark >::const_iterator it_
Iterator over the vector of TimeMark objects.
unsigned long int bitmap_
TimeMarks::iterator next(const TimeGovernor &tg, const TimeMark::Type &mask) const
TimeMarks::iterator current(const TimeStep &time_step, const TimeMark::Type &mask) const
TimeMarksIterator iterator
Iterator class for iteration over time marks of particular type. This is always const_iterator.
TimeMark::Type new_mark_type()
TimeMark::Type type_balance_output_
Predefined type for balance output.
TimeMarks::iterator last(const TimeStep &time_step, const TimeMark::Type &mask) const
TimeMark(double time, Type type)
bool match_mask(const TimeMark::Type &mask) const
friend std::ostream & operator<<(std::ostream &stream, const TimeMarks &marks)
Friend output operator.
TimeMark::Type mask_
Mask type.
TimeMarksIterator & operator--()
Prefix decrement. Skip non matching marks.
TimeMarksIterator & operator=(const TimeMarksIterator &it)
TimeMarks::iterator end(TimeMark::Type mask) const
Iterator for the end mimics container-like of TimeMarks.
Type mark_type() const
Getter for mark type.
bool operator==(const TimeMarksIterator &other) const
const TimeMark * operator->() const
-> dereference operator
TimeMark::Type type_fixed_time()
bool operator==(const Type &other) const
void add_to_type(const TimeMark::Type &type)
TimeMark::Type type_fixed_time_
Predefined type for fixed time.
TimeMarks::iterator begin(TimeMark::Type mask) const
Iterator for the begin mimics container-like of TimeMarks.
Class used for marking specified times at which some events occur.
Type operator|(const Type &other) const
TimeMark::Type type_output_
Predefined type for output.
Representation of one time step..
Basic time management functionality for unsteady (and steady) solvers (class Equation).
TimeMarksIterator & operator++()
Prefix increment. Skip non matching marks.
Type(unsigned long int bitmap, unsigned char equation_index)
unsigned char equation_index_
static const Type every_type
Mark Type with all bits set.
void add_to_type_all(TimeMark::Type filter_type, TimeMark::Type add_type)
bool operator!=(const TimeMarksIterator &other) const
TimeMark add(const TimeMark &mark)
static const Type none_type
Mark Type with all bits unset.
bool operator==(const TimeMark &other_mark) const
For unordered maps and sets, hashing.
TimeMark::Type mask()
Returns mask.
std::vector< std::vector< TimeMark > > marks_
TimeMarks list sorted according to the their time.
This class is a collection of time marks to manage various events occurring during simulation time.
std::ostream & operator<<(std::ostream &stream, const TimeMark &marks)
Type mark_type_
The type of the TimeMark.
TimeMark::Type type_balance_output()
Global macros to enhance readability and debugging, general constants.
TimeMark::Type next_mark_type_
MarkType that will be used at next new_time_mark() call.
const TimeMark & operator*() const
double time_
The marked time.
TimeMark::Type type_input()
const std::vector< TimeMark > & marks_
Reference to the vector of TimeMark objects.
double time() const
Getter for the time of the TimeMark.
void add_time_marks(double time, double dt, double end_time, TimeMark::Type type)
TimeMark::Type type_output()
TimeMarksIterator(const std::vector< TimeMark > &marks, const std::vector< TimeMark >::const_iterator &it, const TimeMark::Type &mask)
Iterator over TimeMark objects in TimeMarks object (database of TimeMark objects).
bool operator<(const TimeMark &another) const
TimeMark::Type type_input_
Predefined type for change of boundary condition.