williamr@2: // This is an implementation file which williamr@2: // is intended to be included multiple times with different _STLP_ASSOCIATIVE_CONTAINER williamr@2: // setting williamr@2: williamr@2: #ifndef _STLP_EQUAL_OPERATOR_SPECIALIZED williamr@2: _STLP_TEMPLATE_HEADER williamr@2: inline bool _STLP_CALL operator==(const _STLP_TEMPLATE_CONTAINER& __x, williamr@2: const _STLP_TEMPLATE_CONTAINER& __y) { williamr@2: return __x.size() == __y.size() && williamr@2: equal(__x.begin(), __x.end(), __y.begin()); williamr@2: } williamr@2: #endif /* _STLP_EQUAL_OPERATOR_SPECIALIZED */ williamr@2: williamr@2: _STLP_TEMPLATE_HEADER williamr@2: inline bool _STLP_CALL operator<(const _STLP_TEMPLATE_CONTAINER& __x, williamr@2: const _STLP_TEMPLATE_CONTAINER& __y) { williamr@2: return lexicographical_compare(__x.begin(), __x.end(), williamr@2: __y.begin(), __y.end()); williamr@2: } williamr@2: williamr@2: _STLP_RELOPS_OPERATORS( _STLP_TEMPLATE_HEADER , _STLP_TEMPLATE_CONTAINER ) williamr@2: williamr@2: #ifdef _STLP_FUNCTION_TMPL_PARTIAL_ORDER williamr@2: _STLP_TEMPLATE_HEADER williamr@2: inline void _STLP_CALL swap(_STLP_TEMPLATE_CONTAINER& __x, williamr@2: _STLP_TEMPLATE_CONTAINER& __y) { williamr@2: __x.swap(__y); williamr@2: } williamr@2: #endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */