---
title: llarp::traits::select::SelectHelper
summary: implementation helper 

---

# llarp::traits::select::SelectHelper



implementation helper  [More...](#detailed-description)


`#include <traits.hpp>`

## Public Types

|                | Name           |
| -------------- | -------------- |
| enum| **[@1](Classes/structllarp_1_1traits_1_1select_1_1SelectHelper.md#enum-@1)** { Selector = (
                  Trait1<T>::value ? 1 :
                  Trait2<T>::value ? 2 :
                  Trait3<T>::value ? 3 :
                  Trait4<T>::value ? 4 :
                  Trait5<T>::value ? 5 :
                  Trait6<T>::value ? 6 :
                  Trait7<T>::value ? 7 :
                  Trait8<T>::value ? 8 :
                  Trait9<T>::value ? 9 : 0
              )} |
| using typename [Switch::Switch](Classes/structllarp_1_1traits_1_1Switch_1_1Switch.md)< Selector, [Case](Classes/classllarp_1_1traits_1_1select_1_1Case.md)<>, [Case](Classes/classllarp_1_1traits_1_1select_1_1Case.md)< Trait1 >, [Case](Classes/classllarp_1_1traits_1_1select_1_1Case.md)< Trait2 >, [Case](Classes/classllarp_1_1traits_1_1select_1_1Case.md)< Trait3 >, [Case](Classes/classllarp_1_1traits_1_1select_1_1Case.md)< Trait4 >, [Case](Classes/classllarp_1_1traits_1_1select_1_1Case.md)< Trait5 >, [Case](Classes/classllarp_1_1traits_1_1select_1_1Case.md)< Trait6 >, [Case](Classes/classllarp_1_1traits_1_1select_1_1Case.md)< Trait7 >, [Case](Classes/classllarp_1_1traits_1_1select_1_1Case.md)< Trait8 >, [Case](Classes/classllarp_1_1traits_1_1select_1_1Case.md)< Trait9 > >::Type | **[Type](Classes/structllarp_1_1traits_1_1select_1_1SelectHelper.md#using-type)**  |

## Detailed Description

```cpp
template <typename T ,
template< typename... > class Trait1,
template< typename... > class Trait2,
template< typename... > class Trait3,
template< typename... > class Trait4,
template< typename... > class Trait5,
template< typename... > class Trait6,
template< typename... > class Trait7,
template< typename... > class Trait8,
template< typename... > class Trait9>
struct llarp::traits::select::SelectHelper;
```

implementation helper 
## Public Types Documentation

### enum @1

| Enumerator | Value | Description |
| ---------- | ----- | ----------- |
| Selector | (
                  Trait1<T>::value ? 1 :
                  Trait2<T>::value ? 2 :
                  Trait3<T>::value ? 3 :
                  Trait4<T>::value ? 4 :
                  Trait5<T>::value ? 5 :
                  Trait6<T>::value ? 6 :
                  Trait7<T>::value ? 7 :
                  Trait8<T>::value ? 8 :
                  Trait9<T>::value ? 9 : 0
              )|   |




### using Type

```cpp
using llarp::traits::select::SelectHelper< T, Trait1, Trait2, Trait3, Trait4, Trait5, Trait6, Trait7, Trait8, Trait9 >::Type =  typename Switch::Switch< Selector, Case<>, Case<Trait1>, Case<Trait2>, Case<Trait3>, Case<Trait4>, Case<Trait5>, Case<Trait6>, Case<Trait7>, Case<Trait8>, Case<Trait9> >::Type;
```


-------------------------------

Updated on 2022-05-31 at 14:31:02 +0000