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

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

Const iterator.

## NAME

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

## SYNOPSIS

\#include \<pat\_trie\_base.hpp\>

Inherited by **\_\_gnu\_pbds::detail::pat\_trie\_base::\_Iter\< node, leaf, head, inode, true \>**, **\_\_gnu\_pbds::detail::pat\_trie\_base::\_Iter\< node, leaf, head, inode, false \>**, and **\_\_gnu\_pbds::detail::pat\_trie\_base::\_Iter\< Node, Leaf, Head, Inode, Is\_Forward\_Iterator \>**.

### Public Types

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

### Public Member Functions

**\_CIter** (const \_CIter\< Node, Leaf, Head, Inode, !Is\_Forward\_Iterator \> &other)\
 **\_CIter** (node\_pointer p\_nd=0)\
 bool **operator!=** (const \_CIter &other) const\
 bool **operator!=** (const \_CIter\< Node, Leaf, Head, Inode, !Is\_Forward\_Iterator \> &other) const\
 const\_reference **operator\*** () const\
 \_CIter & **operator++** ()\
 \_CIter **operator++** (int)\
 \_CIter & **operator--** ()\
 \_CIter **operator--** (int)\
 const\_pointer **operator-\>** () const\
 \_CIter & **operator=** (const \_CIter &other)\
 \_CIter & **operator=** (const \_CIter\< 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::\_CIter\< Node, Leaf, Head, Inode, Is\_Forward\_Iterator \>"Const iterator.

## Author

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