Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
#include <position.hpp>
Public Types | |
using | node_t = NodeT |
Public Member Functions | |
count_t | count () const |
node_t * | node () const |
size_t | size () const |
shift_t | shift () const |
count_t | index (size_t idx) const |
count_t | subindex (size_t idx) const |
size_t | size_before (count_t offset) const |
size_t | this_size () const |
auto | size (count_t offset) |
auto | size_sbh (count_t offset, size_t size_before_hint) |
void | copy_sizes (count_t offset, count_t n, size_t init, size_t *sizes) |
template<typename Visitor , typename... Args> | |
void | each (Visitor v, Args &&...args) |
template<typename Visitor , typename... Args> | |
bool | each_pred (Visitor v, Args &&...args) |
template<typename Visitor , typename... Args> | |
bool | each_pred_zip (Visitor v, node_t *other, Args &&... args) |
template<typename Visitor , typename... Args> | |
bool | each_pred_i (Visitor v, count_t i, count_t n, Args &&...args) |
template<typename Visitor , typename... Args> | |
bool | each_pred_right (Visitor v, count_t start, Args &&...args) |
template<typename Visitor , typename... Args> | |
bool | each_pred_left (Visitor v, count_t last, Args &&...args) |
template<typename Visitor , typename... Args> | |
void | each_i (Visitor v, count_t i, count_t n, Args &&...args) |
template<typename Visitor , typename... Args> | |
void | each_right (Visitor v, count_t start, Args &&...args) |
template<typename Visitor , typename... Args> | |
void | each_left (Visitor v, count_t last, Args &&...args) |
template<typename Visitor , typename... Args> | |
void | each_right_sub_ (Visitor v, count_t i, Args &&...args) |
template<typename Visitor , typename... Args> | |
void | each_sub (Visitor v, Args &&...args) |
template<typename Visitor , typename... Args> | |
void | each_right_sub (Visitor v, Args &&...args) |
template<typename Visitor , typename... Args> | |
void | each_left_sub (Visitor v, Args &&...args) |
template<typename Visitor , typename... Args> | |
decltype(auto) | towards (Visitor v, size_t idx, Args &&... args) |
template<typename Visitor , typename... Args> | |
decltype(auto) | towards_oh (Visitor v, size_t idx, count_t offset_hint, Args &&... args) |
template<typename Visitor , typename... Args> | |
decltype(auto) | towards_oh_ch (Visitor v, size_t idx, count_t offset_hint, count_t count_hint, Args &&... args) |
template<typename Visitor , typename... Args> | |
decltype(auto) | towards_sub_oh (Visitor v, size_t idx, count_t offset_hint, Args &&...args) |
template<typename Visitor , typename... Args> | |
decltype(auto) | last_oh (Visitor v, count_t offset_hint, Args &&... args) |
template<typename Visitor , typename... Args> | |
decltype(auto) | last_sub (Visitor v, Args &&... args) |
template<typename Visitor , typename... Args> | |
decltype(auto) | first_sub (Visitor v, Args &&... args) |
template<typename Visitor , typename... Args> | |
decltype(auto) | first_sub_leaf (Visitor v, Args &&... args) |
template<typename Visitor , typename... Args> | |
decltype(auto) | first_sub_inner (Visitor v, Args &&... args) |
template<typename Visitor , typename... Args> | |
decltype(auto) | nth_sub (count_t idx, Visitor v, Args &&... args) |
template<typename Visitor , typename... Args> | |
decltype(auto) | nth_sub_leaf (count_t idx, Visitor v, Args &&... args) |
template<typename Visitor , typename ... Args> | |
decltype(auto) | visit (Visitor v, Args &&...args) |
Public Attributes | |
node_t * | node_ |
shift_t | shift_ |
size_t | size_ |
Static Public Attributes | |
static constexpr auto | B = NodeT::bits |
static constexpr auto | BL = NodeT::bits_leaf |
Detailed Description
template<typename NodeT>
struct immer::detail::rbts::regular_sub_pos< NodeT >
Definition at line 720 of file position.hpp.
Member Typedef Documentation
◆ node_t
using immer::detail::rbts::regular_sub_pos< NodeT >::node_t = NodeT |
Definition at line 725 of file position.hpp.
Member Function Documentation
◆ copy_sizes()
|
inline |
Definition at line 754 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::shift_, and immer::detail::rbts::regular_sub_pos< NodeT >::size().
◆ count()
|
inline |
Definition at line 730 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::size_, and immer::detail::rbts::regular_sub_pos< NodeT >::subindex().
Referenced by immer::detail::rbts::regular_sub_pos< NodeT >::each_left_sub(), immer::detail::rbts::regular_sub_pos< NodeT >::each_right_sub(), immer::detail::rbts::regular_sub_pos< NodeT >::each_right_sub_(), immer::detail::rbts::regular_sub_pos< NodeT >::last_sub(), immer::detail::rbts::regular_sub_pos< NodeT >::nth_sub(), immer::detail::rbts::regular_sub_pos< NodeT >::nth_sub_leaf(), immer::detail::rbts::regular_sub_pos< NodeT >::towards(), immer::detail::rbts::regular_sub_pos< NodeT >::towards_oh(), and immer::detail::rbts::regular_sub_pos< NodeT >::towards_oh_ch().
◆ each()
|
inline |
Definition at line 769 of file position.hpp.
References immer::detail::rbts::each_regular().
◆ each_i()
|
inline |
Definition at line 793 of file position.hpp.
References immer::detail::rbts::each_i_regular().
◆ each_left()
|
inline |
Definition at line 801 of file position.hpp.
References immer::detail::rbts::each_left_regular().
Referenced by immer::detail::rbts::regular_sub_pos< NodeT >::each_left_sub().
◆ each_left_sub()
|
inline |
Definition at line 834 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::count(), and immer::detail::rbts::regular_sub_pos< NodeT >::each_left().
◆ each_pred()
|
inline |
Definition at line 773 of file position.hpp.
References immer::detail::rbts::each_pred_regular().
◆ each_pred_i()
|
inline |
Definition at line 781 of file position.hpp.
References immer::detail::rbts::each_pred_i_regular().
◆ each_pred_left()
|
inline |
Definition at line 789 of file position.hpp.
References immer::detail::rbts::each_pred_left_regular().
◆ each_pred_right()
|
inline |
Definition at line 785 of file position.hpp.
References immer::detail::rbts::each_pred_right_regular().
◆ each_pred_zip()
|
inline |
Definition at line 777 of file position.hpp.
References immer::detail::rbts::each_pred_zip_regular().
◆ each_right()
|
inline |
Definition at line 797 of file position.hpp.
References immer::detail::rbts::each_right_regular().
◆ each_right_sub()
|
inline |
Definition at line 830 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::count(), and immer::detail::rbts::regular_sub_pos< NodeT >::each_right_sub_().
◆ each_right_sub_()
|
inline |
Definition at line 805 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::B, immer::detail::rbts::regular_sub_pos< NodeT >::BL, immer::detail::rbts::regular_sub_pos< NodeT >::count(), IMMER_PREFETCH, immer::detail::rbts::make_full_leaf_pos(), immer::detail::rbts::make_full_pos(), immer::detail::rbts::make_leaf_sub_pos(), immer::detail::rbts::make_regular_sub_pos(), immer::detail::rbts::regular_sub_pos< NodeT >::node(), immer::detail::rbts::regular_sub_pos< NodeT >::shift(), immer::detail::rbts::regular_sub_pos< NodeT >::shift_, and immer::detail::rbts::regular_sub_pos< NodeT >::size_.
Referenced by immer::detail::rbts::regular_sub_pos< NodeT >::each_right_sub(), and immer::detail::rbts::regular_sub_pos< NodeT >::each_sub().
◆ each_sub()
|
inline |
Definition at line 826 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::each_right_sub_().
◆ first_sub()
|
inline |
Definition at line 877 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::B, immer::detail::rbts::regular_sub_pos< NodeT >::BL, immer::detail::rbts::make_full_leaf_pos(), immer::detail::rbts::make_full_pos(), immer::detail::rbts::make_leaf_sub_pos(), immer::detail::rbts::make_regular_sub_pos(), immer::detail::rbts::regular_sub_pos< NodeT >::node_, immer::detail::rbts::regular_sub_pos< NodeT >::shift_, and immer::detail::rbts::regular_sub_pos< NodeT >::size_.
◆ first_sub_inner()
|
inline |
Definition at line 903 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::B, immer::detail::rbts::regular_sub_pos< NodeT >::BL, immer::detail::rbts::make_full_pos(), immer::detail::rbts::make_regular_sub_pos(), immer::detail::rbts::regular_sub_pos< NodeT >::node_, immer::detail::rbts::regular_sub_pos< NodeT >::shift_, and immer::detail::rbts::regular_sub_pos< NodeT >::size_.
◆ first_sub_leaf()
|
inline |
Definition at line 892 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::BL, immer::detail::rbts::make_full_leaf_pos(), immer::detail::rbts::make_leaf_sub_pos(), immer::detail::rbts::regular_sub_pos< NodeT >::node_, immer::detail::rbts::regular_sub_pos< NodeT >::shift_, and immer::detail::rbts::regular_sub_pos< NodeT >::size_.
◆ index()
|
inline |
Definition at line 734 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::shift_.
Referenced by immer::detail::rbts::regular_sub_pos< NodeT >::towards().
◆ last_oh()
|
inline |
Definition at line 861 of file position.hpp.
References immer::detail::rbts::last_oh_regular().
◆ last_sub()
|
inline |
Definition at line 865 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::B, immer::detail::rbts::regular_sub_pos< NodeT >::BL, immer::detail::rbts::regular_sub_pos< NodeT >::count(), immer::detail::rbts::make_leaf_sub_pos(), immer::detail::rbts::make_regular_sub_pos(), immer::detail::rbts::regular_sub_pos< NodeT >::node_, immer::detail::rbts::regular_sub_pos< NodeT >::shift_, and immer::detail::rbts::regular_sub_pos< NodeT >::size_.
◆ node()
|
inline |
Definition at line 731 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::node_.
Referenced by immer::detail::rbts::regular_sub_pos< NodeT >::each_right_sub_().
◆ nth_sub()
|
inline |
Definition at line 914 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::B, immer::detail::rbts::regular_sub_pos< NodeT >::BL, immer::detail::rbts::regular_sub_pos< NodeT >::count(), immer::detail::rbts::make_full_leaf_pos(), immer::detail::rbts::make_full_pos(), immer::detail::rbts::make_leaf_sub_pos(), immer::detail::rbts::make_regular_sub_pos(), immer::detail::rbts::regular_sub_pos< NodeT >::node_, immer::detail::rbts::regular_sub_pos< NodeT >::shift_, and immer::detail::rbts::regular_sub_pos< NodeT >::size().
◆ nth_sub_leaf()
|
inline |
Definition at line 931 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::BL, immer::detail::rbts::regular_sub_pos< NodeT >::count(), immer::detail::rbts::make_full_leaf_pos(), immer::detail::rbts::make_leaf_sub_pos(), immer::detail::rbts::regular_sub_pos< NodeT >::node_, immer::detail::rbts::regular_sub_pos< NodeT >::shift_, and immer::detail::rbts::regular_sub_pos< NodeT >::size().
◆ shift()
|
inline |
Definition at line 733 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::shift_.
Referenced by immer::detail::rbts::regular_sub_pos< NodeT >::each_right_sub_().
◆ size() [1/2]
|
inline |
Definition at line 732 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::size_.
Referenced by immer::detail::rbts::regular_sub_pos< NodeT >::copy_sizes(), immer::detail::rbts::regular_sub_pos< NodeT >::nth_sub(), and immer::detail::rbts::regular_sub_pos< NodeT >::nth_sub_leaf().
◆ size() [2/2]
|
inline |
◆ size_before()
|
inline |
Definition at line 736 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::shift_.
Referenced by immer::detail::rbts::regular_sub_pos< NodeT >::size(), and immer::detail::rbts::regular_sub_pos< NodeT >::size_sbh().
◆ size_sbh()
|
inline |
◆ subindex()
|
inline |
Definition at line 735 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::shift_.
Referenced by immer::detail::rbts::regular_sub_pos< NodeT >::count(), immer::detail::rbts::regular_sub_pos< NodeT >::size(), and immer::detail::rbts::regular_sub_pos< NodeT >::size_sbh().
◆ this_size()
|
inline |
Definition at line 737 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::size_.
◆ towards()
|
inline |
Definition at line 838 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::count(), immer::detail::rbts::regular_sub_pos< NodeT >::index(), and immer::detail::rbts::towards_oh_ch_regular().
◆ towards_oh()
|
inline |
Definition at line 842 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::count(), and immer::detail::rbts::towards_oh_ch_regular().
◆ towards_oh_ch()
|
inline |
Definition at line 848 of file position.hpp.
References immer::detail::rbts::regular_sub_pos< NodeT >::count(), and immer::detail::rbts::towards_oh_ch_regular().
◆ towards_sub_oh()
|
inline |
Definition at line 855 of file position.hpp.
References immer::detail::rbts::towards_sub_oh_regular().
◆ visit()
|
inline |
Definition at line 943 of file position.hpp.
Member Data Documentation
◆ B
|
static |
Definition at line 722 of file position.hpp.
Referenced by immer::detail::rbts::regular_sub_pos< NodeT >::each_right_sub_(), immer::detail::rbts::regular_sub_pos< NodeT >::first_sub(), immer::detail::rbts::regular_sub_pos< NodeT >::first_sub_inner(), immer::detail::rbts::regular_sub_pos< NodeT >::last_sub(), and immer::detail::rbts::regular_sub_pos< NodeT >::nth_sub().
◆ BL
|
static |
Definition at line 723 of file position.hpp.
Referenced by immer::detail::rbts::regular_sub_pos< NodeT >::each_right_sub_(), immer::detail::rbts::regular_sub_pos< NodeT >::first_sub(), immer::detail::rbts::regular_sub_pos< NodeT >::first_sub_inner(), immer::detail::rbts::regular_sub_pos< NodeT >::first_sub_leaf(), immer::detail::rbts::regular_sub_pos< NodeT >::last_sub(), immer::detail::rbts::regular_sub_pos< NodeT >::nth_sub(), and immer::detail::rbts::regular_sub_pos< NodeT >::nth_sub_leaf().
◆ node_
node_t* immer::detail::rbts::regular_sub_pos< NodeT >::node_ |
Definition at line 726 of file position.hpp.
Referenced by immer::detail::rbts::regular_sub_pos< NodeT >::first_sub(), immer::detail::rbts::regular_sub_pos< NodeT >::first_sub_inner(), immer::detail::rbts::regular_sub_pos< NodeT >::first_sub_leaf(), immer::detail::rbts::regular_sub_pos< NodeT >::last_sub(), immer::detail::rbts::regular_sub_pos< NodeT >::node(), immer::detail::rbts::regular_sub_pos< NodeT >::nth_sub(), and immer::detail::rbts::regular_sub_pos< NodeT >::nth_sub_leaf().
◆ shift_
shift_t immer::detail::rbts::regular_sub_pos< NodeT >::shift_ |
Definition at line 727 of file position.hpp.
Referenced by immer::detail::rbts::regular_sub_pos< NodeT >::copy_sizes(), immer::detail::rbts::regular_sub_pos< NodeT >::each_right_sub_(), immer::detail::rbts::regular_sub_pos< NodeT >::first_sub(), immer::detail::rbts::regular_sub_pos< NodeT >::first_sub_inner(), immer::detail::rbts::regular_sub_pos< NodeT >::first_sub_leaf(), immer::detail::rbts::regular_sub_pos< NodeT >::index(), immer::detail::rbts::regular_sub_pos< NodeT >::last_sub(), immer::detail::rbts::regular_sub_pos< NodeT >::nth_sub(), immer::detail::rbts::regular_sub_pos< NodeT >::nth_sub_leaf(), immer::detail::rbts::regular_sub_pos< NodeT >::shift(), immer::detail::rbts::regular_sub_pos< NodeT >::size(), immer::detail::rbts::regular_sub_pos< NodeT >::size_before(), immer::detail::rbts::regular_sub_pos< NodeT >::size_sbh(), and immer::detail::rbts::regular_sub_pos< NodeT >::subindex().
◆ size_
size_t immer::detail::rbts::regular_sub_pos< NodeT >::size_ |
Definition at line 728 of file position.hpp.
Referenced by immer::detail::rbts::regular_sub_pos< NodeT >::count(), immer::detail::rbts::regular_sub_pos< NodeT >::each_right_sub_(), immer::detail::rbts::regular_sub_pos< NodeT >::first_sub(), immer::detail::rbts::regular_sub_pos< NodeT >::first_sub_inner(), immer::detail::rbts::regular_sub_pos< NodeT >::first_sub_leaf(), immer::detail::rbts::regular_sub_pos< NodeT >::last_sub(), immer::detail::rbts::regular_sub_pos< NodeT >::size(), immer::detail::rbts::regular_sub_pos< NodeT >::size_sbh(), and immer::detail::rbts::regular_sub_pos< NodeT >::this_size().
The documentation for this struct was generated from the following file:
- src/immer/detail/rbts/position.hpp