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