5#ifndef LINE_IO_LQNX_IO_H
6#define LINE_IO_LQNX_IO_H
50 const std::string& model_name = std::string(
"LQN"),
51 bool use_abstract_names =
false, std::string* out_text = NULL) {
52 return lqn::write_lqnx(m, path, model_name, use_abstract_names, out_text);
65inline std::string
srvn2lqnx(
const std::string& src,
const std::string& name = std::string(
"model")) {
70inline std::string
lqnx2srvn(
const std::string& xml_text,
const std::string& name = std::string()) {
.lqnx -> LqnStruct, a port of matlab/src/lang/layered/@LayeredNetwork/parseXML.m followed by ....
LqnModel -> .lqnx, a port of matlab/src/lang/layered/@LayeredNetwork/writeXML.m.
std::string lqnx2srvn(const std::string &xml_text, const std::string &name=std::string())
Translate a .lqnx document into SRVN text; forwards to lqn::lqnx2srvn.
lqn::LqnModel< T > read_lqnx_model(const std::string &path)
Read a .lqnx file into the model-level LqnModel, which write_lqnx accepts back.
void write_srvn(const lqn::LqnModel< T > &m, const std::string &path, bool use_abstract_names=false)
Write an LqnModel as SRVN text (write_lqnx, then lqnx2srvn); forwards to lqn::write_srvn.
std::string srvn2lqnx(const std::string &src, const std::string &name=std::string("model"))
Translate SRVN text into a .lqnx document; forwards to lqn::srvn2lqnx.
lqn::LqnWriteReport write_lqnx(const lqn::LqnModel< T > &m, const std::string &path, const std::string &model_name=std::string("LQN"), bool use_abstract_names=false, std::string *out_text=NULL)
Write an LqnModel as .lqnx; forwards to lqn::write_lqnx.
lqn::LqnModel< T > read_srvn_model(const std::string &path)
Read an SRVN file (the LQNS .in text grammar, or a .lqn that is not XML) into the model-level LqnMode...
LqnModel< T > read_lqnx_model(const std::string &path)
read_lqnx_model on a .lqnx file.
LqnWriteReport write_lqnx(const LqnModel< T > &m, const std::string &path, const std::string &model_name=std::string("LQN"), bool use_abstract_names=false, std::string *out_text=NULL)
Write a layered model as a .lqnx document.
std::string lqnx2srvn(const std::string &xml_text, const std::string &name=std::string())
Translate an LQN XML document into SRVN text.
LqnModel< T > read_srvn_model(const std::string &path)
Read an SRVN file (.in, or a .lqn that is not XML) into the intermediate LqnModel,...
std::string srvn2lqnx(const std::string &src, const std::string &name=std::string("model"))
Translate SRVN text into an LQN XML document.
void write_srvn(const LqnModel< T > &m, const std::string &path, bool use_abstract_names=false)
Write a layered model as SRVN text: write_lqnx, then lqnx2srvn, with LF line endings.
Conservation laws of a layered queueing network, enumerated from its structure.
SRVN input format (the LQNS .in / .lqn text grammar) for layered models, the C++ twin of python/line_...
SRVN output (the LQNS .in text grammar) for layered models, the C++ twin of lqnx2srvn / srvn_save in ...
The intermediate model, and the second stage that flattens it.
What the schema could not carry, one human-readable line per loss.