← API Reference Namespace

asge::_internal::traits

Classes & Structs

Typedefs

#using tuple_to_variant_t = tuple_to_variant< T >::type
#using tuple_fold_type_t = typename tuple_fold_type< Tuple >::type

Variables

#constexpr bool is_vector_v = is_vector<T>::value
#constexpr bool variant_contains_v = variant_contains<T, Variant>::value
#constexpr bool always_false_v = false
#constexpr bool tuple_is_homogeneous_v = tuple_is_homogeneous<Tuple>::value

Functions

#template<typename Tuple, std::size_t... Is> constexpr auto has_nullptr_impl(const Tuple &t, std::index_sequence< Is... >)
#template<typename... Ts> constexpr bool has_nullptr(const std::tuple< Ts... > &t)

Checks whether any element of a tuple of pointers is null.

Template Parameters
Ts

Element types; each must be a pointer or std::nullptr_t.

Parameters
t

Tuple to inspect.

Returns

true if at least one element compares equal to nullptr.

#template<std::size_t Icurr, typename Tuple> auto get_element_as_fold_type(Tuple const &t)

Fetches tuple element Icurr, already wrapped in its fold type.

Built via std::in_place_index for heterogeneous tuples, so the element lands in its own variant alternative without an ambiguous converting constructor call when the tuple repeats a type.