Exception handling system with formatted messages for Aleph-w.
#define ah_underflow_error_if(C)
Throws std::underflow_error if condition holds.
#define ah_overflow_error_if(C)
Throws std::overflow_error if condition holds.
Core definitions, constants, and utility macros for Aleph-w.
constexpr bool is_empty() const noexcept
Return true if list is empty.
void insert_next(Slink *p)
Insert link p 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.
Iterator over singly linked nodes.
Iterator & operator=(Node *node)
Assign the iterator to point to node.
Snode< T > * Item_Type
Type of the element returned by get_curr().
Node * get_curr()
Return the current node.
Iterator(Slist &_list) noexcept
Construct an iterator over list.
Snode< T > Set_Type
Type of the set being iterated.
void reset_first() noexcept
Reset the iterator to the first node of the list.
void next()
Advance the iterator to the next node.
bool has_curr() const noexcept
Return true if the iterator currently points to a node.
Singly linked list of nodes that store values of type T.
Node * remove_first_ne() noexcept
Remove and return the first node without checking emptiness.
Node * get_first_ne() noexcept
Return the first node without checking emptiness.
Node * get_first()
Return a pointer to the first node; throw if the list is empty.
void insert_first(Node *node)
Insert node right after this sentinel (at the beginning).
const Node * get_first() const
Return a pointer to the first node (const overload).
const Node * get_first_ne() const noexcept
Return the first node without checking emptiness (const overload).
Node * remove_first()
Remove the first node of the list.
Slist()=default
Default constructor.
Singly linked node that stores data of type T.
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.
DynList< T > maps(const C &c, Op op)
Classic map operation.
Typed singly linked node.