1// This is an implementation file which
2// is intended to be included multiple times with different _STLP_ASSOCIATIVE_CONTAINER
3// setting
4
5#if !defined (_STLP_EQUAL_OPERATOR_SPECIALIZED)
6_STLP_TEMPLATE_HEADER
7inline bool _STLP_CALL operator==(const _STLP_TEMPLATE_CONTAINER& __x,
8                                  const _STLP_TEMPLATE_CONTAINER& __y) {
9  return __x.size() == __y.size() &&
10         equal(__x.begin(), __x.end(), __y.begin());
11}
12#endif /* _STLP_EQUAL_OPERATOR_SPECIALIZED */
13
14_STLP_TEMPLATE_HEADER
15inline bool _STLP_CALL operator<(const _STLP_TEMPLATE_CONTAINER& __x,
16                                 const _STLP_TEMPLATE_CONTAINER& __y) {
17  return lexicographical_compare(__x.begin(), __x.end(),
18                                 __y.begin(), __y.end());
19}
20
21_STLP_RELOPS_OPERATORS( _STLP_TEMPLATE_HEADER , _STLP_TEMPLATE_CONTAINER )
22
23#if defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER)
24_STLP_TEMPLATE_HEADER
25inline void _STLP_CALL swap(_STLP_TEMPLATE_CONTAINER& __x,
26                            _STLP_TEMPLATE_CONTAINER& __y) {
27  __x.swap(__y);
28}
29#endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */
30