20#ifndef LIBREPCB_EDITOR_LIBRARYELEMENTCACHE_H
21#define LIBREPCB_EDITOR_LIBRARYELEMENTCACHE_H
39class ComponentCategory;
44class WorkspaceLibraryDb;
67 const
Uuid& uuid) const noexcept;
69 const
Uuid& uuid) const noexcept;
73 const
Uuid& uuid) const noexcept;
82 QHash<
Uuid,
std::shared_ptr<const T>>& container,
83 const
Uuid& uuid) const noexcept;
The ComponentCategory class.
Definition componentcategory.h:44
The Component class represents a "generic" device in the library.
Definition component.h:73
The Device class represents an instance of a component (a "real" component)
Definition device.h:55
The PackageCategory class.
Definition packagecategory.h:44
The Package class represents a package of a component (including footprint and 3D model)
Definition package.h:59
The Symbol class represents the part of a component which is added to schematics.
Definition symbol.h:55
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition uuid.h:56
The WorkspaceLibraryDb class.
Definition workspacelibrarydb.h:58
Cache for fast access to library elements.
Definition libraryelementcache.h:55
QHash< Uuid, std::shared_ptr< const ComponentCategory > > mCmpCat
Definition libraryelementcache.h:87
QPointer< const WorkspaceLibraryDb > mDb
Definition libraryelementcache.h:86
std::shared_ptr< const Symbol > getSymbol(const Uuid &uuid) const noexcept
Definition libraryelementcache.cpp:69
std::shared_ptr< const Device > getDevice(const Uuid &uuid) const noexcept
Definition libraryelementcache.cpp:84
QHash< Uuid, std::shared_ptr< const Package > > mPkg
Definition libraryelementcache.h:90
LibraryElementCache(const LibraryElementCache &other)=delete
QHash< Uuid, std::shared_ptr< const Device > > mDev
Definition libraryelementcache.h:92
std::shared_ptr< const Package > getPackage(const Uuid &uuid) const noexcept
Definition libraryelementcache.cpp:74
LibraryElementCache()=delete
std::shared_ptr< const T > getElement(QHash< Uuid, std::shared_ptr< const T > > &container, const Uuid &uuid) const noexcept
Definition libraryelementcache.cpp:94
QHash< Uuid, std::shared_ptr< const Symbol > > mSym
Definition libraryelementcache.h:89
std::shared_ptr< const Component > getComponent(const Uuid &uuid) const noexcept
Definition libraryelementcache.cpp:79
QHash< Uuid, std::shared_ptr< const Component > > mCmp
Definition libraryelementcache.h:91
QHash< Uuid, std::shared_ptr< const PackageCategory > > mPkgCat
Definition libraryelementcache.h:88
std::shared_ptr< const PackageCategory > getPackageCategory(const Uuid &uuid) const noexcept
Definition libraryelementcache.cpp:64
std::shared_ptr< const ComponentCategory > getComponentCategory(const Uuid &uuid) const noexcept
Definition libraryelementcache.cpp:60
~LibraryElementCache() noexcept
Definition libraryelementcache.cpp:52
Definition occmodel.cpp:76