|
static constexpr bool | S_CHANGE_INVALIDATES_ITERATORS = false |
| If false, a change (erasure, addition of an element) in the Container will invalidate NO iterator to that Container , previously obtained, except for potentially any iterator to the element being erased (if applicable).
|
|
static constexpr bool | S_SORTED = false |
| true if and only if iterating over the elements of a Container yields them in sorted order.
|
|
static constexpr bool | S_CONSTANT_TIME_SEARCH = false |
| true if and only if finding an element of Container by key takes at most constant amortized time.
|
|
static constexpr bool | S_CONSTANT_TIME_INSERT = false |
| true if and only if adding an element to a Container (anywhere) takes at most constant amortized time.
|
|
template<typename Container>
class flow::util::Container_traits< Container >
Properties of various container types.
For example, "Container_traits<std::vector>::S_CHANGE_INVALIDATES_ITERATORS == true"
, while "Container_traits<std::list>::S_CHANGE_INVALIDATES_ITERATORS == false"
. The template defines the interface, then the specializations for various container types define the implementations.
- Template Parameters
-
Container | The container type being described. |