25 static constexpr T value = Element;
44 static constexpr size_t size() noexcept
46 return sizeof...(Elements);
52 template<
size_t I>
static constexpr T
at_index()
54 static_assert(
I <
sizeof...(Elements));
55 return std::tuple_element_t<I, std::tuple<TypeForValue<T, Elements>...>>::value;
61 template<T Element>
static constexpr bool contains()
63 return ((Element == Elements) || ...);
75 static constexpr size_t size() noexcept
83 template<
size_t I>
using at_index = std::tuple_element_t<
I, std::tuple<T...>>;
88template<
typename T, T
Value,
size_t...
I>
90 std::index_sequence<
I...> )
95template<
typename T, T Value1, T Value2,
size_t... Value1Indices,
size_t...
I>
97 (
ValueSequence<size_t, Value1Indices...>::template contains<I>() ? Value1 :
100 std::index_sequence<I...> )
110template<
typename T, T Value,
size_t Size>
112 std::make_index_sequence<Size>()));
118template<
typename T, T Value1, T Value2,
size_t Size,
size_t... Value1Indices>
122namespace parameter_pack_utils_static_tests {
124static_assert(std::is_same_v<make_value_sequence<MyEnum, MyEnum::A, 3>,
127 std::is_same_v<make_two_value_sequence<MyEnum, MyEnum::A, MyEnum::B, 5, 1, 2>,
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Brightness Control the brightness and contrast of the input color Vector Map input vector components with curves Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert Invert a producing a negative Combine Generate a color from its and blue Hue Saturation Value
ValueSequence< T,(ValueSequence< size_t, Value1Indices... >::template contains< I >() ? Value1 :Value2)... > make_two_value_sequence_impl(ValueSequence< size_t, Value1Indices... >, std::index_sequence< I... >)
ValueSequence< T,((I==0) ? Value :Value)... > make_value_sequence_impl(std::index_sequence< I... >)
decltype(detail::make_value_sequence_impl< T, Value >( std::make_index_sequence< Size >())) make_value_sequence
decltype(detail::make_two_value_sequence_impl< T, Value1, Value2 >( ValueSequence< size_t, Value1Indices... >(), std::make_index_sequence< Size >())) make_two_value_sequence
std::tuple_element_t< I, std::tuple< T... > > at_index
static constexpr size_t size() noexcept
static constexpr size_t size() noexcept
static constexpr T at_index()
static constexpr bool contains()