22#include <unordered_map>
BOARD_ITEM_INDEX(BOARD &aOwner)
std::unordered_map< KIID, BOARD_ITEM * > m_itemsById
Forward map from KIIDs to board items.
BOARD_ITEM * Find(const KIID &aId)
Return a cached item for aId if the entry is still self-consistent.
void UnbindSubtree(const BOARD_ITEM &aItem)
void UnbindItem(const BOARD_ITEM &aItem)
Drop aItem itself.
void Clear()
Drop every entry, clearing each item's link back to the board.
bool IsIndexed(const KIID &aId) const
Return true if a forward entry for aId exists.
bool IsIndexed(const BOARD_ITEM *aItem) const
Return true if aItem is currently indexed.
void BindSubtree(BOARD_ITEM &aItem)
void Unbind(const KIID &aId)
Remove an item from the item-by-id cache.
void BindChildren(const BOARD_ITEM &aParent)
void BindItem(BOARD_ITEM &aItem)
Index aItem, replacing any previous entry for its UUID or address.
std::unordered_map< const BOARD_ITEM *, KIID > m_idsByItem
Reverse map from board items to their KIIDs.
void UnbindChildren(const BOARD_ITEM &aParent)
void Rebind(BOARD_ITEM &aItem, const KIID &aNewId)
Move aItem to aNewId, keeping the index in step with the item.
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
Information pertinent to a Pcbnew printed circuit board.