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 165 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 174 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

◆ has_model

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

◆ 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 171 of file environment.h.

Referenced by line::env::Environment< T >::stage_table_text().

◆ model

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

◆ name

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

◆ type

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

the stage category, informational only

Definition at line 167 of file environment.h.

Referenced by line::io::environment_to_json(), and line::env::Environment< T >::stage_table_text().


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