Flow 1.0.0
Flow project: Public API.
Static Public Attributes | List of all members
flow::util::Container_traits< Container > Class Template Reference

Properties of various container types. More...

#include <traits.hpp>

Static Public Attributes

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.
 

Detailed Description

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
ContainerThe container type being described.

The documentation for this class was generated from the following file: