Stroika Library 3.0d16
 
Loading...
Searching...
No Matches
Stroika::Foundation::Common::ITuple Concept Reference

Concept ITuple<T> check if T is a tuple. More...

#include <Concepts.h>

Concept definition

template<typename T>
concept Stroika::Foundation::Common::ITuple = !std::is_reference_v<T> && requires (T t) {
typename std::tuple_size<T>::type;
requires std::derived_from<std::tuple_size<T>, std::integral_constant<std::size_t, std::tuple_size_v<T>>>;
} && []<std::size_t... N> (std::index_sequence<N...>) {
return (Private_::has_tuple_element<T, N> && ...);
}(std::make_index_sequence<std::tuple_size_v<T>> ())
Concept ITuple<T> check if T is a tuple.
Definition Concepts.h:298

Detailed Description

Concept ITuple<T> check if T is a tuple.

based on https://stackoverflow.com/questions/68443804/c20-concept-to-check-tuple-like-types

Definition at line 298 of file Concepts.h.