stlab 2.3.0
Modern, modular C++ algorithms, data structures, and concurrency primitives
Loading...
Searching...
No Matches
stlab::unsafe Namespace Reference

Classes

struct  set_next_fn< detail::forest_iterator< T > >
struct  set_next_fn< child_iterator< I > >
struct  set_next_fn
 Hook for intrusive iterators: specialize to set the successor of the node at x to y. More...

Functions

template<STLAB_CONCEPT(FORWARD_NODE_ITERATOR) I>
auto reverse_append (I first, I last, I end) -> I
 Reverses the range [first, last) and appends end. Returns the beginning of the reversed range such that [result, end) is a valid range.
template<typename R, typename I>
auto reverse_append (R &range, I end) -> I
 Reverses range and appends end. Returns the beginning of the reversed range such that [result, end) is a valid range.
template<typename I>
auto reverse_nodes (I first, I last) -> I
 Reverses the range [first, last) and returns the beginning of the reversed range such that [result, last) is a valid range.
template<typename R>
auto reverse_nodes (R &range) -> typename R::iterator
 Reverses the range range and returns the beginning of the reversed range such that [result, last) is a valid range.
template<typename I>
void set_next (const I &x, const I &y)
 Sets the successor of the node referenced by x to y (via set_next_fn<I>).
template<typename I>
void splice_node_range (I location, I first, I last)
template<typename I>
void skip_next_node (I location)
 Skips the node after location by linking location to the node after next.
template<typename I>
void skip_node (I location)
 Removes the node at location from the intrusive list (bidirectional iterator).