LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::Node Class Reference

A node of the model: the index it was given, and the model that owns it. More...

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

Inheritance diagram for line::Node:
Collaboration diagram for line::Node:

Public Member Functions

std::size_t get_index () const
 get_index(): the 1-based node index the builder assigned.
const std::string & get_name () const
 getName().
NetworkModel & model () const
 The model this node belongs to.
 operator std::size_t () const
 A handle IS its index wherever one is expected.
void set_routing (std::size_t cls, lang::RoutingStrategy rs)
 setRouting(class, strategy).
void set_routing_weights (std::size_t cls, const std::map< std::size_t, double > &weights)
 setRoutingWeight(class, weights): the WRROBIN share per destination.

Protected Member Functions

 Node (NetworkModel &m, std::size_t idx, const std::string &nm)

Protected Attributes

NetworkModel * model_
std::size_t idx_
std::string name_

Detailed Description

A node of the model: the index it was given, and the model that owns it.

Definition at line 59 of file nodes.h.

Constructor & Destructor Documentation

◆ Node()

Member Function Documentation

◆ get_index()

◆ get_name()

const std::string & line::Node::get_name ( ) const
inline

getName().

Definition at line 64 of file nodes.h.

References name_.

Referenced by line::AvgTable::filter_by(), and line::AvgTable::filter_by().

◆ model()

NetworkModel & line::Node::model ( ) const
inline

The model this node belongs to.

Definition at line 66 of file nodes.h.

References model_.

◆ operator std::size_t()

line::Node::operator std::size_t ( ) const
inline

A handle IS its index wherever one is expected.

This is what lets P.set(closed, closed, delay, queue1, 1.0) take handles, and what lets a half-migrated example keep compiling.

Definition at line 74 of file nodes.h.

References idx_.

◆ set_routing()

void line::Node::set_routing ( std::size_t cls,
lang::RoutingStrategy rs )
inline

setRouting(class, strategy).

Definition at line 77 of file nodes.h.

References idx_, model_, and line::qn::Network< T >::set_routing().

◆ set_routing_weights()

void line::Node::set_routing_weights ( std::size_t cls,
const std::map< std::size_t, double > & weights )
inline

setRoutingWeight(class, weights): the WRROBIN share per destination.

Definition at line 81 of file nodes.h.

References idx_, model_, and line::qn::Network< T >::set_routing_weights().

Member Data Documentation

◆ idx_

std::size_t line::Node::idx_
protected

Definition at line 89 of file nodes.h.

Referenced by line::Transition::add_mode(), line::Station::add_server_type(), line::ClassSwitch::ClassSwitch(), line::Place::get_fluid_capacity(), line::Place::get_fluid_level(), get_index(), line::Station::get_station_index(), line::Transition::has_fluid_arcs(), line::Place::is_fluid(), Node(), operator std::size_t(), line::Source::set_arrival(), line::Source::set_arrival_batch(), line::Station::set_breakdown(), line::Station::set_capacity(), line::Station::set_class_capacity(), line::ClassSwitch::set_class_switching_matrix(), line::Place::set_departure_discipline(), line::Transition::set_distribution(), line::Station::set_drop_rule(), line::Transition::set_enabling_conditions(), line::Transition::set_firing_outcome(), line::Transition::set_firing_priorities(), line::Transition::set_firing_rate_dependence(), line::Transition::set_firing_weights(), line::Place::set_fluid(), line::Place::set_fluid_capacity(), line::Transition::set_fluid_flow_dependence(), line::Transition::set_fluid_guard(), line::Transition::set_fluid_impulse(), line::Place::set_fluid_level(), line::Transition::set_fluid_rate(), line::Transition::set_fluid_rate_dependence(), line::Cache::set_hit_class(), line::Transition::set_inhibiting_conditions(), line::Place::set_initial_marking(), line::Cache::set_item_read_classes(), line::Station::set_load_dependence(), line::Source::set_marked_arrival(), line::Cache::set_miss_class(), line::Station::set_number_of_servers(), line::Transition::set_number_of_servers(), line::Station::set_polling_type(), line::Cache::set_read(), line::Cache::set_read(), set_routing(), set_routing_weights(), line::Station::set_sched_param(), line::Station::set_service(), line::Join::set_strategy(), line::Station::set_switchover(), line::Station::set_switchover(), and line::Transition::set_timing_strategy().

◆ model_

NetworkModel* line::Node::model_
protected

Definition at line 88 of file nodes.h.

Referenced by line::Transition::add_mode(), line::Station::add_server_type(), line::Place::get_fluid_capacity(), line::Place::get_fluid_level(), line::Station::get_station_index(), line::Transition::has_fluid_arcs(), line::Place::is_fluid(), model(), Node(), line::Source::set_arrival(), line::Source::set_arrival_batch(), line::Station::set_breakdown(), line::Station::set_capacity(), line::Station::set_class_capacity(), line::ClassSwitch::set_class_switching_matrix(), line::Place::set_departure_discipline(), line::Transition::set_distribution(), line::Station::set_drop_rule(), line::Transition::set_enabling_conditions(), line::Transition::set_firing_outcome(), line::Transition::set_firing_priorities(), line::Transition::set_firing_rate_dependence(), line::Transition::set_firing_weights(), line::Place::set_fluid(), line::Place::set_fluid_capacity(), line::Transition::set_fluid_flow_dependence(), line::Transition::set_fluid_guard(), line::Transition::set_fluid_impulse(), line::Place::set_fluid_level(), line::Transition::set_fluid_rate(), line::Transition::set_fluid_rate_dependence(), line::Cache::set_hit_class(), line::Transition::set_inhibiting_conditions(), line::Place::set_initial_marking(), line::Cache::set_item_read_classes(), line::Station::set_load_dependence(), line::Source::set_marked_arrival(), line::Cache::set_miss_class(), line::Station::set_number_of_servers(), line::Transition::set_number_of_servers(), line::Station::set_polling_type(), line::Cache::set_read(), line::Cache::set_read(), set_routing(), set_routing_weights(), line::Station::set_sched_param(), line::Station::set_service(), line::Join::set_strategy(), line::Station::set_switchover(), line::Station::set_switchover(), and line::Transition::set_timing_strategy().

◆ name_

std::string line::Node::name_
protected

Definition at line 90 of file nodes.h.

Referenced by get_name(), and Node().


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