---
title: llarp::traits

---

# llarp::traits



## Namespaces

| Name           |
| -------------- |
| **[llarp::traits::detail](Namespaces/namespacellarp_1_1traits_1_1detail.md)**  |
| **[llarp::traits::select](Namespaces/namespacellarp_1_1traits_1_1select.md)**  |
| **[llarp::traits::Switch](Namespaces/namespacellarp_1_1traits_1_1Switch.md)**  |

## Classes

|                | Name           |
| -------------- | -------------- |
| struct | **[llarp::traits::Bottom](Classes/structllarp_1_1traits_1_1Bottom.md)** <br>Represents the empty type.  |
| struct | **[llarp::traits::Tag](Classes/structllarp_1_1traits_1_1Tag.md)** <br>Int tag.  |
| struct | **[llarp::traits::is_pointy](Classes/structllarp_1_1traits_1_1is__pointy.md)** <br>Type trait representing whether a type is pointer-like.  |
| struct | **[llarp::traits::is_pointy< T, std::conditional_t< false, std::void_t< decltype(*std::declval< T >())>, void > >](Classes/structllarp_1_1traits_1_1is__pointy_3_01T_00_01std_1_1conditional__t_3_01false_00_01std_1_1void_eb57b2cb5c14b68c2058ea7df87d2d54.md)**  |
| struct | **[llarp::traits::is_container](Classes/structllarp_1_1traits_1_1is__container.md)** <br>Type trait representing whether a type is an STL-style container.  |
| struct | **[llarp::traits::is_container< T, std::conditional_t< false, std::void_t< typename T::value_type, typename T::size_type, typename T::iterator, typename T::const_iterator, decltype(std::declval< T >().size()), decltype(std::declval< T >().begin()), decltype(std::declval< T >().end()), decltype(std::declval< T >().cbegin()), decltype(std::declval< T >().cend()) >, void > >](Classes/structllarp_1_1traits_1_1is__container_3_01T_00_01std_1_1conditional__t_3_01false_00_01std_1.md)**  |

## Functions

|                | Name           |
| -------------- | -------------- |
| template <typename... Ts,typename F \> <br>void | **[for_each_in_tuple](Namespaces/namespacellarp_1_1traits.md#function-for-each-in-tuple)**(std::tuple< Ts... > const & t, F f) |


## Functions Documentation

### function for_each_in_tuple

```cpp
template <typename... Ts,
typename F >
void for_each_in_tuple(
    std::tuple< Ts... > const & t,
    F f
)
```






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

Updated on 2022-05-31 at 19:24:38 +0000