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

The .lqnx (LQNS XML) interchange as a symmetric MODEL-LEVEL pair in io::. More...

#include <string>
#include "line/lang/lqn/lqn_reader.h"
#include "line/lang/lqn/lqn_writer.h"
Include dependency graph for lqnx_io.h:

Go to the source code of this file.

Namespaces

namespace  line
 Conservation laws of a layered queueing network, enumerated from its structure.
namespace  line::io

Functions

template<class T>
lqn::LqnModel< T > line::io::read_lqnx_model (const std::string &path)
 Read a .lqnx file into the model-level LqnModel, which write_lqnx accepts back.
template<class T>
lqn::LqnWriteReport line::io::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.

Detailed Description

The .lqnx (LQNS XML) interchange as a symmetric MODEL-LEVEL pair in io::.

The implementations live in lang/lqn/: lqn::read_lqnx_model returns the LqnModel a builder produces, lqn::write_lqnx takes one, and lqn::read_lqnx returns the FINALIZED LqnStruct SolverLN consumes. The struct reader is the odd one out of that trio: its output cannot be handed back to the writer. So the io pair is read_lqnx_model / write_lqnx, both on LqnModel, keeping the lqn:: names verbatim so a caller moving between the namespaces meets no second spelling. MATLAB spells the same pair LayeredNetwork.parseXML / writeXML, which name methods of a class this port does not have.

Definition in file lqnx_io.h.