Hedgehog  3.1.0
A library to generate hybrid pipeline workflow systems
Loading...
Searching...
No Matches
hh::tool::internals::IntersectImpl< T1, T2, Index, Size > Struct Template Reference

Base definition of the implementation of the Intersect metafunction. More...

#include "meta_functions.h"

Collaboration diagram for hh::tool::internals::IntersectImpl< T1, T2, Index, Size >:
Collaboration graph

Public Types

using type = std::conditional_t< internals::HasType< std::tuple_element_t< Index, T1 >, T2 >::value, internals::PushFront_t< typename IntersectImpl< T1, T2, Index+1, Size >::type, std::tuple_element_t< Index, T1 > >, typename IntersectImpl< T1, T2, Index+1, Size >::type >
 Accessor to the type of the tuple representing the intersection between two tuples.
 

Detailed Description

template<typename T1, typename T2, size_t Index, size_t Size>
struct hh::tool::internals::IntersectImpl< T1, T2, Index, Size >

Base definition of the implementation of the Intersect metafunction.

Definition of the implementation of the Intersect metafunction.

Template Parameters
T1Tuple of types
T2Tuple of types
IndexIndex of element in T1
SizeSize of T1

Definition at line 182 of file meta_functions.h.

Member Typedef Documentation

◆ type

template<typename T1 , typename T2 , size_t Index, size_t Size>
using hh::tool::internals::IntersectImpl< T1, T2, Index, Size >::type = std::conditional_t< internals::HasType<std::tuple_element_t<Index, T1>, T2>::value, internals::PushFront_t<typename IntersectImpl<T1, T2, Index + 1, Size>::type, std::tuple_element_t<Index, T1> >, typename IntersectImpl<T1, T2, Index + 1, Size>::type>

Accessor to the type of the tuple representing the intersection between two tuples.

Definition at line 184 of file meta_functions.h.