|
Macaulay2 Engine
|
BIBasis::SettingsManager — singleton holding the per-run monomial order and variable count. More...
#include "monom.hpp"Go to the source code of this file.
Classes | |
| class | BIBasis::SettingsManager |
| Process-wide singleton holding the BIBasis monomial order and variable count. More... | |
Namespaces | |
| namespace | BIBasis |
Functions | |
| SettingsManager & | BIBasis::GetSettingsManager () |
BIBasis::SettingsManager — singleton holding the per-run monomial order and variable count.
Declares the lazy singleton (accessed via the free function GetSettingsManager()) that carries the subsystem-wide parameters every BIBasis class needs to consult: the active monomial order (Monom::Lex / Monom::DegLex / Monom::DegRevLex) and, via SetNumberOfVariables, the static Monom::DimIndepend that fixes the size of every monomial's variable list. Launcher populates these once at the start of a run; the algorithm code reads them through the singleton instead of threading them through every constructor.
Constructors, copy-constructor, and assignment are private and GetSettingsManager is the only friend, enforcing the single- instance contract — BIBasis runs are single-threaded per rawBIBasis call, so the shared mutable state is safe.
Definition in file settings-manager.hpp.