Callable object.
On record types, this function operates on elements as if they were ordered. The considered order is the order of declaration.
#include <kumi/algorithm/rotate.hpp>
template<std::size_t R, product_type T>
constexpr rotate_left_t< R > rotate_left
Callable object.
Definition rotate.hpp:93
- t: Product Type to rotate
- A product type equivalent to t with elements rotated R positions to the left.
template<std::
size_t R, kumi::concepts::product_type T>
struct rotate_left
{
};
template<std::size_t R, kumi::concepts::product_type T>
using rotate_left_t = typename kumi::result::rotate_left<R, T>::type;
Computes the return type of a call to kumi::rotate_left
#include <kumi/kumi.hpp>
#include <iostream>
int main()
{
std::cout << values << "\n";
std::cout << kumi::rotate_left<1>(values) << "\n";
std::cout << kumi::rotate_left<3>(values) << "\n";
}
Fixed-size collection of heterogeneous values.
Definition tuple.hpp:33
#include <kumi/kumi.hpp>
#include <iostream>
int main()
{
using namespace kumi::literals;
auto values =
kumi::record{
"a"_id=1,
"b"_id=2,
"c"_id=3,
"d"_id=4,
"e"_id=5,
"f"_id=6};
std::cout << values << "\n";
std::cout << kumi::rotate_left<1>(values) << "\n";
std::cout << kumi::rotate_left<3>(values) << "\n";
}
Fixed-size collection of heterogeneous tagged fields, tags are unique.
Definition record.hpp:36