24#ifndef PCBNEW_ROUTER_PNS_LINK_HOLDER_H_
25#define PCBNEW_ROUTER_PNS_LINK_HOLDER_H_
43 "Trying to link an item that is already linked" );
50 "Trying to unlink an item that is not linked" );
94 wxLogTrace( wxT(
"PNS" ), wxT(
"item %p: no links" ),
this );
98 wxLogTrace( wxT(
"PNS" ), wxT(
"item %p: %d links" ),
this, (
int)
m_links.size() );
100 for(
int i = 0; i < (int)
m_links.size(); i++ )
101 wxLogTrace( wxT(
"PNS" ), wxT(
"item %d: %p\n" ), i,
m_links[i] );
Base class for PNS router board items.
PnsKind
< Supported item types
void copyLinks(const LINK_HOLDER *aParent)
< Copy m_links from the line aParent.
void Unlink(const LINKED_ITEM *aLink)
Return the list of links from the owning node that constitute this line (or NULL if the line is not l...
void Link(LINKED_ITEM *aLink)
bool IsLinked() const
Check if the segment aLink is a part of the line.
bool ContainsLink(const LINKED_ITEM *aItem) const
std::vector< LINKED_ITEM * > & Links()
const std::vector< LINKED_ITEM * > & Links() const
LINKED_ITEM * GetLink(int aIndex) const
Erase the linking information. Used to detach the line from the owning node.
std::vector< LINKED_ITEM * > m_links
LINK_HOLDER(PnsKind aKind)
Add a reference to an item registered in a #NODE that is a part of this line.
virtual void ClearLinks()
Return the number of segments that were assembled together to form this line.
Push and Shove diff pair dimensions (gap) settings dialog.
void delete_matching(_Container &__c, _Value __value)
Covers for the horrifically named std::remove and std::remove_if (neither of which remove anything).
bool contains(const _Container &__container, _Value __value)
Returns true if the container contains the given value.