SObjectizer 5.8
Loading...
Searching...
No Matches
so_5::prio Namespace Reference

Helpers for working with priorities. More...

Functions

bool has_next (priority_t p)
 Is there higher priority?
 
priority_t next (priority_t p)
 Get the next priority value.
 
bool has_prev (priority_t p)
 Is there lower priority?
 
priority_t prev (priority_t p)
 Get the previous priority value.
 
template<typename Lambda >
void for_each_priority (Lambda l)
 Does enumeration of all priorities.
 

Variables

const priority_t default_priority = p0
 Default priority value.
 
const unsigned int total_priorities_count
 Total count of priorities.
 
Constants with priority values.
const priority_t p0 = priority_t::p0
 
const priority_t p1 = priority_t::p1
 
const priority_t p2 = priority_t::p2
 
const priority_t p3 = priority_t::p3
 
const priority_t p4 = priority_t::p4
 
const priority_t p5 = priority_t::p5
 
const priority_t p6 = priority_t::p6
 
const priority_t p7 = priority_t::p7
 

Detailed Description

Helpers for working with priorities.

Since
v.5.5.8

Function Documentation

◆ for_each_priority()

template<typename Lambda >
void so_5::prio::for_each_priority ( Lambda l)

Does enumeration of all priorities.

Since
v.5.5.8
Note
Performs enumeration from priority_t::p_min to priority_t::p_max (inclusive).
Template Parameters
Lambdaa lambda with the prototype:
return_type lambda(so_5::priority_t);
priority_t
Definition of supported priorities.
Definition priority.hpp:28
Return value from that lambda will be ignored and discarded.
Example:
// Fill the new cooperation with agents with different priorities.
env.introduce_coop(
[&]( so_5::coop_t & coop ) {
// Creation of new agent with next priority.
coop.make_agent< my_prio_agent >( prio, ... );
} );
} );
Agent cooperation.
Definition coop.hpp:389
Agent * make_agent(Args &&... args)
Helper method for simplification of agents creation.
Definition coop.hpp:792
SO_5_FUNC dispatcher_handle_t make_dispatcher(environment_t &env, const std::string_view data_sources_name_base, disp_params_t params)
Create an instance of strictly_ordered dispatcher.
void for_each_priority(Lambda l)
Does enumeration of all priorities.
Definition priority.hpp:193
Examples
so_5/prio_work_stealing/main.cpp.

Definition at line 193 of file priority.hpp.

◆ has_next()

bool so_5::prio::has_next ( priority_t p)
inline

Is there higher priority?

Since
v.5.5.8

Definition at line 116 of file priority.hpp.

◆ has_prev()

bool so_5::prio::has_prev ( priority_t p)
inline

Is there lower priority?

Since
v.5.5.8
Examples
so_5/prio_work_stealing/main.cpp.

Definition at line 143 of file priority.hpp.

◆ next()

priority_t so_5::prio::next ( priority_t p)
inline

Get the next priority value.

Since
v.5.5.8
Returns
next priority value if p is less than priority_t::p_max or priority_t::p_max instead.

Definition at line 128 of file priority.hpp.

◆ prev()

priority_t so_5::prio::prev ( priority_t p)
inline

Get the previous priority value.

Since
v.5.5.8
Returns
previous priority value if p is greater than priority_t::p_min or priority_t::p_min instead.
Examples
so_5/prio_work_stealing/main.cpp.

Definition at line 155 of file priority.hpp.

Variable Documentation

◆ default_priority

const priority_t so_5::prio::default_priority = p0

Default priority value.

Since
v.5.5.8

Definition at line 97 of file priority.hpp.

◆ p0

const priority_t so_5::prio::p0 = priority_t::p0

Definition at line 79 of file priority.hpp.

◆ p1

const priority_t so_5::prio::p1 = priority_t::p1
Examples
so_5/machine_control/main.cpp, and so_5/news_board/main.cpp.

Definition at line 80 of file priority.hpp.

◆ p2

const priority_t so_5::prio::p2 = priority_t::p2
Examples
so_5/machine_control/main.cpp, and so_5/news_board/main.cpp.

Definition at line 81 of file priority.hpp.

◆ p3

const priority_t so_5::prio::p3 = priority_t::p3
Examples
so_5/machine_control/main.cpp, and so_5/news_board/main.cpp.

Definition at line 82 of file priority.hpp.

◆ p4

const priority_t so_5::prio::p4 = priority_t::p4
Examples
so_5/machine_control/main.cpp.

Definition at line 83 of file priority.hpp.

◆ p5

const priority_t so_5::prio::p5 = priority_t::p5

Definition at line 84 of file priority.hpp.

◆ p6

const priority_t so_5::prio::p6 = priority_t::p6

Definition at line 85 of file priority.hpp.

◆ p7

const priority_t so_5::prio::p7 = priority_t::p7

Definition at line 86 of file priority.hpp.

◆ total_priorities_count

const unsigned int so_5::prio::total_priorities_count
Initial value:
=
static_cast< unsigned int >( p7 ) -
static_cast< unsigned int >( p0 ) + 1
const priority_t p7
Definition priority.hpp:86

Total count of priorities.

Since
v.5.5.8

Definition at line 105 of file priority.hpp.