|
KiCad PCB EDA Suite
|
Session IDs are dense handles, never a canonical ordering. More...
#include <conn_keys.h>
Classes | |
| class | INTERN_TABLE |
| struct | INTERNED_NAME |
| struct | NODE_HASH |
Public Member Functions | |
| SESSION_KEYS ()=default | |
| SESSION_KEYS (const SESSION_KEYS &)=delete | |
| SESSION_KEYS & | operator= (const SESSION_KEYS &)=delete |
| INST_ID | InternInstance (const KIID_PATH &aPath) |
| NAME_ID | InternName (const wxString &aText) |
| NODE_ID | InternNode (NODE_KEY aKey) |
| std::optional< NAME_ID > | FindName (const wxString &aText) const |
| std::optional< INST_ID > | FindInstance (const KIID_PATH &aPath) const |
| const KIID_PATH & | Instance (INST_ID aId) const |
| const wxString & | Name (NAME_ID aId) const |
| const NODE_KEY & | Node (NODE_ID aId) const |
| size_t | NodeCount () const |
| bool | NameLess (NAME_ID aLeft, NAME_ID aRight) const |
| bool | Less (const ITEM_KEY &aLeft, const ITEM_KEY &aRight) const |
| bool | Less (const RECORD_KEY &aLeft, const RECORD_KEY &aRight) const |
| bool | Less (const RECORD_NODE &aLeft, const RECORD_NODE &aRight) const |
| bool | Less (const NAME_KEY &aLeft, const NAME_KEY &aRight) const |
| bool | Less (const SLOT_KEY &aLeft, const SLOT_KEY &aRight) const |
| bool | Less (const NODE_KEY &aLeft, const NODE_KEY &aRight) const |
Private Attributes | |
| INTERN_TABLE< KIID_PATH > | m_instances |
| INTERN_TABLE< INTERNED_NAME > | m_names |
| INTERN_TABLE< NODE_KEY, std::unordered_map< NODE_KEY, uint32_t, NODE_HASH > > | m_nodes |
Session IDs are dense handles, never a canonical ordering.
Keys contain no model pointers. Intern on the main thread before worker stages; values and their addresses remain stable.
A table throws std::overflow_error instead of giving out INVALID_ID, and it then stays unchanged. The tables never release a value, so ENGINE::Clear() keeps every handle valid.
Definition at line 145 of file conn_keys.h.
|
default |
Referenced by operator=(), and SESSION_KEYS().
|
delete |
References SESSION_KEYS().
|
inline |
Definition at line 160 of file conn_keys.h.
References m_instances.
Referenced by SCH_CONNECTIVITY::FACADE::Connection(), SCH_CONNECTIVITY::FACADE::GetSubgraphForItem(), and SCH_CONNECTIVITY::FACADE::Recalculate().
|
inline |
Definition at line 155 of file conn_keys.h.
References m_names.
Definition at line 162 of file conn_keys.h.
References m_instances.
Referenced by SCH_CONNECTIVITY::FACADE_STATE::Group(), InternNode(), Less(), Less(), and Less().
Definition at line 152 of file conn_keys.h.
References m_instances.
Referenced by BOOST_AUTO_TEST_CASE(), and SCH_CONNECTIVITY::CaptureHierarchy().
|
inline |
Definition at line 153 of file conn_keys.h.
References m_names.
Referenced by BOOST_AUTO_TEST_CASE(), SCH_CONNECTIVITY::PrepareBundle(), and SCH_CONNECTIVITY::PrepareInstanceClaims().
Definition at line 28 of file conn_keys.cpp.
References Instance(), m_nodes, Name(), name, and SCH_CONNECTIVITY::SIGNAL.
Referenced by SCH_CONNECTIVITY::RecordNodes(), and SCH_CONNECTIVITY::SignalNodes().
Definition at line 98 of file conn_keys.cpp.
References SCH_CONNECTIVITY::ITEM_KEY::inst, Instance(), and SCH_CONNECTIVITY::ITEM_KEY::item.
Referenced by SCH_CONNECTIVITY::DeriveSignal(), SCH_CONNECTIVITY::SUMMARY::Join(), Less(), Less(), and Less().
Definition at line 128 of file conn_keys.cpp.
References SCH_CONNECTIVITY::NAME_KEY::inst, Instance(), SCH_CONNECTIVITY::NAME_KEY::kind, NameLess(), SCH_CONNECTIVITY::NAME_KEY::scope, and SCH_CONNECTIVITY::NAME_KEY::text.
Definition at line 158 of file conn_keys.cpp.
| bool SCH_CONNECTIVITY::SESSION_KEYS::Less | ( | const RECORD_KEY & | aLeft, |
| const RECORD_KEY & | aRight ) const |
Definition at line 112 of file conn_keys.cpp.
References SCH_CONNECTIVITY::RECORD_KEY::anchor, SCH_CONNECTIVITY::RECORD_KEY::inst, and Instance().
| bool SCH_CONNECTIVITY::SESSION_KEYS::Less | ( | const RECORD_NODE & | aLeft, |
| const RECORD_NODE & | aRight ) const |
Definition at line 123 of file conn_keys.cpp.
References SCH_CONNECTIVITY::RECORD_NODE::kind, Less(), and SCH_CONNECTIVITY::RECORD_NODE::record.
Definition at line 152 of file conn_keys.cpp.
References SCH_CONNECTIVITY::SLOT_KEY::bundleDriver, SCH_CONNECTIVITY::SLOT_KEY::leaf, and Less().
|
inline |
Definition at line 163 of file conn_keys.h.
References m_names.
Referenced by SCH_CONNECTIVITY::FACADE::ApplyNetclasses(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), InternNode(), SCH_CONNECTIVITY::PrepareBundle(), SCH_CONNECTIVITY::PrepareInstanceClaims(), and SCH_CONNECTIVITY::FACADE::Recalculate().
Definition at line 164 of file conn_keys.h.
References m_nodes.
Referenced by SCH_CONNECTIVITY::DeriveSignal(), and SCH_CONNECTIVITY::PrepareBundle().
|
inline |
Definition at line 165 of file conn_keys.h.
References m_nodes.
Referenced by SCH_CONNECTIVITY::PARTITIONER::Build().
|
delete |
References SESSION_KEYS().
|
private |
Definition at line 238 of file conn_keys.h.
Referenced by FindInstance(), Instance(), and InternInstance().
|
private |
Definition at line 239 of file conn_keys.h.
Referenced by FindName(), InternName(), Name(), and NameLess().
|
private |
Definition at line 241 of file conn_keys.h.
Referenced by InternNode(), Node(), and NodeCount().