added macro code to help define more comparison operators. Got rid of |typename|. We can live with the warnings, maybe; but windows can't digest it in this context.

This commit is contained in:
scc%netscape.com 2000-05-15 05:14:40 +00:00
Родитель 2661ee567e
Коммит bdc40d3a04
3 изменённых файлов: 54 добавлений и 27 удалений

Просмотреть файл

@ -458,12 +458,21 @@ operator!=( const nsReadingIterator<CharT>& lhs, const nsReadingIterator<CharT>&
return PRBool(Compare(lhs, NS_READABLE_CAST(_CharT, rhs)) comp 0); \
}
#define NS_DEF_1_STRING_STRING_COMPARISON_OPERATOR(comp, _StringT, _CharT) \
inline \
PRBool \
operator comp( const _StringT& lhs, const _StringT& rhs ) \
{ \
return PRBool(Compare(NS_READABLE_CAST(_CharT, lhs), NS_READABLE_CAST(_CharT, rhs)) comp 0); \
}
#define NS_DEF_2_TEMPLATE_STRING_COMPARISON_OPERATORS(comp, _StringT, _CharT) \
template <class _CharT> NS_DEF_1_STRING_PTR_COMPARISON_OPERATOR(comp, _StringT, _CharT) \
template <class _CharT> NS_DEF_1_PTR_STRING_COMPARISON_OPERATOR(comp, _StringT, _CharT)
#define NS_DEF_2_STRING_COMPARISON_OPERATORS(comp, _StringT, _CharT) \
NS_DEF_1_STRING_PTR_COMPARISON_OPERATOR(comp, _StringT, _CharT) \
#define NS_DEF_3_STRING_COMPARISON_OPERATORS(comp, _StringT, _CharT) \
NS_DEF_1_STRING_STRING_COMPARISON_OPERATOR(comp, _StringT, _CharT) \
NS_DEF_1_STRING_PTR_COMPARISON_OPERATOR(comp, _StringT, _CharT) \
NS_DEF_1_PTR_STRING_COMPARISON_OPERATOR(comp, _StringT, _CharT)
#define NS_DEF_TEMPLATE_STRING_COMPARISON_OPERATORS(_StringT, _CharT) \
@ -475,12 +484,12 @@ operator!=( const nsReadingIterator<CharT>& lhs, const nsReadingIterator<CharT>&
NS_DEF_2_TEMPLATE_STRING_COMPARISON_OPERATORS(> , _StringT, _CharT)
#define NS_DEF_STRING_COMPARISON_OPERATORS(_StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(!=, _StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(< , _StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(<=, _StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(==, _StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(>=, _StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(> , _StringT, _CharT)
NS_DEF_3_STRING_COMPARISON_OPERATORS(!=, _StringT, _CharT) \
NS_DEF_3_STRING_COMPARISON_OPERATORS(< , _StringT, _CharT) \
NS_DEF_3_STRING_COMPARISON_OPERATORS(<=, _StringT, _CharT) \
NS_DEF_3_STRING_COMPARISON_OPERATORS(==, _StringT, _CharT) \
NS_DEF_3_STRING_COMPARISON_OPERATORS(>=, _StringT, _CharT) \
NS_DEF_3_STRING_COMPARISON_OPERATORS(> , _StringT, _CharT)
NS_DEF_TEMPLATE_STRING_COMPARISON_OPERATORS(basic_nsAReadableString<CharT>, CharT)
@ -1093,7 +1102,7 @@ copy_string_backward( InputIterator first, InputIterator last, OutputIterator re
NS_ASSERTION(lengthToCopy, "|copy_string_backward| will never terminate");
nsCharTraits<typename OutputIterator::value_type>::move(result.operator->()-lengthToCopy, last.operator->()-lengthToCopy, lengthToCopy);
nsCharTraits<OutputIterator::value_type>::move(result.operator->()-lengthToCopy, last.operator->()-lengthToCopy, lengthToCopy);
last -= PRInt32(lengthToCopy);
result -= PRInt32(lengthToCopy);

Просмотреть файл

@ -458,12 +458,21 @@ operator!=( const nsReadingIterator<CharT>& lhs, const nsReadingIterator<CharT>&
return PRBool(Compare(lhs, NS_READABLE_CAST(_CharT, rhs)) comp 0); \
}
#define NS_DEF_1_STRING_STRING_COMPARISON_OPERATOR(comp, _StringT, _CharT) \
inline \
PRBool \
operator comp( const _StringT& lhs, const _StringT& rhs ) \
{ \
return PRBool(Compare(NS_READABLE_CAST(_CharT, lhs), NS_READABLE_CAST(_CharT, rhs)) comp 0); \
}
#define NS_DEF_2_TEMPLATE_STRING_COMPARISON_OPERATORS(comp, _StringT, _CharT) \
template <class _CharT> NS_DEF_1_STRING_PTR_COMPARISON_OPERATOR(comp, _StringT, _CharT) \
template <class _CharT> NS_DEF_1_PTR_STRING_COMPARISON_OPERATOR(comp, _StringT, _CharT)
#define NS_DEF_2_STRING_COMPARISON_OPERATORS(comp, _StringT, _CharT) \
NS_DEF_1_STRING_PTR_COMPARISON_OPERATOR(comp, _StringT, _CharT) \
#define NS_DEF_3_STRING_COMPARISON_OPERATORS(comp, _StringT, _CharT) \
NS_DEF_1_STRING_STRING_COMPARISON_OPERATOR(comp, _StringT, _CharT) \
NS_DEF_1_STRING_PTR_COMPARISON_OPERATOR(comp, _StringT, _CharT) \
NS_DEF_1_PTR_STRING_COMPARISON_OPERATOR(comp, _StringT, _CharT)
#define NS_DEF_TEMPLATE_STRING_COMPARISON_OPERATORS(_StringT, _CharT) \
@ -475,12 +484,12 @@ operator!=( const nsReadingIterator<CharT>& lhs, const nsReadingIterator<CharT>&
NS_DEF_2_TEMPLATE_STRING_COMPARISON_OPERATORS(> , _StringT, _CharT)
#define NS_DEF_STRING_COMPARISON_OPERATORS(_StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(!=, _StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(< , _StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(<=, _StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(==, _StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(>=, _StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(> , _StringT, _CharT)
NS_DEF_3_STRING_COMPARISON_OPERATORS(!=, _StringT, _CharT) \
NS_DEF_3_STRING_COMPARISON_OPERATORS(< , _StringT, _CharT) \
NS_DEF_3_STRING_COMPARISON_OPERATORS(<=, _StringT, _CharT) \
NS_DEF_3_STRING_COMPARISON_OPERATORS(==, _StringT, _CharT) \
NS_DEF_3_STRING_COMPARISON_OPERATORS(>=, _StringT, _CharT) \
NS_DEF_3_STRING_COMPARISON_OPERATORS(> , _StringT, _CharT)
NS_DEF_TEMPLATE_STRING_COMPARISON_OPERATORS(basic_nsAReadableString<CharT>, CharT)
@ -1093,7 +1102,7 @@ copy_string_backward( InputIterator first, InputIterator last, OutputIterator re
NS_ASSERTION(lengthToCopy, "|copy_string_backward| will never terminate");
nsCharTraits<typename OutputIterator::value_type>::move(result.operator->()-lengthToCopy, last.operator->()-lengthToCopy, lengthToCopy);
nsCharTraits<OutputIterator::value_type>::move(result.operator->()-lengthToCopy, last.operator->()-lengthToCopy, lengthToCopy);
last -= PRInt32(lengthToCopy);
result -= PRInt32(lengthToCopy);

Просмотреть файл

@ -458,12 +458,21 @@ operator!=( const nsReadingIterator<CharT>& lhs, const nsReadingIterator<CharT>&
return PRBool(Compare(lhs, NS_READABLE_CAST(_CharT, rhs)) comp 0); \
}
#define NS_DEF_1_STRING_STRING_COMPARISON_OPERATOR(comp, _StringT, _CharT) \
inline \
PRBool \
operator comp( const _StringT& lhs, const _StringT& rhs ) \
{ \
return PRBool(Compare(NS_READABLE_CAST(_CharT, lhs), NS_READABLE_CAST(_CharT, rhs)) comp 0); \
}
#define NS_DEF_2_TEMPLATE_STRING_COMPARISON_OPERATORS(comp, _StringT, _CharT) \
template <class _CharT> NS_DEF_1_STRING_PTR_COMPARISON_OPERATOR(comp, _StringT, _CharT) \
template <class _CharT> NS_DEF_1_PTR_STRING_COMPARISON_OPERATOR(comp, _StringT, _CharT)
#define NS_DEF_2_STRING_COMPARISON_OPERATORS(comp, _StringT, _CharT) \
NS_DEF_1_STRING_PTR_COMPARISON_OPERATOR(comp, _StringT, _CharT) \
#define NS_DEF_3_STRING_COMPARISON_OPERATORS(comp, _StringT, _CharT) \
NS_DEF_1_STRING_STRING_COMPARISON_OPERATOR(comp, _StringT, _CharT) \
NS_DEF_1_STRING_PTR_COMPARISON_OPERATOR(comp, _StringT, _CharT) \
NS_DEF_1_PTR_STRING_COMPARISON_OPERATOR(comp, _StringT, _CharT)
#define NS_DEF_TEMPLATE_STRING_COMPARISON_OPERATORS(_StringT, _CharT) \
@ -475,12 +484,12 @@ operator!=( const nsReadingIterator<CharT>& lhs, const nsReadingIterator<CharT>&
NS_DEF_2_TEMPLATE_STRING_COMPARISON_OPERATORS(> , _StringT, _CharT)
#define NS_DEF_STRING_COMPARISON_OPERATORS(_StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(!=, _StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(< , _StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(<=, _StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(==, _StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(>=, _StringT, _CharT) \
NS_DEF_2_STRING_COMPARISON_OPERATORS(> , _StringT, _CharT)
NS_DEF_3_STRING_COMPARISON_OPERATORS(!=, _StringT, _CharT) \
NS_DEF_3_STRING_COMPARISON_OPERATORS(< , _StringT, _CharT) \
NS_DEF_3_STRING_COMPARISON_OPERATORS(<=, _StringT, _CharT) \
NS_DEF_3_STRING_COMPARISON_OPERATORS(==, _StringT, _CharT) \
NS_DEF_3_STRING_COMPARISON_OPERATORS(>=, _StringT, _CharT) \
NS_DEF_3_STRING_COMPARISON_OPERATORS(> , _StringT, _CharT)
NS_DEF_TEMPLATE_STRING_COMPARISON_OPERATORS(basic_nsAReadableString<CharT>, CharT)
@ -1093,7 +1102,7 @@ copy_string_backward( InputIterator first, InputIterator last, OutputIterator re
NS_ASSERTION(lengthToCopy, "|copy_string_backward| will never terminate");
nsCharTraits<typename OutputIterator::value_type>::move(result.operator->()-lengthToCopy, last.operator->()-lengthToCopy, lengthToCopy);
nsCharTraits<OutputIterator::value_type>::move(result.operator->()-lengthToCopy, last.operator->()-lengthToCopy, lengthToCopy);
last -= PRInt32(lengthToCopy);
result -= PRInt32(lengthToCopy);