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

# \_\_gnu\_pbds::trie\_string\_access\_traits(3)

## NAME

\_\_gnu\_pbds::trie\_string\_access\_traits\< String, Min\_E\_Val, Max\_E\_Val, Reverse, \_Alloc \>

## SYNOPSIS

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

### Public Types

enum { **reverse** }\
 enum { **min\_e\_val**, **max\_e\_val**, **max\_size** }\
 typedef detail::\_\_conditional\_type\< Reverse, typenameString::const\_reverse\_iterator, typenameString::const\_iterator \>::\_\_type **const\_iterator**\
 Element const iterator type.  typedef **std::iterator\_traits**\< **const\_iterator** \>::value\_type **e\_type**\
 Element type.  typedef **detail::rebind\_traits**\< \_Alloc, key\_type \>::const\_reference **key\_const\_reference**\
 typedef String **key\_type**\
 typedef \_Alloc::size\_type **size\_type**\

### Static Public Member Functions

static **const\_iterator** **begin** (key\_const\_reference)\
 Returns a const\_iterator to the first element of key\_const\_reference agumnet.  static size\_type **e\_pos** (**e\_type** e)\
 Maps an element to a position.  static **const\_iterator** **end** (key\_const\_reference)\
 Returns a const\_iterator to the after-last element of key\_const\_reference argument.

## Detailed Description

### template\<typename String = std::string, typename String::value\_type Min\_E\_Val = detail::\_\_numeric\_traits\<typename String::value\_type\>::\_\_min, typename String::value\_type Max\_E\_Val = detail::\_\_numeric\_traits\<typename String::value\_type\>::\_\_max, bool Reverse = false, typename \_Alloc = std::allocator\<char\>\>

struct \_\_gnu\_pbds::trie\_string\_access\_traits\< String, Min\_E\_Val, Max\_E\_Val, Reverse, \_Alloc \>"Element access traits for string types.

**Template Parameters**

*String* String type. \
 *Min\_E\_Val* Minimal element value. \
 *Max\_E\_Val* Maximum element value. \
 *Reverse* Reverse iteration should be used. Default: false. \
 *\_Alloc* Allocator type.

## Member Typedef Documentation

### template\<typename String = std::string, typename String::value\_type Min\_E\_Val = detail::\_\_numeric\_traits\<typename String::value\_type\>::\_\_min, typename String::value\_type Max\_E\_Val = detail::\_\_numeric\_traits\<typename String::value\_type\>::\_\_max, bool Reverse = false, typename \_Alloc = std::allocator\<char\>\> typedef detail::\_\_conditional\_type\<Reverse,typenameString::const\_reverse\_iterator,typenameString::const\_iterator\>::\_\_type \_\_gnu\_pbds::trie\_string\_access\_traits\< String, Min\_E\_Val, Max\_E\_Val, Reverse, \_Alloc \>::const\_iterator

Element const iterator type.

### template\<typename String = std::string, typename String::value\_type Min\_E\_Val = detail::\_\_numeric\_traits\<typename String::value\_type\>::\_\_min, typename String::value\_type Max\_E\_Val = detail::\_\_numeric\_traits\<typename String::value\_type\>::\_\_max, bool Reverse = false, typename \_Alloc = std::allocator\<char\>\> typedef std::iterator\_traits\<const\_iterator\>::value\_type \_\_gnu\_pbds::trie\_string\_access\_traits\< String, Min\_E\_Val, Max\_E\_Val, Reverse, \_Alloc \>::e\_type

Element type.

## Member Function Documentation

### template\<typename String, typename String::value\_type Min\_E\_Val, typename String::value\_type Max\_E\_Val, bool Reverse, typename \_Alloc\> trie\_string\_access\_traits\< String, Min\_E\_Val, Max\_E\_Val, Reverse, \_Alloc \>::const\_iterator \_\_gnu\_pbds::trie\_string\_access\_traits\< String, Min\_E\_Val, Max\_E\_Val, Reverse, \_Alloc \>::begin (key\_const\_reference r\_key) \[inline\], \[static\]

Returns a const\_iterator to the first element of key\_const\_reference agumnet.

### template\<typename String, typename String::value\_type Min\_E\_Val, typename String::value\_type Max\_E\_Val, bool Reverse, typename \_Alloc\> trie\_string\_access\_traits\< String, Min\_E\_Val, Max\_E\_Val, Reverse, \_Alloc \>::size\_type \_\_gnu\_pbds::trie\_string\_access\_traits\< String, Min\_E\_Val, Max\_E\_Val, Reverse, \_Alloc \>::e\_pos (e\_type e) \[inline\], \[static\]

Maps an element to a position.

### template\<typename String, typename String::value\_type Min\_E\_Val, typename String::value\_type Max\_E\_Val, bool Reverse, typename \_Alloc\> trie\_string\_access\_traits\< String, Min\_E\_Val, Max\_E\_Val, Reverse, \_Alloc \>::const\_iterator \_\_gnu\_pbds::trie\_string\_access\_traits\< String, Min\_E\_Val, Max\_E\_Val, Reverse, \_Alloc \>::end (key\_const\_reference r\_key) \[inline\], \[static\]

Returns a const\_iterator to the after-last element of key\_const\_reference argument.

## Author

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