ECSTASY
All in the name
Loading...
Searching...
No Matches
ecstasy::Registry::RegistryStackQueryMemory< Selects, Missings, Conditions, AutoLock, Cs > Class Template Reference

Base class of RegistryStackQuery. More...

#include <Registry.hpp>

Inheritance diagram for ecstasy::Registry::RegistryStackQueryMemory< Selects, Missings, Conditions, AutoLock, Cs >:

Detailed Description

template<typename Selects, typename Missings, typename Conditions, bool AutoLock, typename... Cs>
class ecstasy::Registry::RegistryStackQueryMemory< Selects, Missings, Conditions, AutoLock, Cs >

Base class of RegistryStackQuery.

This class is used to allocate the queryables on the stack. At compile time it will evaluate the required queryables and reserve memory for the one requiring an allocation. It allows faster runtime because there is no dynamic allocation but longer compile time.

Note
Thanks to no_unique_address attribute, the memory reserved for the allocator is not reserved if no allocator is required, meaning there is no memory overhead.
Yes this is black magic and I'm proud of it (my brain hurts).
Template Parameters
SelectsSelected queryables in a util::meta::Traits.
MissingsSelected queryables not given in the where clause (in Cs... ) in a util::meta::Traits.
ConditionsQuery runtime conditions in a util::meta::Traits.
AutoLockWhether or not the Lockable queryables must be locked.
CsSelected components already present in the where clause. (Missings + Cs are all the components queried).
Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Since
1.0.0 (2024-04-07)

Definition at line 267 of file Registry.hpp.


The documentation for this class was generated from the following file: