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

# \_\_gnu\_pbds::detail::branch\_policy(3)

Primary template, base class for branch structure policies.

## NAME

\_\_gnu\_pbds::detail::branch\_policy\< Node\_CItr, Node\_Itr, \_Alloc \> - Primary template, base class for branch structure policies.

## SYNOPSIS

\#include \<branch\_policy.hpp\>

Inherited by **\_\_gnu\_pbds::detail::trie\_policy\_base\< Node\_CItr, Node\_Itr, \_ATraits, \_Alloc \>**, and **\_\_gnu\_pbds::tree\_order\_statistics\_node\_update\< Node\_CItr, Node\_Itr, Cmp\_Fn, \_Alloc \>** \[private\].

### Protected Types

typedef rebind\_v::const\_pointer **const\_pointer**\
 typedef rebind\_v::const\_reference **const\_reference**\
 typedef Node\_Itr::value\_type **it\_type**\
 typedef rebind\_k::const\_reference **key\_const\_reference**\
 typedef value\_type::first\_type **key\_type**\
 typedef remove\_const\< key\_type \>**::type** **rckey\_type**\
 typedef remove\_const\< value\_type \>**::type** **rcvalue\_type**\
 typedef **rebind\_traits**\< \_Alloc, rckey\_type \> **rebind\_k**\
 typedef **rebind\_traits**\< \_Alloc, rcvalue\_type \> **rebind\_v**\
 typedef rebind\_v::reference **reference**\
 typedef **std::iterator\_traits**\< it\_type \>::value\_type **value\_type**\

### Protected Member Functions

virtual it\_type **end** ()=0\
 it\_type **end\_iterator** () const\

### Static Protected Member Functions

static key\_const\_reference **extract\_key** (const\_reference r\_val)\

## Detailed Description

### template\<typename Node\_CItr, typename Node\_Itr, typename \_Alloc\>

struct \_\_gnu\_pbds::detail::branch\_policy\< Node\_CItr, Node\_Itr, \_Alloc \>"Primary template, base class for branch structure policies.

## Author

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