Singly linked handle to list nodes.
Slink * remove_next()
Remove the link right after this.
constexpr Slink *& get_next() noexcept
Return the next link.
Singly linked node that stores data of type T.
Snode * remove_first()
Remove and return the first node (for symmetry with list front).
Snode()=default
Default constructor.
const T & get_data() const
Return a constant reference to the stored data.
const Snode * get_first() const
Return the first node (const alias of get_next).
const Snode * get_next() const
Return the next node after this (const overload).
Snode(T &&_data)
Constructor that moves the value.
T & get_data()
Return a modifiable reference to the stored data.
Snode(const T &_data)
Constructor that copies the value.
Snode *& get_next()
Return the next node after this.
Snode * remove_next()
Remove the node right after this and return it.
Main namespace for Aleph-w library functions.
Divide_Conquer_DP_Result< Cost > divide_and_conquer_partition_dp(const size_t groups, const size_t n, Transition_Cost_Fn transition_cost, const Cost inf=dp_optimization_detail::default_inf< Cost >())
Optimize partition DP using divide-and-conquer optimization.
std::decay_t< typename HeadC::Item_Type > T
Singly linked list base class.