Unify SCH_PIN ambiguity in equality operator
Remove != operator that is not used for C++20 and reworked SCH_PIN==SCH_ITEM operator that was not reciprocal
This commit is contained in:
parent
c6499cf5db
commit
79a354bf0e
|
@ -1830,12 +1830,12 @@ bool LIB_SYMBOL::operator==( const LIB_SYMBOL& aOther ) const
|
|||
for( auto it1 = thisPinList.begin(), it2 = otherPinList.begin();
|
||||
it1 != thisPinList.end(); ++it1, ++it2 )
|
||||
{
|
||||
if( !( **it1 == **it2 ) )
|
||||
if( **it1 != **it2 )
|
||||
return false;
|
||||
}
|
||||
for( size_t ii = 0; ii < thisPinList.size(); ++ii )
|
||||
{
|
||||
if( !( *thisPinList[ii] == *otherPinList[ii] ) )
|
||||
if( *thisPinList[ii] != *otherPinList[ii] )
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -119,14 +119,6 @@ public:
|
|||
&& GetParent() == aB.GetParent();
|
||||
}
|
||||
|
||||
bool operator!=( const DANGLING_END_ITEM& aB ) const
|
||||
{
|
||||
return GetItem() != aB.GetItem()
|
||||
|| GetPosition() != aB.GetPosition()
|
||||
|| GetType() != aB.GetType()
|
||||
|| GetParent() != aB.GetParent();;
|
||||
}
|
||||
|
||||
bool operator<( const DANGLING_END_ITEM& rhs ) const
|
||||
{
|
||||
return( m_pos.x < rhs.m_pos.x || ( m_pos.x == rhs.m_pos.x && m_pos.y < rhs.m_pos.y )
|
||||
|
|
|
@ -2028,63 +2028,58 @@ wxString SCH_PIN::getItemDescription( ALT* aAlt ) const
|
|||
}
|
||||
|
||||
|
||||
bool SCH_PIN::operator==( const SCH_ITEM& aOther ) const
|
||||
bool SCH_PIN::operator==( const SCH_PIN& aOther ) const
|
||||
{
|
||||
if( aOther.Type() != SCH_PIN_T )
|
||||
if( m_number != aOther.m_number )
|
||||
return false;
|
||||
|
||||
const SCH_PIN* other = static_cast<const SCH_PIN*>( &aOther );
|
||||
|
||||
if( m_number != other->m_number )
|
||||
return false;
|
||||
|
||||
if( m_position != other->m_position )
|
||||
if( m_position != aOther.m_position )
|
||||
return false;
|
||||
|
||||
if( dynamic_cast<const SCH_SYMBOL*>( GetParentSymbol() ) )
|
||||
{
|
||||
if( m_libPin != other->m_libPin )
|
||||
if( m_libPin != aOther.m_libPin )
|
||||
return false;
|
||||
|
||||
if( m_alt != other->m_alt )
|
||||
if( m_alt != aOther.m_alt )
|
||||
return false;
|
||||
}
|
||||
|
||||
if( dynamic_cast<const LIB_SYMBOL*>( GetParentSymbol() ) )
|
||||
{
|
||||
if( m_length != other->m_length )
|
||||
if( m_length != aOther.m_length )
|
||||
return false;
|
||||
|
||||
if( m_orientation != other->m_orientation )
|
||||
if( m_orientation != aOther.m_orientation )
|
||||
return false;
|
||||
|
||||
if( m_shape != other->m_shape )
|
||||
if( m_shape != aOther.m_shape )
|
||||
return false;
|
||||
|
||||
if( m_type != other->m_type )
|
||||
if( m_type != aOther.m_type )
|
||||
return false;
|
||||
|
||||
if( m_name != other->m_name )
|
||||
if( m_name != aOther.m_name )
|
||||
return false;
|
||||
|
||||
if( m_hidden != other->m_hidden )
|
||||
if( m_hidden != aOther.m_hidden )
|
||||
return false;
|
||||
|
||||
if( m_numTextSize != other->m_numTextSize )
|
||||
if( m_numTextSize != aOther.m_numTextSize )
|
||||
return false;
|
||||
|
||||
if( m_nameTextSize != other->m_nameTextSize )
|
||||
if( m_nameTextSize != aOther.m_nameTextSize )
|
||||
return false;
|
||||
|
||||
if( m_alternates.size() != other->m_alternates.size() )
|
||||
if( m_alternates.size() != aOther.m_alternates.size() )
|
||||
return false;
|
||||
|
||||
auto lhsItem = m_alternates.begin();
|
||||
auto rhsItem = other->m_alternates.begin();
|
||||
auto rhsItem = aOther.m_alternates.begin();
|
||||
|
||||
while( lhsItem != m_alternates.end() )
|
||||
{
|
||||
if( rhsItem == other->m_alternates.end() )
|
||||
if( rhsItem == aOther.m_alternates.end() )
|
||||
return false;
|
||||
|
||||
const ALT& lhsAlt = lhsItem->second;
|
||||
|
@ -2103,7 +2098,7 @@ bool SCH_PIN::operator==( const SCH_ITEM& aOther ) const
|
|||
++rhsItem;
|
||||
}
|
||||
|
||||
if( rhsItem != other->m_alternates.end() )
|
||||
if( rhsItem != aOther.m_alternates.end() )
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -285,8 +285,7 @@ public:
|
|||
|
||||
double Similarity( const SCH_ITEM& aOther ) const override;
|
||||
|
||||
bool operator==( const SCH_ITEM& aOther ) const override;
|
||||
bool operator!=( const SCH_ITEM& aOther ) const { return !operator==( aOther ); }
|
||||
bool operator==( const SCH_PIN& aOther ) const;
|
||||
bool operator<( const SCH_PIN& aRhs ) const { return compare( aRhs, EQUALITY ) < 0; }
|
||||
bool operator>( const SCH_PIN& aRhs ) const { return compare( aRhs, EQUALITY ) > 0; }
|
||||
|
||||
|
|
|
@ -2712,7 +2712,7 @@ bool SCH_SYMBOL::operator==( const SCH_ITEM& aOther ) const
|
|||
|
||||
for( unsigned i = 0; i < m_pins.size(); ++i )
|
||||
{
|
||||
if( !( *m_pins[i] == *symbol.m_pins[i] ) )
|
||||
if( *m_pins[i] == *symbol.m_pins[i] )
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue