LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::env::EnvStage< T > Struct Template Reference

One stage: a name, a category, and the model in force while it lasts. More...

#include <line/lang/qn/environment.h>

Collaboration diagram for line::env::EnvStage< T >:

Public Member Functions

bool declared () const
 True when the stage carries a model of either kind.

Public Attributes

std::string name
std::string type
 the stage category, informational only
qn::NetworkStruct< T > model
bool has_model = false
lqn::LqnStruct< T > lqn_model
 The layered model, when this stage holds a LayeredNetwork.
bool has_lqn = false

Detailed Description

template<class T>
struct line::env::EnvStage< T >

One stage: a name, a category, and the model in force while it lasts.

THE MODEL IS ONE OF TWO KINDS, and which one is the stage's own property rather than the environment's: a flat qn::NetworkStruct, or a lqn::LqnStruct – a LayeredNetwork, whose stations and classes are those of the LAYERS SolverLN builds out of it. The reference draws no distinction at this level either (Environment.addStage stores whatever model it is handed and SolverENV branches on its class), and the two fields are kept apart rather than unified because nothing about them is shared below the name: a flat stage is integrated directly, a layered one through a whole fixed point over its layers.

has_model and has_lqn are mutually exclusive; set_stage and set_lqn_stage each clear the other, so a stage re-declared as the other kind cannot leave a stale twin behind for a later consumer to read.

Definition at line 151 of file environment.h.

Member Function Documentation

◆ declared()

template<class T>
bool line::env::EnvStage< T >::declared ( ) const
inline

True when the stage carries a model of either kind.

Definition at line 160 of file environment.h.

References has_lqn, and has_model.

Member Data Documentation

◆ has_lqn

template<class T>
bool line::env::EnvStage< T >::has_lqn = false

Definition at line 158 of file environment.h.

Referenced by declared().

◆ has_model

template<class T>
bool line::env::EnvStage< T >::has_model = false

Definition at line 155 of file environment.h.

Referenced by declared().

◆ lqn_model

template<class T>
lqn::LqnStruct<T> line::env::EnvStage< T >::lqn_model

The layered model, when this stage holds a LayeredNetwork.

Definition at line 157 of file environment.h.

◆ model

template<class T>
qn::NetworkStruct<T> line::env::EnvStage< T >::model

Definition at line 154 of file environment.h.

◆ name

template<class T>
std::string line::env::EnvStage< T >::name

Definition at line 152 of file environment.h.

◆ type

template<class T>
std::string line::env::EnvStage< T >::type

the stage category, informational only

Definition at line 153 of file environment.h.


The documentation for this struct was generated from the following file: