LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
network_reader.h File Reference

Reader for the LINE model.json interchange (a Network model) into a qn::Network<T> built through the programmatic builder. More...

#include <cmath>
#include <cstdlib>
#include <fstream>
#include <functional>
#include <iostream>
#include <limits>
#include <map>
#include <string>
#include <vector>
#include "json.hpp"
#include "line/lang/lang_types.h"
#include "line/lang/prior.h"
#include "line/lang/qn/network_builder.h"
#include "line/num/number.h"
#include "line/util/error.h"
Include dependency graph for network_reader.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::io

Functions

template<class T>
qn::Network< T > line::io::build_network_from_json (const detail::json &root)
 Build a qn::Network<T> from a parsed model.json envelope.
template<class T>
qn::Network< T > line::io::read_network_json (const std::string &path)
 Parse a model.json file into a qn::Network<T>.

Detailed Description

Reader for the LINE model.json interchange (a Network model) into a qn::Network<T> built through the programmatic builder.

The wire format is the one linemodel_save.m, the Python writer and the JAR LineModelIO emit: a top-level {format, version, model} envelope whose model.type == "Network" carries nodes, classes and routing. This reader feeds the SAME builder + finalize the C++ programmatic API uses, so a model that reaches C++ this way is indistinguishable from one authored in code – exactly the contract lqn_builder.h documents for its own reader.

Scope: the queueing-network subset SolverMVA analyses. Distributions are honoured on the moments the analyzers read (mean, SCV and, for QNA/polling, the family the wire names). A construct outside this subset – a LayeredNetwork / Workflow / Environment model, an unsupported node kind, or a distribution family whose moments this reader cannot reconstruct exactly – is REFUSED BY NAME rather than silently degraded, matching the "a featset name is a claim" rule the rest of the port follows.

Definition in file network_reader.h.