Use backend global concept on template args

Wire the concept into the rest of the tree, being careful to avoid demanding the
result of fixed-pointing computation while tying the knot.
This commit is contained in:
Nathaniel Wesley Filardo
2021-08-23 21:26:56 +01:00
committed by Nathaniel Wesley Filardo
parent e530f5629a
commit 2be44d2e6f
6 changed files with 22 additions and 17 deletions

View File

@@ -43,13 +43,13 @@ namespace snmalloc
* provided externally, then it must be set explicitly with
* `init_message_queue`.
*/
template<typename SharedStateHandle>
template<SNMALLOC_CONCEPT(ConceptBackendGlobalsLazy) SharedStateHandle>
class CoreAllocator : public std::conditional_t<
SharedStateHandle::Options.CoreAllocIsPoolAllocated,
Pooled<CoreAllocator<SharedStateHandle>>,
NotPoolAllocated>
{
template<typename SharedStateHandle2>
template<SNMALLOC_CONCEPT(ConceptBackendGlobals) SharedStateHandle2>
friend class LocalAllocator;
/**