|
KiCad PCB EDA Suite
|
Range-for-compatible walker that yields only typed data from a linked list. More...
#include <allegro_db_utils.h>
Classes | |
| class | ITERATOR |
Public Member Functions | |
| TYPED_LL_WALKER (uint32_t aHead, uint32_t aTail, const BRD_DB &aBoard, MISMATCH_POLICY aPolicy=MISMATCH_POLICY::SKIP, LL_WALKER::NEXT_FUNC_T aNextFunc=GetPrimaryNext) | |
| TYPED_LL_WALKER (const FILE_HEADER::LINKED_LIST &aList, const BRD_DB &aBoard, MISMATCH_POLICY aPolicy=MISMATCH_POLICY::SKIP, LL_WALKER::NEXT_FUNC_T aNextFunc=GetPrimaryNext) | |
| void | SetMismatchReporter (MISMATCH_REPORTER aReporter) |
| ITERATOR | begin () const |
| ITERATOR | end () const |
Private Attributes | |
| LL_WALKER | m_walker |
| MISMATCH_POLICY | m_policy |
| MISMATCH_REPORTER | m_mismatchReporter |
Range-for-compatible walker that yields only typed data from a linked list.
Wraps LL_WALKER and applies a MISMATCH_POLICY to blocks whose type code does not match T. Dereferences yield const T& directly, avoiding repeated checks/casts in loop bodies.
Definition at line 303 of file allegro_db_utils.h.
|
inline |
Definition at line 382 of file allegro_db_utils.h.
References ALLEGRO::GetPrimaryNext(), m_policy, m_walker, move, and ALLEGRO::SKIP.
Referenced by TYPED_LL_WALKER().
|
inline |
Definition at line 390 of file allegro_db_utils.h.
References ALLEGRO::GetPrimaryNext(), move, ALLEGRO::SKIP, and TYPED_LL_WALKER().
|
inline |
Definition at line 402 of file allegro_db_utils.h.
References m_mismatchReporter, m_policy, and m_walker.
|
inline |
Definition at line 407 of file allegro_db_utils.h.
|
inline |
Definition at line 397 of file allegro_db_utils.h.
References m_mismatchReporter.
Referenced by ALLEGRO::BOARD_BUILDER::BuildBoard(), ALLEGRO::BOARD_BUILDER::buildFootprint(), and ALLEGRO::BOARD_BUILDER::createTracks().
|
private |
Definition at line 415 of file allegro_db_utils.h.
Referenced by begin(), and SetMismatchReporter().
|
private |
Definition at line 414 of file allegro_db_utils.h.
Referenced by begin(), and TYPED_LL_WALKER().
|
private |
Definition at line 413 of file allegro_db_utils.h.
Referenced by begin(), and TYPED_LL_WALKER().