KUMI v5.0.0
Gorgeous Garnet
Loading...
Searching...
No Matches

◆ pop_back

pop_back_t kumi::pop_back {}
inlineconstexprnodiscard

Callable object removing the last (if any) element of t.

On record types, this function operates on elements as if they were ordered. The considered order is the order of declaration.

Header file

#include <kumi/algorithm/push_pop.hpp>

Call Signature

template<product_type T>
constexpr auto pop_back(T && t);
constexpr pop_back_t pop_back
Callable object removing the last (if any) element of t.
Definition push_pop.hpp:284

Parameters

  • t: Base product type

Return value

  • A product type composed of all elements of t except its last. Has no effect on empty product types.

Helper type

template<kumi::concepts::product_type T> using pop_back_t = decltype(kumi::pop_back(std::declval<T>()));
template<kumi::concepts::product_type T> struct pop_back
{
using type = kumi::result::pop_back_t<T>;
};

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

Examples

  • Tuple
    #include <kumi/kumi.hpp>
    #include <iostream>
    int main()
    {
    std::cout << kumi::pop_back( kumi::tuple{} ) << "\n";
    kumi::tuple t{1,2.,3.4f};
    std::cout << t << "\n";
    std::cout << kumi::pop_back(t) << "\n";
    }
    Fixed-size collection of heterogeneous values.
    Definition tuple.hpp:35
  • Record
    #include <kumi/kumi.hpp>
    #include <iostream>
    int main()
    {
    using namespace kumi::literals;
    std::cout << kumi::pop_back( kumi::record{} ) << "\n";
    kumi::record r{"a"_id = 1,"b"_id = 2.,"c"_id = 3.4f};
    std::cout << r << "\n";
    std::cout << kumi::pop_back(r) << "\n";
    }
    Fixed-size collection of heterogeneous tagged fields, tags are unique.
    Definition record.hpp:36