KUMI v4.0.0
Flawless Fluorite
Loading...
Searching...
No Matches

◆ front

front_t kumi::front {}
inlineconstexprnodiscard

Callable object used to retrieve the front of a product type.

Note
This function does not take part in overload resolution if t is an empty product type.

Header file

#include <kumi/algorithm/back_front.hpp>

Call Signature

template<product_type T>
[[nodiscard]] constexpr decltype(auto) front(T && t);
constexpr front_t front
Callable object used to retrieve the front of a product type.
Definition back_front.hpp:80

Parameters

  • t: Product Type to access

Return value

  • A reference to the first element of the product type t.

Helper type

template<kumi::concepts::product_type T> struct front : kumi::stored_member<0, T>
{
};
template<kumi::concepts::product_type T> using front_t = typename kumi::result::front<T>::type;

Computes the return type of a call to kumi::front

Examples

Tuple

#include <kumi/kumi.hpp>
#include <iostream>
int main()
{
kumi::tuple x{2.3,18, 5.f};
std::cout << kumi::front(x) << "\n";
std::cout << kumi::back(x) << "\n";
kumi::front(x) = 98.5;
kumi::back(x) = 66.f;
std::cout << x << "\n";
}
constexpr back_t back
Callable object used to retrieve the back of a product type.
Definition back_front.hpp:130
Fixed-size collection of heterogeneous values.
Definition tuple.hpp:33

Record

#include <kumi/kumi.hpp>
#include <iostream>
int main()
{
using namespace kumi::literals;
kumi::record x{"a"_id = 2.3,"b"_id = 18, "c"_id = 5.f};
std::cout << kumi::front(x) << "\n";
std::cout << kumi::back(x) << "\n";
kumi::front(x) = 98.5;
kumi::back(x) = 66.f;
std::cout << x << "\n";
}
Fixed-size collection of heterogeneous tagged fields, tags are unique.
Definition record.hpp:36