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

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

## 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 = 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\>\> static const\_iterator \_\_gnu\_pbds::trie\_string\_access\_traits\< String, Min\_E\_Val, Max\_E\_Val, Reverse, \_Alloc \>::begin (key\_const\_reference)` [inline]`, ` [static]`

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

### 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\>\> static 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 = 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\>\> static const\_iterator \_\_gnu\_pbds::trie\_string\_access\_traits\< String, Min\_E\_Val, Max\_E\_Val, Reverse, \_Alloc \>::end (key\_const\_reference)` [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.
