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

# \_\_gnu\_pbds::detail::pat\_trie\_base\_\_Iter(3cxx)

Iterator.

## NAME

\_\_gnu\_pbds::detail::pat\_trie\_base::\_Iter\< Node, Leaf, Head, Inode, Is\_Forward\_Iterator \> - Iterator.

## SYNOPSIS

`#include <pat_trie_base.hpp>`

Inherits **\_\_gnu\_pbds::detail::pat\_trie\_base::\_CIter\< Node, Leaf, Head, Inode, Is\_Forward\_Iterator \>**.

### Public Types

typedef allocator\_type **\_Alloc**\
 typedef base\_type::allocator\_type **allocator\_type**\
 typedef **\_CIter**\< Node, Leaf, Head, Inode, Is\_Forward\_Iterator \> **base\_type**\
 typedef type\_traits::const\_pointer **const\_pointer**\
 typedef type\_traits::const\_reference **const\_reference**\
 typedef allocator\_type::difference\_type **difference\_type**\
 typedef base\_type::head\_pointer **head\_pointer**\
 typedef Inode::iterator **inode\_iterator**\
 typedef base\_type::inode\_pointer **inode\_pointer**\
 typedef **std::bidirectional\_iterator\_tag** **iterator\_category**\
 typedef base\_type::leaf\_const\_pointer **leaf\_const\_pointer**\
 typedef base\_type::leaf\_pointer **leaf\_pointer**\
 typedef base\_type::node\_pointer **node\_pointer**\
 typedef type\_traits::pointer **pointer**\
 typedef type\_traits::reference **reference**\
 typedef base\_type::type\_traits **type\_traits**\
 typedef type\_traits::value\_type **value\_type**\

### Public Member Functions

**\_Iter** (const **\_Iter**\< Node, Leaf, Head, Inode, !Is\_Forward\_Iterator \> &other)\
 **\_Iter** (node\_pointer p\_nd=0)\
 bool **operator!=** (const **\_CIter** &other) const\
 bool **operator!=** (const **\_CIter**\< Node, Leaf, Head, Inode, !Is\_Forward\_Iterator \> &other) const\
 reference **operator\*** () const\
 **\_Iter** & **operator++** ()\
 **\_Iter** **operator++** (int)\
 **\_Iter** & **operator--** ()\
 **\_Iter** **operator--** (int)\
 pointer **operator-\>** () const\
 **\_Iter** & **operator=** (const **\_Iter** &other)\
 **\_Iter** & **operator=** (const **\_Iter**\< Node, Leaf, Head, Inode, !Is\_Forward\_Iterator \> &other)\
 bool **operator==** (const **\_CIter** &other) const\
 bool **operator==** (const **\_CIter**\< Node, Leaf, Head, Inode, !Is\_Forward\_Iterator \> &other) const\

### Public Attributes

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

### Protected Member Functions

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

### Static Protected Member Functions

static node\_pointer **get\_larger\_sibling** (node\_pointer p\_nd)\
 static node\_pointer **get\_smaller\_sibling** (node\_pointer p\_nd)\
 static leaf\_pointer **leftmost\_descendant** (node\_pointer p\_nd)\
 static leaf\_pointer **rightmost\_descendant** (node\_pointer p\_nd)\

## Detailed Description

### template\<typename Node, typename Leaf, typename Head, typename Inode, bool Is\_Forward\_Iterator\>

class \_\_gnu\_pbds::detail::pat\_trie\_base::\_Iter\< Node, Leaf, Head, Inode, Is\_Forward\_Iterator \>"Iterator.

## Author

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