The C++ Standard Library Containers

There are seven C++ Standard Library containers: deque, list, vector, set, multiset, map, and multimap. The Essential Tools Module extends these with additional containers: rw_slist<T,A>, rw_hashset<T,H,EQ,A>, rw_hashmultiset<T,H,EQ,A>, rw_hashmap<K,T,H,EQ,A>, rw_hashmultimap<K,T,H,EQ,A>, rw_orderedhashset<T,H,EQ,A>, rw_orderedhashmultiset<T,H,EQ,A>, rw_orderedhashmap<K,T,H,EQ,A>, and rw_orderedhashmultimap<K,T,H,EQ,A. Each of these has value-based and pointer-based Rogue Wave wrapper templates. The Essential Tools Module also offers always-sorted versions, both value-based and pointer-based, of the doubly-linked list and vector collections. These are summarized in Essential Tools Module Standard Library-Based Templates.

Table 42. Essential Tools Module Standard Library-Based Templates

Division // Notes

Value-based

Pointer-based

Sequence-based //External ordering, access by index

 

RWTValDlist<T,A>

RWTPtrDlist<T,A>

 

RWTValDeque<T,A>

RWTPtrDeque<T,A>

 

RWTValOrderedVector<T,A>

RWTPtrOrderedVector<T,A>

 

RWTValSlist<T,A>

RWTPtrSlist<T,A>

Sorted sequence-based //Internal ordering, access by index

 

RWTValSortedDlist<T,C,A>

RWTPtrSortedDlist<T,C,A>

RWTValSortedVector<T,A>

RWTPtrSortedVector<T,C,A>

Associative container-based //Internal ordering, access by key

(set-based)

RWTValSet<T,C,A>
RWTValMultiSet<T,C,A>

RWTPtrSet<T,C,A>
RWTPtrMultiSet<T,C,A>

(map-based)

RWTValMap<K,T,C,A>
RWTValMultiMap<K,T,C,A>

RWTPtrMap<K,T,C,A>
RWTPtrMultiMap<K,T,C,A>

Associative hash-based //No ordering, access by key

(set-based)

RWTValHashSet<T,H,EQ,A>
RWTValHashMultiSet<T,H,EQ,A>

RWTPtrHashSet<T,H,EQ,A>
RWTPtrHashMultiSet<T,H,EQ,A>

(map-based)

RWTValHashMap<K,T,H,EQ,A>
RWTValHashMultiMap<K,T,H,EQ,A>

RWTPtrHashMap<K,T,H,EQ,A>
RWTPtrHashMap<K,T,H,EQ,A>

Associative ordered hash-based //External ordering, access by key

(set-based)

RWTValOrderedHashSet< T, H, EQ, A >
RWTValOrderedHashMultiSet< T, H, EQ, A >

RWTPtrOrderedHashSet< T, H, EQ, A >
RWTPtrOrderedHashMultiSet< T, H, EQ, A >

(map-based)

RWTValOrderedHashMap< K, T, H, EQ, A >
RWTValOrderedHashMultiMap< K, T, H, EQ, A >

RWTPtrOrderedHashMap< K, T, H, EQ, A >
RWTPtrOrderedHashMultiMap< K, T, H, EQ, A >