3 #ifndef __CDS_DETAILS_VOID_SELECTOR_H
4 #define __CDS_DETAILS_VOID_SELECTOR_H
6 #include <cds/details/std/type_traits.h>
11 /// Void type selector
13 This metafunction is equal to the following expression:
15 std::conditional< std::is_same< T, void >::value, Void, NoVoid >::type
18 The \p NoVoid is optional, default is \p NoVoid == T
20 template <typename T, typename Void, typename NoVoid = T>
21 struct void_selector: public std::conditional< std::is_same< T, void >::value, Void, NoVoid >
24 } // namespace details
27 #endif // #ifndef __CDS_DETAILS_VOID_SELECTOR_H