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

Coverage registry of the C++ port. More...

#include <algorithm>
#include <string>
#include <vector>
Include dependency graph for registry.h:

Go to the source code of this file.

Classes

struct  line::ApiEntry

Namespaces

namespace  line

Enumerations

enum class  line::Arith { line::Double , line::Exact , line::Real }

Functions

const char * line::arith_name (Arith a)
const std::vector< ApiEntry > & line::api_registry ()
 The registry is a function-local static, not a global object, so there is no static-initialization order issue and no mutable global state to guard when the library is called from Python with the GIL released.
const ApiEntryline::find_api (const std::string &name)
bool line::api_supports (const ApiEntry &e, Arith a)

Detailed Description

Coverage registry of the C++ port.

The port is incremental across hundreds of API functions, so what is and is not available has to be legible at runtime rather than inferred from the source tree. Every ported function registers its name, its domain and the arithmetic modes it supports; the CLI prints this for –list-api and refuses anything absent from it, naming the function rather than failing obscurely.

Definition in file registry.h.