Lines Matching defs:value_traits
165 struct value_traits struct
167 using value_type = typename std::remove_const<typename std::remove_reference<T>::type>::type;
168 using value_type_wrapper = recursive_wrapper<value_type>;
169 static constexpr type_index_t direct_index = direct_type<value_type, Types...>::index;
170 static constexpr bool is_direct = direct_index != invalid_value;
171 …ex_direct_or_wrapper = is_direct ? direct_index : direct_type<value_type_wrapper, Types...>::index;
172 static constexpr bool is_direct_or_wrapper = index_direct_or_wrapper != invalid_value;
173 …x = is_direct_or_wrapper ? index_direct_or_wrapper : convertible_type<value_type, Types...>::index;
174 static constexpr bool is_valid = index != invalid_value;
175 static constexpr type_index_t tindex = is_valid ? sizeof...(Types)-index : 0;
176 using target_type = typename std::tuple_element<tindex, std::tuple<void, Types...>>::type;