---
name: "__gnu_pbds::detail::ov_tree_map"
section: "3"
platform: "linux"
package: "gcc"
version: "16.2.1+r23+gd564253eb6c8-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/__gnu_pbds::detail::ov_tree_map"
---

# \_\_gnu\_pbds::detail::ov\_tree\_map(3)

Ordered-vector tree associative-container.

## NAME

\_\_gnu\_pbds::detail::ov\_tree\_map\< Key, Mapped, Cmp\_Fn, Node\_And\_It\_Traits, \_Alloc \> - Ordered-vector tree associative-container.

## SYNOPSIS

\#include \<ov\_tree\_map\_.hpp\>

Inherits .

### Classes

class **cond\_dtor**\
 Conditional destructor.

### Public Types

typedef \_Alloc **allocator\_type**\
 typedef Cmp\_Fn **cmp\_fn**\
 typedef **std::pair**\< size\_type, size\_type \> **comp\_hash**\
 typedef point\_const\_iterator **const\_iterator**\
 typedef traits\_base::const\_pointer **const\_pointer**\
 typedef traits\_base::const\_reference **const\_reference**\
 typedef **ov\_tree\_tag** **container\_category**\
 typedef \_Alloc::difference\_type **difference\_type**\
 typedef point\_iterator **iterator**\
 typedef traits\_base::key\_const\_pointer **key\_const\_pointer**\
 typedef traits\_base::key\_const\_reference **key\_const\_reference**\
 typedef traits\_base::key\_pointer **key\_pointer**\
 typedef traits\_base::key\_reference **key\_reference**\
 typedef traits\_base::key\_type **key\_type**\
 typedef traits\_base::mapped\_const\_pointer **mapped\_const\_pointer**\
 typedef traits\_base::mapped\_const\_reference **mapped\_const\_reference**\
 typedef traits\_base::mapped\_pointer **mapped\_pointer**\
 typedef traits\_base::mapped\_reference **mapped\_reference**\
 typedef traits\_base::mapped\_type **mapped\_type**\
 typedef \_\_nothrowcopy::indicator **no\_throw\_indicator**\
 typedef traits\_type::node\_const\_iterator **node\_const\_iterator**\
 typedef traits\_type::node\_iterator **node\_iterator**\
 typedef traits\_type::node\_update **node\_update**\
 typedef const\_pointer **point\_const\_iterator**\
 typedef pointer **point\_iterator**\
 typedef traits\_base::pointer **pointer**\
 typedef traits\_base::reference **reference**\
 typedef \_Alloc::size\_type **size\_type**\
 typedef integral\_constant\< int, Store\_Hash \> **store\_extra**\
 typedef **stored\_data**\< value\_type, size\_type, Store\_Hash \> **stored\_data\_type**\
 typedef traits\_base::value\_type **value\_type**\

### Public Member Functions

