Back to index

lightning-sunbird  0.9+nobinonly
Functions
nsTStringComparator.cpp File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

NS_COM int Compare (const nsTSubstring_CharT::base_string_type &lhs, const nsTSubstring_CharT::base_string_type &rhs, const nsTStringComparator_CharT &comp)

Function Documentation

Definition at line 40 of file nsTStringComparator.cpp.

  {
    typedef nsTAString_CharT::size_type size_type;

    if ( &lhs == &rhs )
      return 0;

    nsTAString_CharT::const_iterator leftIter, rightIter;
    lhs.BeginReading(leftIter);
    rhs.BeginReading(rightIter);

    size_type lLength = leftIter.size_forward();
    size_type rLength = rightIter.size_forward();
    size_type lengthToCompare = NS_MIN(lLength, rLength);

    int result;
    if ( (result = comp(leftIter.get(), rightIter.get(), lengthToCompare)) == 0 )
      {
        if ( lLength < rLength )
          result = -1;
        else if ( rLength < lLength )
          result = 1;
        else
          result = 0;
      }

    return result;
  }

Here is the call graph for this function: