template<typename T>
fun::Robin struct

Robin Hood iterator for cycle iteration.

Template parameters
T The type of indices in the cycle

A data structure that creates a circular linked list allowing iteration over all elements except a specified one (the "exclude" operation).

Constructors, destructors, conversion operators

Robin(T num_parts) explicit
Construct a new Robin cycle.

Public functions

auto exclude(T from_part) const -> detail::RobinIterableWrapper< T > -> auto
Get an iterable that excludes a specific element.

Public variables

std::vector<detail::RobinSlNode<T>> cycle

Function documentation

template<typename T>
fun::Robin<T>::Robin(T num_parts) explicit

Construct a new Robin cycle.

Parameters
num_parts The number of elements in the cycle

Creates a circular linked list containing all indices from 0 to num_parts-1.

template<typename T>
auto fun::Robin<T>::exclude(T from_part) const -> detail::RobinIterableWrapper< T >

Get an iterable that excludes a specific element.

Parameters
from_part The index to exclude from iteration
Returns detail::RobinIterableWrapper<T> An iterable over the remaining elements

Returns an iterable that allows iterating over all elements in the cycle except the one at the specified index.