Flow123d  JS_before_hm-1804-gf2ad740aa
Classes | Public Member Functions | Static Public Attributes | Private Attributes | Friends | List of all members
TimeMark Class Reference

Class used for marking specified times at which some events occur. More...

#include <time_marks.hh>

Collaboration diagram for TimeMark:
Collaboration graph
[legend]

Classes

struct  Type
 

Public Member Functions

 TimeMark (double time, Type type)
 
Type mark_type () const
 Getter for mark type. More...
 
double time () const
 Getter for the time of the TimeMark. More...
 
bool match_mask (const TimeMark::Type &mask) const
 
void add_to_type (const TimeMark::Type &type)
 
bool operator< (const TimeMark &another) const
 
bool operator== (const TimeMark &other_mark) const
 For unordered maps and sets, hashing. More...
 

Static Public Attributes

static const Type every_type = TimeMark::Type(~0x0, std::numeric_limits<unsigned char>::min() )
 Mark Type with all bits set. More...
 
static const Type none_type = TimeMark::Type(0x0, std::numeric_limits<unsigned char>::max() )
 Mark Type with all bits unset. More...
 

Private Attributes

double time_
 The marked time. More...
 
Type mark_type_
 The type of the TimeMark. More...
 

Friends

class TimeMarks
 

Detailed Description

Class used for marking specified times at which some events occur.

This class represents one record in the TimeMarks simple database. Class members can not be modified after the item is created.

Definition at line 45 of file time_marks.hh.

Constructor & Destructor Documentation

◆ TimeMark()

TimeMark::TimeMark ( double  time,
Type  type 
)
inline

Constructor for a TimeMarks::Mark

Parameters
timetime of the mark
typetype of the mark

In order to create a fixed TimeMark (at time=0.1) with base TimeMark::Type my_type, use the TimeMarks class: TimeMark( 0.1, timemarks.type_fixed_time() | my_type)

Definition at line 105 of file time_marks.hh.

Member Function Documentation

◆ add_to_type()

void TimeMark::add_to_type ( const TimeMark::Type type)
inline

Add more bits that a mark satisfies.

Parameters
typetype that should be modified

Definition at line 130 of file time_marks.hh.

◆ mark_type()

Type TimeMark::mark_type ( ) const
inline

Getter for mark type.

Definition at line 110 of file time_marks.hh.

Here is the caller graph for this function:

◆ match_mask()

bool TimeMark::match_mask ( const TimeMark::Type mask) const
inline

Returns true if TimeMark's type has 1 on all positions where mask has 1.

Parameters
mask{Select bits that should be 1 for matching mark types.

Definition at line 124 of file time_marks.hh.

◆ operator<()

bool TimeMark::operator< ( const TimeMark another) const
inline

Comparison of time marks according to their time.

Parameters
anotheris another Timemark which should be compared.

Definition at line 138 of file time_marks.hh.

◆ operator==()

bool TimeMark::operator== ( const TimeMark other_mark) const
inline

For unordered maps and sets, hashing.

Definition at line 142 of file time_marks.hh.

◆ time()

double TimeMark::time ( ) const
inline

Getter for the time of the TimeMark.

Definition at line 115 of file time_marks.hh.

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ TimeMarks

friend class TimeMarks
friend

Definition at line 153 of file time_marks.hh.

Member Data Documentation

◆ every_type

const TimeMark::Type TimeMark::every_type = TimeMark::Type(~0x0, std::numeric_limits<unsigned char>::min() )
static

Mark Type with all bits set.

Definition at line 93 of file time_marks.hh.

◆ mark_type_

Type TimeMark::mark_type_
private

The type of the TimeMark.

Definition at line 151 of file time_marks.hh.

◆ none_type

const TimeMark::Type TimeMark::none_type = TimeMark::Type(0x0, std::numeric_limits<unsigned char>::max() )
static

Mark Type with all bits unset.

Definition at line 95 of file time_marks.hh.

◆ time_

double TimeMark::time_
private

The marked time.

Definition at line 149 of file time_marks.hh.


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