|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Internal node of the Link-Cut Tree (opaque handle). More...
#include <tpl_link_cut_tree.H>
Private Types | |
| using | tag_type = typename LazyTag::tag_type |
Private Member Functions | |
| const T & | get_val () const noexcept |
| Return the raw stored value without forcing synchronization. | |
| Node () | |
| Node (const T &v) | |
| Node (T &&v) | |
Private Attributes | |
| Node * | left = nullptr |
| Node * | right = nullptr |
| Node * | parent = nullptr |
| bool | rev = false |
| size_t | sz = 1 |
| T | val |
| T | agg |
| tag_type | lazy = LazyTag::tag_identity() |
Friends | |
| class | Gen_Link_Cut_Tree |
Internal node of the Link-Cut Tree (opaque handle).
Users interact with vertices using pointers to this structure.
Definition at line 372 of file tpl_link_cut_tree.H.
|
private |
Definition at line 386 of file tpl_link_cut_tree.H.
|
inlineprivate |
Definition at line 392 of file tpl_link_cut_tree.H.
Definition at line 393 of file tpl_link_cut_tree.H.
|
inlineexplicitprivate |
Definition at line 394 of file tpl_link_cut_tree.H.
|
inlineprivatenoexcept |
Return the raw stored value without forcing synchronization.
Definition at line 390 of file tpl_link_cut_tree.H.
References Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::Node::val.
|
friend |
Definition at line 374 of file tpl_link_cut_tree.H.
|
private |
Definition at line 384 of file tpl_link_cut_tree.H.
Referenced by Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::path_query().
|
private |
Definition at line 387 of file tpl_link_cut_tree.H.
Definition at line 377 of file tpl_link_cut_tree.H.
Referenced by Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::cut(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::depth(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::destroy_vertex(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::find_root(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::parent(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::rotate(), and Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::splay().
Definition at line 379 of file tpl_link_cut_tree.H.
Referenced by Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::access(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::cut(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::destroy_vertex(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::link(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::rotate(), and Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::splay().
Definition at line 380 of file tpl_link_cut_tree.H.
Referenced by Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::make_root().
Definition at line 378 of file tpl_link_cut_tree.H.
Referenced by Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::cut(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::destroy_vertex(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::parent(), and Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::rotate().
|
private |
Definition at line 381 of file tpl_link_cut_tree.H.
Referenced by Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::depth(), and Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::path_size().
|
private |
Definition at line 383 of file tpl_link_cut_tree.H.
Referenced by Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::Node::get_val(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::get_val(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::set_val(), and TEST().