![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Port of matlab/src/api/sn/sn_region_members.m. More...
Go to the source code of this file.
Namespaces | |
| namespace | line |
| namespace | line::api |
Functions | |
| template<class T> | |
| std::vector< bool > | line::api::sn_region_members (const qn::NetworkStruct< T > &sn, std::size_t f) |
| The membership mask of region f (0-based), one entry per station. | |
| template<class T> | |
| std::vector< std::size_t > | line::api::sn_region_member_list (const qn::NetworkStruct< T > &sn, std::size_t f) |
| The same membership as 1-based station indices, the form most callers want. | |
Port of matlab/src/api/sn/sn_region_members.m.
Which stations belong to finite-capacity region f, 0-based. Membership is DECLARED (sn.regionmembers, here Region::members) and only inferred when the declaration is absent: a station is then a member iff some entry of its capacity row, or its memory cap, is not the -1 "unbounded" sentinel.
The inference cannot see a member station left wholly unbounded, which is precisely why the declaration exists and is preferred. A caller that infers membership when the flags are present would silently shrink the region and admit jobs the region forbids.
ARITHMETIC: none. Structural.
Definition in file sn_region_members.h.