16#ifndef EVENTCONTAINERS_IDENTIFIABLECACHE_H
17#define EVENTCONTAINERS_IDENTIFIABLECACHE_H
const void * get(IdentifierHash hash)
Try to make payload if not there.
void cleanUp(deleter_f *deleter)
void clear(deleter_f *deleter)
IdentifiableCacheBase(IdentifierHash maxHash, const IMaker *maker)
std::pair< bool, const void * > add(IdentifierHash hash, const void *p) noexcept
const void * findWait(IdentifierHash hash)
Retrieve ptr, will wait if there is something in progress.
const void * find(IdentifierHash hash) noexcept
Return payload if there, null if not there.
virtual std::unique_ptr< T > make(IdentifierHash hash) const =0
virtual void_unique_ptr typelessMake(IdentifierHash hash) const
std::pair< bool, const void * > add(IdentifierHash hash, std::unique_ptr< T > p)
std::pair< bool, const void * > add(IdentifierHash hash, const T *p)
IdentifiableCache(IdentifierHash maxHash, const Maker *maker)
IdentifiableCache(IdentifierHash maxHash, const Maker *maker, size_t lockBucketSize)
const T * findWait(IdentifierHash hash)
const T * get(IdentifierHash hash)
const T * find(IdentifierHash hash)
This is a "hash" representation of an Identifier.
static void deleter(const void *p)