This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of CD1 status.

### 410. Missing semantics for stack and queue comparison operators

Section: 22.3.10.2 [list.cons], 22.3.10.4 [list.modifiers] Status: CD1 Submitter: Hans Bos Opened: 2003-06-07 Last modified: 2016-01-28

Priority: Not Prioritized

View all other issues in [list.cons].

View all issues with CD1 status.

Discussion:

Sections 22.3.10.2 [list.cons] and 22.3.10.4 [list.modifiers] list comparison operators (==, !=, <, <=, >, =>) for queue and stack. Only the semantics for queue::operator== (22.3.10.2 [list.cons] par2) and queue::operator< (22.3.10.2 [list.cons] par3) are defined.

Proposed resolution:

Add the following new paragraphs after 22.3.10.2 [list.cons] paragraph 3:

>       operator!=

> Returns: `x.c != y.c`

>       operator>

> Returns: `x.c > y.c`

>       operator<=

> Returns: `x.c <= y.c`

>       operator>=

> Returns: `x.c >= y.c`

Add the following paragraphs at the end of 22.3.10.4 [list.modifiers]:

>       operator==

> Returns: `x.c == y.c`

>       operator<

> Returns: `x.c < y.c`

>       operator!=

> Returns: `x.c != y.c`

>       operator>

> Returns: `x.c > y.c`

>       operator<=

> Returns: `x.c <= y.c`

>       operator>=

> Returns: `x.c >= y.c`

[Kona: Matt provided wording.]

Rationale:

There isn't any real doubt about what these operators are supposed to do, but we ought to spell it out.