21 #include "cachingloaderdecorator.h"
31 : q_ptr(qq), m_wrappedLoader(loader)
38 const std::shared_ptr<AbstractTemplateLoader> m_wrappedLoader;
40 mutable QHash<QString, Template> m_cache;
56 return d->m_wrappedLoader->canLoadTemplate(name);
62 return d->m_cache.clear();
68 return d->m_cache.size();
74 return d->m_cache.isEmpty();
77 std::pair<QString, QString>
81 return d->m_wrappedLoader->getMediaUri(fileName);
89 const auto it = d->m_cache.constFind(name);
90 if (it != d->m_cache.constEnd()) {
94 const auto t = d->m_wrappedLoader->loadByName(name, engine);
96 d->m_cache.insert(name, t);
Implements a loader decorator which caches compiled Template objects.
CachingLoaderDecorator(std::shared_ptr< AbstractTemplateLoader > loader)
std::pair< QString, QString > getMediaUri(const QString &fileName) const override
Template loadByName(const QString &name, const Cutelee::Engine *engine) const override
bool canLoadTemplate(const QString &name) const override
~CachingLoaderDecorator() override
Cutelee::Engine is the main entry point for creating Cutelee Templates.
The Template class is a tree of nodes which may be rendered.
The Cutelee namespace holds all public Cutelee API.