---
name: "__gnu_pbds::detail::bin_search_tree_traits"
section: "3cxx"
platform: "linux"
package: "libstdc++-12-doc"
version: "12.4.0-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/__gnu_pbds::detail::bin_search_tree_traits/3cxx"
---

# \_\_gnu\_pbds::detail::bin\_search\_tree\_traits(3cxx)

Binary search tree traits, primary template.

## NAME

\_\_gnu\_pbds::detail::bin\_search\_tree\_traits\< Key, Mapped, Cmp\_Fn, Node\_Update, Node, \_Alloc \> - Binary search tree traits, primary template.

## SYNOPSIS

`#include <traits.hpp>`

### Public Types

typedef **bin\_search\_tree\_const\_it\_**\< typename node\_alloc\_traits::pointer, typename **type\_traits::value\_type**, typename type\_traits::pointer, typename type\_traits::const\_pointer, typename type\_traits::reference, typename type\_traits::const\_reference, false, \_Alloc \> **const\_reverse\_iterator**\
 typedef Node **node**\
 typedef **bin\_search\_tree\_const\_node\_it\_**\< Node, **point\_const\_iterator**, **point\_iterator**, \_Alloc \> **node\_const\_iterator**\
 This is an iterator to an iterator: it iterates over nodes, and de-referencing it returns one of the tree's iterators.  typedef **bin\_search\_tree\_node\_it\_**\< Node, **point\_const\_iterator**, **point\_iterator**, \_Alloc \> **node\_iterator**\
 typedef Node\_Update\< **node\_const\_iterator**, **node\_iterator**, Cmp\_Fn, \_Alloc \> **node\_update**\
 typedef **\_\_gnu\_pbds::null\_node\_update**\< **node\_const\_iterator**, **node\_iterator**, Cmp\_Fn, \_Alloc \> \* **null\_node\_update\_pointer**\
 typedef **bin\_search\_tree\_const\_it\_**\< typename node\_alloc\_traits::pointer, typename **type\_traits::value\_type**, typename type\_traits::pointer, typename type\_traits::const\_pointer, typename type\_traits::reference, typename type\_traits::const\_reference, true, \_Alloc \> **point\_const\_iterator**\
 typedef **bin\_search\_tree\_it\_**\< typename node\_alloc\_traits::pointer, typename **type\_traits::value\_type**, typename type\_traits::pointer, typename type\_traits::const\_pointer, typename type\_traits::reference, typename type\_traits::const\_reference, true, \_Alloc \> **point\_iterator**\
 typedef **bin\_search\_tree\_it\_**\< typename node\_alloc\_traits::pointer, typename **type\_traits::value\_type**, typename type\_traits::pointer, typename type\_traits::const\_pointer, typename type\_traits::reference, typename type\_traits::const\_reference, false, \_Alloc \> **reverse\_iterator**\

## Detailed Description

### template\<typename Key, typename Mapped, class Cmp\_Fn, template\< typename Node\_CItr, class Node\_Itr, class \_Cmp\_Fn, typename \_Alloc \> class Node\_Update, class Node, typename \_Alloc\>

struct \_\_gnu\_pbds::detail::bin\_search\_tree\_traits\< Key, Mapped, Cmp\_Fn, Node\_Update, Node, \_Alloc \>"Binary search tree traits, primary template.

## Member Typedef Documentation

### template\<typename Key , typename Mapped , class Cmp\_Fn , template\< typename Node\_CItr, class Node\_Itr, class \_Cmp\_Fn, typename \_Alloc \> class Node\_Update, class Node , typename \_Alloc \> typedef bin\_search\_tree\_const\_node\_it\_\< Node, point\_const\_iterator, point\_iterator, \_Alloc\> \_\_gnu\_pbds::detail::bin\_search\_tree\_traits\< Key, Mapped, Cmp\_Fn, Node\_Update, Node, \_Alloc \>::node\_const\_iterator

This is an iterator to an iterator: it iterates over nodes, and de-referencing it returns one of the tree's iterators.

## Author

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