---
name: "__gnu_pbds::detail::bin_search_tree_node_it_"
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_node_it_/3cxx"
---

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

Node iterator.

## NAME

\_\_gnu\_pbds::detail::bin\_search\_tree\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \> - Node iterator.

## SYNOPSIS

`#include <node_iterators.hpp>`

Inherits **\_\_gnu\_pbds::detail::bin\_search\_tree\_const\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \>**.

### Public Types

typedef Iterator **const\_reference**\
 Iterator's \_\_const reference type.  typedef **trivial\_iterator\_difference\_type** **difference\_type**\
 Difference type.  typedef **trivial\_iterator\_tag** **iterator\_category**\
 Category.  typedef **rebind\_traits**\< \_Alloc, **metadata\_type** \>**::const\_reference** **metadata\_const\_reference**\
 Const metadata reference type.  typedef Node::metadata\_type **metadata\_type**\
 Metadata type.  typedef Iterator **reference**\
 Iterator's reference type.  typedef Iterator **value\_type**\
 Iterator's value type.

### Public Member Functions

**bin\_search\_tree\_node\_it\_** (const node\_pointer p\_nd=0)\
 **bin\_search\_tree\_node\_it\_**\< Node, Const\_Iterator, Iterator, \_Alloc \> **get\_l\_child** () const\
 Returns the node iterator associated with the left node.  **metadata\_const\_reference** **get\_metadata** () const\
 Metadata access.  **bin\_search\_tree\_node\_it\_**\< Node, Const\_Iterator, Iterator, \_Alloc \> **get\_r\_child** () const\
 Returns the node iterator associated with the right node.  bool **operator!=** (const **bin\_search\_tree\_const\_node\_it\_**\< Node, Const\_Iterator, Iterator, \_Alloc \> &other) const\
 Compares (negatively) to a different iterator object.  Iterator **operator\*** () const\
 Access.  bool **operator==** (const **bin\_search\_tree\_const\_node\_it\_**\< Node, Const\_Iterator, Iterator, \_Alloc \> &other) const\
 Compares to a different iterator object.

### Public Attributes

node\_pointer **m\_p\_nd**\

## Detailed Description

### template\<typename Node, class Const\_Iterator, class Iterator, typename \_Alloc\>

class \_\_gnu\_pbds::detail::bin\_search\_tree\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \>"Node iterator.

## Member Typedef Documentation

### template\<typename Node , class Const\_Iterator , class Iterator , typename \_Alloc \> typedef Iterator \_\_gnu\_pbds::detail::bin\_search\_tree\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \>::const\_reference

Iterator's \_\_const reference type.

### template\<typename Node , class Const\_Iterator , class Iterator , typename \_Alloc \> typedef trivial\_iterator\_difference\_type \_\_gnu\_pbds::detail::bin\_search\_tree\_const\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \>::difference\_type` [inherited]`

Difference type.

### template\<typename Node , class Const\_Iterator , class Iterator , typename \_Alloc \> typedef trivial\_iterator\_tag \_\_gnu\_pbds::detail::bin\_search\_tree\_const\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \>::iterator\_category` [inherited]`

Category.

### template\<typename Node , class Const\_Iterator , class Iterator , typename \_Alloc \> typedef rebind\_traits\<\_Alloc,metadata\_type\>::const\_reference \_\_gnu\_pbds::detail::bin\_search\_tree\_const\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \>::metadata\_const\_reference` [inherited]`

Const metadata reference type.

### template\<typename Node , class Const\_Iterator , class Iterator , typename \_Alloc \> typedef Node::metadata\_type \_\_gnu\_pbds::detail::bin\_search\_tree\_const\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \>::metadata\_type` [inherited]`

Metadata type.

### template\<typename Node , class Const\_Iterator , class Iterator , typename \_Alloc \> typedef Iterator \_\_gnu\_pbds::detail::bin\_search\_tree\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \>::reference

Iterator's reference type.

### template\<typename Node , class Const\_Iterator , class Iterator , typename \_Alloc \> typedef Iterator \_\_gnu\_pbds::detail::bin\_search\_tree\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \>::value\_type

Iterator's value type.

## Member Function Documentation

### template\<typename Node , class Const\_Iterator , class Iterator , typename \_Alloc \> bin\_search\_tree\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \> \_\_gnu\_pbds::detail::bin\_search\_tree\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \>::get\_l\_child () const` [inline]`

Returns the node iterator associated with the left node.

### template\<typename Node , class Const\_Iterator , class Iterator , typename \_Alloc \> metadata\_const\_reference \_\_gnu\_pbds::detail::bin\_search\_tree\_const\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \>::get\_metadata () const` [inline]`, ` [inherited]`

Metadata access.

### template\<typename Node , class Const\_Iterator , class Iterator , typename \_Alloc \> bin\_search\_tree\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \> \_\_gnu\_pbds::detail::bin\_search\_tree\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \>::get\_r\_child () const` [inline]`

Returns the node iterator associated with the right node.

### template\<typename Node , class Const\_Iterator , class Iterator , typename \_Alloc \> bool \_\_gnu\_pbds::detail::bin\_search\_tree\_const\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \>::operator!= (const bin\_search\_tree\_const\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \> & other) const` [inline]`, ` [inherited]`

Compares (negatively) to a different iterator object.

### template\<typename Node , class Const\_Iterator , class Iterator , typename \_Alloc \> Iterator \_\_gnu\_pbds::detail::bin\_search\_tree\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \>::operator\* () const` [inline]`

Access.

### template\<typename Node , class Const\_Iterator , class Iterator , typename \_Alloc \> bool \_\_gnu\_pbds::detail::bin\_search\_tree\_const\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \>::operator== (const bin\_search\_tree\_const\_node\_it\_\< Node, Const\_Iterator, Iterator, \_Alloc \> & other) const` [inline]`, ` [inherited]`

Compares to a different iterator object.

## Author

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