160# define SLINK_TO_TYPE(type_name, link_name) \
161 static type_name * slink_to_type(Slink * link) \
163 const size_t offset_link = __builtin_offsetof(type_name, link_name); \
164 char * address_type = reinterpret_cast<char *>(link) - offset_link; \
165 return reinterpret_cast<type_name *>(address_type); \
Core header for the Aleph-w library.
Singly linked handle to list nodes.
void reset() noexcept
Reset the link so it points to itself.
Slink()
Default constructor.
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.
constexpr const Slink * get_next() const noexcept
Return the next link (const overload).
size_t blossom_maximum_cardinality_matching(const GT &g, DynDlist< typename GT::Arc * > &matching, SA sa=SA())
Alias of compute_maximum_cardinality_general_matching().
Main namespace for Aleph-w library functions.