diff options
Diffstat (limited to 'src/cache.hpp')
-rw-r--r-- | src/cache.hpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/cache.hpp b/src/cache.hpp index 25d6f076..c3675f07 100644 --- a/src/cache.hpp +++ b/src/cache.hpp @@ -86,6 +86,20 @@ extern template class Cache<ProgramKey, Program>; extern template Program ProgramCache::Get(const ProgramKeyRef &, bool *) const; // ================================================================================================= + +class Database; + +// The key struct for the cache of database maps. +// Order of fields: precision, device_name, routines (smaller fields first) +typedef std::tuple<Precision, std::string, std::vector<std::string>> DatabaseKey; +typedef std::tuple<const Precision &, const std::string &, const std::vector<std::string> &> DatabaseKeyRef; + +typedef Cache<DatabaseKey, Database> DatabaseCache; + +extern template class Cache<DatabaseKey, Database>; +extern template Database DatabaseCache::Get(const DatabaseKeyRef &, bool *) const; + +// ================================================================================================= } // namespace clblast // CLBLAST_CACHE_H_ |