## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# csRedBlackTreeMap< K, T > Class Template Reference
[Containers]

Key-value-map, backed by csRedBlackTree. More...

`#include <csutil/redblacktree.h>`

Inheritance diagram for csRedBlackTreeMap< K, T >:

[legend]
List of all members.

## Public Member Functions

bool | Delete (const K &key)
| Delete element from map,.
void | DeleteAll ()
| Delete all keys.
void | Empty ()
| Delete all the keys. (Idiomatic alias for DeleteAll().).
bool | IsEmpty () const
| Returns whether this map has no nodes.
T * | Put (const K &key, const T &value)
| Add element to map,.
T & | Get (const K &key, T &fallback)
const T & | Get (const K &key, const T &fallback) const
| Get the element matching the given key, or `fallback` if there is none.
T * | GetElementPointer (const K &key)
const T * | GetElementPointer (const K &key) const
| Get a pointer to the element matching the given key, or 0 if there is none.
template<typename CB>
void | TraverseInOrder (CB &callback) const
| Traverse tree.

## Detailed Description

### template<typename K, typename T>
class csRedBlackTreeMap< K, T >

Key-value-map, backed by csRedBlackTree.

Remarks:
  As with csRedBlackTree, every key must be unique.

Definition at line 550 of file redblacktree.h.

## Member Function Documentation

template<typename K, typename T>
bool csRedBlackTreeMap< K, T >::Delete | ( | const K & | key | ) | `[inline]`

Delete element from map,.

Returns:
  Whether the deletion was successful. Fails if the key is not in the tree.

Definition at line 582 of file redblacktree.h.

References csRedBlackTree< csRedBlackTreePayload< K, T > >::Delete(), and csRedBlackTree< csRedBlackTreePayload< K, T > >::Find().

template<typename K, typename T>
void csRedBlackTreeMap< K, T >::DeleteAll | ( |  | ) | `[inline]`

| Delete all keys. Reimplemented from csRedBlackTree< csRedBlackTreePayload< K, T > >. Definition at line 625 of file redblacktree.h. References csRedBlackTree< csRedBlackTreePayload< K, T > >::Empty(). Referenced by csRedBlackTreeMap< K, T >::Empty().

template<typename K, typename T>
void csRedBlackTreeMap< K, T >::Empty | ( |  | ) | `[inline]`

| Delete all the keys. (Idiomatic alias for DeleteAll().). Reimplemented from csRedBlackTree< csRedBlackTreePayload< K, T > >. Definition at line 627 of file redblacktree.h. References csRedBlackTreeMap< K, T >::DeleteAll().

template<typename K, typename T>
const T& csRedBlackTreeMap< K, T >::Get | ( | const K & | key,
|  | const T & | fallback
| ) | const`[inline]`

| Get the element matching the given key, or `fallback` if there is none. Definition at line 611 of file redblacktree.h. References csRedBlackTree< csRedBlackTreePayload< K, T > >::Find(), and csRedBlackTreePayload< K, T >::GetValue().

template<typename K, typename T>
const T* csRedBlackTreeMap< K, T >::GetElementPointer | ( | const K & | key | ) | const`[inline]`

| Get a pointer to the element matching the given key, or 0 if there is none. Definition at line 593 of file redblacktree.h. References csRedBlackTree< csRedBlackTreePayload< K, T > >::Find(), and csRedBlackTreePayload< K, T >::GetValue().

template<typename K, typename T>
bool csRedBlackTreeMap< K, T >::IsEmpty | ( |  | ) | const`[inline]`

| Returns whether this map has no nodes. Reimplemented from csRedBlackTree< csRedBlackTreePayload< K, T > >. Definition at line 629 of file redblacktree.h. References csRedBlackTree< csRedBlackTreePayload< K, T > >::IsEmpty().

template<typename K, typename T>
T* csRedBlackTreeMap< K, T >::Put | ( | const K & | key,
|  | const T & | value
| ) | `[inline]`

Add element to map,.

Returns:
  A pointer to the copy of the value stored in the tree, or 0 if the key already exists.

Definition at line 571 of file redblacktree.h.

References csRedBlackTreePayload< K, T >::GetValue(), and csRedBlackTree< csRedBlackTreePayload< K, T > >::Insert().

template<typename K, typename T>
template<typename CB>
void csRedBlackTreeMap< K, T >::TraverseInOrder | ( | CB & | callback | ) | const`[inline]`

| Traverse tree. Reimplemented from csRedBlackTree< csRedBlackTreePayload< K, T > >. Definition at line 634 of file redblacktree.h. References csRedBlackTree< csRedBlackTreePayload< K, T > >::TraverseInOrder().

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

- csutil/redblacktree.h