**ov\_tree\_map** (const Cmp\_Fn &)\
 **ov\_tree\_map** (const Cmp\_Fn &, const node\_update &)\
 **ov\_tree\_map** (const ov\_tree\_map\< Key, Mapped, Cmp\_Fn, Node\_And\_It\_Traits, \_Alloc \> &)\
 iterator **begin** ()\
 const\_iterator **begin** () const\
 void **clear** ()\
 template\<typename It\> void **copy\_from\_range** (It, It)\
 bool **empty** () const\
 iterator **end** ()\
 const\_iterator **end** () const\
 iterator **erase** (iterator it)\
 bool **erase** (key\_const\_reference)\
 template\<typename Pred\> size\_type **erase\_if** (Pred)\
 point\_iterator **find** (key\_const\_reference r\_key)\
 point\_const\_iterator **find** (key\_const\_reference r\_key) const\
 Cmp\_Fn & **get\_cmp\_fn** ()\
 const Cmp\_Fn & **get\_cmp\_fn** () const\
 **std::pair**\< point\_iterator, bool \> **insert** (const\_reference r\_value)\
 void **join** (ov\_tree\_map\< Key, Mapped, Cmp\_Fn, Node\_And\_It\_Traits, \_Alloc \> &)\
 point\_iterator **lower\_bound** (key\_const\_reference r\_key)\
 point\_const\_iterator **lower\_bound** (key\_const\_reference r\_key) const\
 size\_type **max\_size** () const\
 node\_iterator **node\_begin** ()\
 Returns a node\_iterator corresponding to the node at the root of the tree.  node\_const\_iterator **node\_begin** () const\
 Returns a const node\_iterator corresponding to the node at the root of the tree.  node\_iterator **node\_end** ()\
 Returns a node\_iterator corresponding to a node just after a leaf of the tree.  node\_const\_iterator **node\_end** () const\
 Returns a const node\_iterator corresponding to a node just after a leaf of the tree.  mapped\_reference **operator\[\]** (key\_const\_reference r\_key)\
 size\_type **size** () const\
 void **split** (key\_const\_reference, ov\_tree\_map\< Key, Mapped, Cmp\_Fn, Node\_And\_It\_Traits, \_Alloc \> &)\
 void **swap** (ov\_tree\_map\< Key, Mapped, Cmp\_Fn, Node\_And\_It\_Traits, \_Alloc \> &)\
 point\_iterator **upper\_bound** (key\_const\_reference r\_key)\
 point\_const\_iterator **upper\_bound** (key\_const\_reference r\_key) const\

### Public Attributes

no\_throw\_indicator **m\_no\_throw\_copies\_indicator**\
 store\_extra **m\_store\_extra\_indicator**\

## Detailed Description

### template\<typename Key, typename Mapped, typename Cmp\_Fn, typename Node\_And\_It\_Traits, typename \_Alloc\>

class \_\_gnu\_pbds::detail::ov\_tree\_map\< Key, Mapped, Cmp\_Fn, Node\_And\_It\_Traits, \_Alloc \>"Ordered-vector tree associative-container.

## Member Function Documentation

### template\<typename Key, typename Mapped, typename Cmp\_Fn, typename Node\_And\_It\_Traits, typename \_Alloc\> ov\_tree\_map\< Key, Mapped, Cmp\_Fn, Node\_And\_It\_Traits, \_Alloc \>::node\_iterator \_\_gnu\_pbds::detail::ov\_tree\_map\< Key, Mapped, Cmp\_Fn, Node\_And\_It\_Traits, \_Alloc \>::node\_begin () \[inline\]

Returns a node\_iterator corresponding to the node at the root of the tree.

### template\<typename Key, typename Mapped, typename Cmp\_Fn, typename Node\_And\_It\_Traits, typename \_Alloc\> ov\_tree\_map\< Key, Mapped, Cmp\_Fn, Node\_And\_It\_Traits, \_Alloc \>::node\_const\_iterator \_\_gnu\_pbds::detail::ov\_tree\_map\< Key, Mapped, Cmp\_Fn, Node\_And\_It\_Traits, \_Alloc \>::node\_begin () const \[inline\]

Returns a const node\_iterator corresponding to the node at the root of the tree.

### template\<typename Key, typename Mapped, typename Cmp\_Fn, typename Node\_And\_It\_Traits, typename \_Alloc\> ov\_tree\_map\< Key, Mapped, Cmp\_Fn, Node\_And\_It\_Traits, \_Alloc \>::node\_iterator \_\_gnu\_pbds::detail::ov\_tree\_map\< Key, Mapped, Cmp\_Fn, Node\_And\_It\_Traits, \_Alloc \>::node\_end () \[inline\]

Returns a node\_iterator corresponding to a node just after a leaf of the tree.

### template\<typename Key, typename Mapped, typename Cmp\_Fn, typename Node\_And\_It\_Traits, typename \_Alloc\> ov\_tree\_map\< Key, Mapped, Cmp\_Fn, Node\_And\_It\_Traits, \_Alloc \>::node\_const\_iterator \_\_gnu\_pbds::detail::ov\_tree\_map\< Key, Mapped, Cmp\_Fn, Node\_And\_It\_Traits, \_Alloc \>::node\_end () const \[inline\]

Returns a const node\_iterator corresponding to a node just after a leaf of the tree.

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
