join 1.0
lightweight network framework library
Loading...
Searching...
No Matches
traits.hpp File Reference
#include <utility>
#include <type_traits>
#include <bits/enable_special_members.h>
Include dependency graph for traits.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  join::in_place_t
 disambiguation tag to indicate that the contained object should be constructed in-place. More...
 
struct  join::in_place_type_t< T >
 disambiguation tag to indicate that the contained object should be constructed in-place. More...
 
struct  join::in_place_index_t< I >
 disambiguation tag to indicate that the contained object should be constructed in-place. More...
 
struct  join::identity< T >
 return type unchanged. More...
 
struct  join::overload<>
 overload resolution. More...
 
struct  join::overload< First, Ts... >
 overload resolution. More...
 
struct  join::overload< void, Ts... >
 overload resolution. More...
 
struct  join::find_index< T, Ts >
 get element position in a parameter pack according its type. More...
 
struct  join::find_index< T, First, Ts... >
 get element position in a parameter pack according its type. More...
 
struct  join::find_element< I, T, Ts >
 get element type in a parameter pack according its position. More...
 
struct  join::find_element< 0, T, Ts... >
 get element type in a parameter pack according its position. More...
 
struct  join::find_element< I, const T >
 get element type in a parameter pack according its position. More...
 
struct  join::find_element< I, volatile T >
 get element type in a parameter pack according its position. More...
 
struct  join::find_element< I, const volatile T >
 get element type in a parameter pack according its position. More...
 
struct  join::is_alternative< T, Ts >
 check if a type exists in a parameter pack. More...
 
struct  join::is_alternative< T, First, Ts... >
 check if a type exists in a parameter pack. More...
 

Namespaces

namespace  join
 

Typedefs

template<typename T >
using join::identity_t = typename identity <T>::type
 return type unchanged.
 
template<typename T , typename... Ts>
using join::match_t = typename std::result_of_t <overload <Ts...> (T)>::type
 find a type that match one of the alternatives of a parameter pack.
 
template<std::size_t I, typename... Ts>
using join::find_element_t = typename find_element <I, Ts...>::type
 get element type in a parameter pack according its position.