27#include <wx/translation.h>
40 if( ( wxIsdigit( c ) || ( ( c ==
'+' || c ==
'-' ) && (
cursor < str.size() - 1 )
41 && wxIsdigit( str[
cursor + 1] ) ) ) )
44 while( ++
cursor < str.size() )
48 if( wxIsdigit( c ) || c ==
'v' || c ==
'V' || c ==
'.' )
56 while( ++
cursor < str.size() )
88 int rc = ( i !=
end() ) ?
Compare( *last, *i ) : -2;
90 assert( rc == -1 || rc == -2 );
96 ret += *begin_of_range;
98 if( begin_of_range != last )
137 wxString::size_type cursor1 = 0;
138 wxString::size_type cursor2 = 0;
140 wxString symbol1, symbol2;
147 if( symbol1.empty() && symbol2.empty() )
150 if( symbol1.empty() )
153 if( symbol2.empty() )
156 bool sym1_isnumeric = symbol1.find_first_of( wxS(
"0123456789" ) ) != wxString::npos;
157 bool sym2_isnumeric = symbol2.find_first_of( wxS(
"0123456789" ) ) != wxString::npos;
164 wxString::size_type
v1 = symbol1.find_first_of( wxS(
"vV" ) );
166 if(
v1 != wxString::npos )
169 wxString::size_type
v2 = symbol2.find_first_of( wxS(
"vV" ) );
171 if(
v2 != wxString::npos )
176 symbol1.ToCDouble( &val1 );
177 symbol2.ToCDouble( &val2 );
181 if( val1 == val2 - 1 )
189 if( val1 == val2 + 1 )
205 int res = symbol1.Cmp( symbol2 );
wxString GetDuplicates() const
Gets a formatted string of all the pins that have duplicate numbers.
static wxString getNextSymbol(const wxString &str, wxString::size_type &cursor)
static int Compare(const wxString &lhs, const wxString &rhs)
wxString GetSummary() const
container_type::const_iterator const_iterator
std::set< wxString > duplicate_pins