Core header for the Aleph-w library.
Singly linked handle to list nodes.
void insert_next(Slink *p)
Insert link p right after this.
Slink * remove_next()
Remove the link right after this.
constexpr bool is_empty() const noexcept
Return true if this link is empty (points to itself).
constexpr Slink *& get_next() noexcept
Return the next link.
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.
Singly linked list base class.
#define SLINK_TO_TYPE(type_name, link_name)
Generate a conversion function from the link name to the enclosing structure.
static Record2 * slink_to_type(Slink *link)