# `string_trie_e_access_traits` Interface

Element access traits for string types.

Defined in: `trie_policy.hpp`

## Template Parameters

Parameter | Description | Default Value
    class String
| String type. | `std::string`
    typename String::value_type Min_E_Val
| Minimal element. | `SCHAR_MIN`
    typename String::value_type Max_E_Val
| Maximal element. | `SCHAR_MAX`
    bool Reverse
| Indicates whether reverse iteration should be used. | `false`
    class Allocator
| Allocator type. |
    std::allocator<char>

## Public Types and Constants

### General Definitions

Type | Definition | Description
    size_type
    typename Allocator::size_type
| Size type.

### Key-Type Definitions

Type | Definition | Description
    key_type
    String
| Key type.
    const_key_reference
    typename Allocator::template rebind<
        key_type>::other::const_reference
| Const key reference type.

### Element-Type Definitions

Type | Definition | Description
    reverse
    Reverse
| `Reverse` iteration indicator.
    const_iterator
    typename pb_ds::detail::__conditional_type<
        Reverse,
        typename String::const_reverse_iterator,
        typename String::const_iterator>::__type
| Element `const` iterator type.
    e_type
    typename std::iterator_traits<const_iterator>::value_type
| Element type.
    min_e_val
    Min_E_Val
| Minimal element.
    max_e_val
    Max_E_Val
| Maximal element.
    max_size
    max_e_val - min_e_val + 1
| Number of distinct elements.

## Public Methods

### Access Methods

Method | Description
    inline static const_iterator
      begin
      (const_key_reference r_key)
| Returns a `const_iterator` to the first element of `r_key`.
    inline static const_iterator
      end
      (const_key_reference r_key)
| Returns a `const_iterator` to the after-last element of `r_key`.
    inline static size_type
      e_pos
      (e_type e)
| Maps an `e`element to a position.