Callable object concatenating multiple product types into a single one.
- Note
- This function does not take part in overload resolution if the input product types do not follow the same semantic.
- See also
- concepts::follows_same_semantic
#include <kumi/algorithm/cat.hpp>
template<product_type... Ts>
constexpr decltype(
auto)
cat(Ts... && t);
constexpr cat_t cat
Callable object concatenating multiple product types into a single one.
Definition cat.hpp:74
- ts: Product types to concatenate
- A product type made of all element of all input product types in order.
template<kumi::concepts::product_type... Ts>
struct cat
{
using type =
decltype(
kumi::cat(std::declval<Ts>()...));
};
template<concepts::product_type... Ts> using cat_t = typename kumi::result::cat<Ts...>::type;
Computes the return type of a call to kumi::cat
#include <kumi/kumi.hpp>
#include <iostream>
int main()
{
std::cout << a << " " << b << " " << c << "\n";
std::cout << abc << "\n";
}
Fixed-size collection of heterogeneous values.
Definition tuple.hpp:33
#include <kumi/kumi.hpp>
#include <iostream>
int main()
{
using namespace kumi::literals;
std::cout << a << " " << b << " " << c << "\n";
std::cout << abc << "\n";
}
Fixed-size collection of heterogeneous tagged fields, tags are unique.
Definition record.hpp:36