93 return next ==
nullptr;
192 return curr !=
nullptr;
Exception handling system with formatted messages for Aleph-w.
#define ah_overflow_error_if(C)
Throws std::overflow_error if condition holds.
#define ah_invalid_argument_if(C)
Throws std::invalid_argument if condition holds.
Core header for the Aleph-w library.
bool verify(Slink_Nc *l) const
Iterator(Slink_Nc *head_ptr)
Slink_Nc * get_curr() const
bool operator==(const Iterator &it) const
Returns true if iterators are on the same element.
bool verify(const Iterator &it) const
Slink_Nc * get_curr_ne() const noexcept
Returns current node address.
Iterator(Slink_Nc &_head)
void reset_first()
Resets iterator to the first node of the list.
void next_ne() noexcept
Advances iterator by one position.
Iterator(Slink_Nc *head_ptr, Slink_Nc *curr_ptr)
bool operator!=(const Iterator &it) const
Returns true if iterators have different states.
void set(Slink_Nc *new_curr)
bool is_in_first() const
Returns true if iterator is on the first element.
void reset(Slink_Nc *new_head)
Singly linked list node (non-circular).
void reset()
Resets the link to nullptr.
Slink_Nc()
Empty constructor.
Slink_Nc & operator=(const Slink_Nc &link)
Assignment; sets the next link to nullptr.
bool is_empty() const
Returns true if this is empty (points to nullptr).
Slink_Nc * remove_next()
Removes the link following this.
Slink_Nc *& get_next()
Returns the next link.
void insert(Slink_Nc *p)
Inserts link p after this.
const Slink_Nc * get_next() const
Returns the next link (constant version).
Slink_Nc(const Slink_Nc &)
Copy constructor; sets the next link to nullptr.
Main namespace for Aleph-w library functions.
and
Check uniqueness with explicit hash + equality functors.
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.