|
KiCad PCB EDA Suite
|
Materialize a MERGE_PLAN into a merged name-keyed library. More...
#include <lib_merge_applier.h>
Classes | |
| struct | REPORT |
Public Types | |
| using | ITEM_MAP = std::map<wxString, const ITEM*> |
Public Member Functions | |
| LIB_MERGE_APPLIER (const ITEM_MAP &aAncestor, const ITEM_MAP &aOurs, const ITEM_MAP &aTheirs, MERGE_PLAN aPlan) | |
| std::vector< std::unique_ptr< ITEM > > | Apply () |
| const REPORT & | GetReport () const |
Static Private Member Functions | |
| static const ITEM * | findItem (const ITEM_MAP &aMap, const wxString &aName) |
| static std::set< wxString > | collectNames (const ITEM_MAP &aAncestor, const ITEM_MAP &aOurs, const ITEM_MAP &aTheirs) |
| static void | takeFrom (const ITEM_MAP &aSource, const wxString &aName, std::map< wxString, const ITEM * > &aLive, std::size_t &aCounter) |
Private Attributes | |
| const ITEM_MAP & | m_ancestor |
| const ITEM_MAP & | m_ours |
| const ITEM_MAP & | m_theirs |
| MERGE_PLAN | m_plan |
| REPORT | m_report |
Materialize a MERGE_PLAN into a merged name-keyed library.
Library identity is the canonical item name (LIB_SYMBOL or FOOTPRINT). Plan IDs come from LibraryItemKiidPath(name) on the differ side; the applier reconstructs the same KIID_PATH from each input map's keys and looks up matching resolutions.
Per-property merge (MERGE_PROPS) at the item level is not implemented; such resolutions are downgraded to TAKE_OURS and counted in mergePropsFallback so the job handler can surface them as unresolved to the user.
Definition at line 58 of file lib_merge_applier.h.
| using KICAD_DIFF::LIB_MERGE_APPLIER< ITEM >::ITEM_MAP = std::map<wxString, const ITEM*> |
Definition at line 61 of file lib_merge_applier.h.
|
inline |
Definition at line 63 of file lib_merge_applier.h.
|
inline |
Definition at line 87 of file lib_merge_applier.h.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), PCBNEW_JOBS_HANDLER::runFpLibMerge(), and EESCHEMA_JOBS_HANDLER::runSymLibMerge().
|
inlinestaticprivate |
Definition at line 180 of file lib_merge_applier.h.
Referenced by KICAD_DIFF::LIB_MERGE_APPLIER< LIB_SYMBOL >::Apply().
|
inlinestaticprivate |
Definition at line 174 of file lib_merge_applier.h.
Referenced by KICAD_DIFF::LIB_MERGE_APPLIER< LIB_SYMBOL >::Apply(), and KICAD_DIFF::LIB_MERGE_APPLIER< LIB_SYMBOL >::takeFrom().
|
inline |
Definition at line 171 of file lib_merge_applier.h.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), PCBNEW_JOBS_HANDLER::runFpLibMerge(), and EESCHEMA_JOBS_HANDLER::runSymLibMerge().
|
inlinestaticprivate |
Definition at line 194 of file lib_merge_applier.h.
Referenced by KICAD_DIFF::LIB_MERGE_APPLIER< LIB_SYMBOL >::Apply().
|
private |
Definition at line 205 of file lib_merge_applier.h.
|
private |
Definition at line 206 of file lib_merge_applier.h.
|
private |
Definition at line 208 of file lib_merge_applier.h.
|
private |
Definition at line 209 of file lib_merge_applier.h.
|
private |
Definition at line 207 of file lib_merge_applier.h.