---
name: "__gnu_pbds::detail::bin_search_tree_it_"
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::bin_search_tree_it_"
---

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

Iterator.

## NAME

\_\_gnu\_pbds::detail::bin\_search\_tree\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, Is\_Forward\_Iterator, \_Alloc \> - Iterator.

## SYNOPSIS

\#include \<point\_iterators.hpp\>

Inherits **\_\_gnu\_pbds::detail::bin\_search\_tree\_const\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, Is\_Forward\_Iterator, \_Alloc \>**.

### Public Types

typedef Const\_Pointer **const\_pointer**\
 typedef Const\_Reference **const\_reference**\
 typedef \_Alloc::difference\_type **difference\_type**\
 typedef **std::bidirectional\_iterator\_tag** **iterator\_category**\
 typedef Pointer **pointer**\
 typedef Reference **reference**\
 typedef Value\_Type **value\_type**\

### Public Member Functions

**bin\_search\_tree\_it\_** (const bin\_search\_tree\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, !Is\_Forward\_Iterator, \_Alloc \> &other)\
 **bin\_search\_tree\_it\_** (const Node\_Pointer p\_nd=0)\
 bool **operator!=** (const bin\_search\_tree\_const\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, !Is\_Forward\_Iterator, \_Alloc \> &other) const\
 bool **operator!=** (const bin\_search\_tree\_const\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, Is\_Forward\_Iterator, \_Alloc \> &other) const\
 bin\_search\_tree\_const\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, Is\_Forward\_Iterator, \_Alloc \>::reference **operator\*** () const\
 bin\_search\_tree\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, Is\_Forward\_Iterator, \_Alloc \> & **operator++** ()\
 bin\_search\_tree\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, Is\_Forward\_Iterator, \_Alloc \> **operator++** (int)\
 bin\_search\_tree\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, Is\_Forward\_Iterator, \_Alloc \> & **operator--** ()\
 bin\_search\_tree\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, Is\_Forward\_Iterator, \_Alloc \> **operator--** (int)\
 bin\_search\_tree\_const\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, Is\_Forward\_Iterator, \_Alloc \>::pointer **operator-\>** () const\
 bin\_search\_tree\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, Is\_Forward\_Iterator, \_Alloc \> & **operator=** (const bin\_search\_tree\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, !Is\_Forward\_Iterator, \_Alloc \> &other)\
 bin\_search\_tree\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, Is\_Forward\_Iterator, \_Alloc \> & **operator=** (const bin\_search\_tree\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, Is\_Forward\_Iterator, \_Alloc \> &other)\
 bool **operator==** (const bin\_search\_tree\_const\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, !Is\_Forward\_Iterator, \_Alloc \> &other) const\
 bool **operator==** (const bin\_search\_tree\_const\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, Is\_Forward\_Iterator, \_Alloc \> &other) const\

### Public Attributes

Node\_Pointer **m\_p\_nd**\

### Protected Types

typedef bin\_search\_tree\_const\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, Is\_Forward\_Iterator, \_Alloc \> **base\_it\_type**\

### Protected Member Functions

void **dec** (false\_type)\
 void **dec** (true\_type)\
 void **inc** (false\_type)\
 void **inc** (true\_type)\

## Detailed Description

### template\<typename Node\_Pointer, typename Value\_Type, typename Pointer, typename Const\_Pointer, typename Reference, typename Const\_Reference, bool Is\_Forward\_Iterator, typename \_Alloc\>

class \_\_gnu\_pbds::detail::bin\_search\_tree\_it\_\< Node\_Pointer, Value\_Type, Pointer, Const\_Pointer, Reference, Const\_Reference, Is\_Forward\_Iterator, \_Alloc \>"Iterator.

## Author

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