| #include "src/impl.h" |
| |
| namespace mp4v2 { namespace impl { |
| |
| /////////////////////////////////////////////////////////////////////////////// |
| |
| bool |
| LessIgnoreCase::operator()( const string& xstr, const string& ystr ) const |
| { |
| const string::size_type xlen = xstr.length(); |
| const string::size_type ylen = ystr.length(); |
| |
| if( xlen < ylen ) { |
| for( string::size_type i = 0; i < xlen; i++ ) { |
| const char x = std::toupper( xstr[i] ); |
| const char y = std::toupper( ystr[i] ); |
| |
| if( x < y ) |
| return true; |
| else if ( x > y ) |
| return false; |
| } |
| return true; |
| } |
| else { |
| for( string::size_type i = 0; i < ylen; i++ ) { |
| const char x = std::toupper( xstr[i] ); |
| const char y = std::toupper( ystr[i] ); |
| |
| if( x < y ) |
| return true; |
| else if ( x > y ) |
| return false; |
| } |
| return false; |
| } |
| } |
| |
| /////////////////////////////////////////////////////////////////////////////// |
| |
| }} // namespace mp4v2::impl |