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:84

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:138
    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