Most of the requirements on containers are presented in the ISO standard in the form of tables. In order to avoid massive duplication of effort, we follow the standard's lead and present the information here. Individual classes will only document their departures from these tables (removed functions, additional functions, changes, etc).
The numbers are the same as those used in the standard.
Anything calling itself a container must meet these minimum requirements. | |||
---|---|---|---|
expression | result type | notes | complexity |
If a container's iterator is bidirectional or random-access, then the container also meets these requirements. Foo, bar, and baz are such containers. | |||
---|---|---|---|
expression | result type | notes | complexity |
These are in addition to the requirements of containers. Foo, bar, and baz are such containers. | |||
---|---|---|---|
expression | result type | notes | complexity |
These operations are only included in containers when the operation can be done in constant time. Foo, bar, and baz are such containers. | |||
---|---|---|---|
expression | result type | notes | complexity |
These are in addition to the requirements of containers. | |||
---|---|---|---|
expression | result type | notes | complexity |
See mainpage.html for copying conditions.