![]() |
Lumiera 0.pre.04~rc.1
»edit your freedom«
|
A piece of implementation code factored out into a separate header (include). More...
Go to the source code of this file.
A piece of implementation code factored out into a separate header (include).
Only used through defs-manager-impl.hpp and for the unit tests. We can't place it into a separate compilation unit, because config-resolver.cpp defines some explicit template instantiation, which cause the different Slots of the DefsrRegistry::table_ to be filled with data and defaults for the specific Types.
Basically, this piece of code defines a specialised index / storage table to hold Queries-for-default objects. This allows to remember what actually was used as "default" solution for some query and to oder possible default solutions.
Definition in file defs-registry.hpp.
#include "lib/p.hpp"#include "lib/util.hpp"#include "lib/util-foreach.hpp"#include "lib/sync-classlock.hpp"#include "lib/format-string.hpp"#include "lib/query-util.hpp"#include "common/query.hpp"#include "lib/nocopy.hpp"#include <set>#include <vector>#include <memory>Namespaces | |
| namespace | lumiera |
| Lumiera public interface. | |
| namespace | lumiera::query |
| namespace | lumiera::query::impl |
| namespace | lumiera::query::impl::anonymous_namespace{defs-registry.hpp} |
Typedefs | |
| using | Table = std::vector< P< TableEntry > > |
| we maintain an independent defaults registry for every participating kind of object. | |
Classes | |
| struct | TableEntry |
| struct | Record< TAR > |
| holding a single "default object" entry More... | |
| struct | Record< TAR >::Search |
| < Functor searching for a specific object More... | |
| struct | Slot< TAR > |
| every new kind of object (Type) creates a new slot in the main Table holding all registered default objects. More... | |
| class | DefsRegistry |
| class | DefsRegistry::Iter< TAR > |
| used for enumerating solutions More... | |
Functions | |
| uint | maxSlots (0) |
| number of different registered Types | |
Variables | |
| _Fmt | dumpRecord ("%2i| %64s --> %s\n") |