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 (count_t offset) const |
size_t | size_sbh (count_t offset, size_t) const |
size_t | size_before (count_t offset) const |
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> | |
void | each_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_sub (Visitor v, Args &&... args) |
template<typename Visitor , typename... Args> | |
void | each_left_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_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> | |
decltype(auto) | towards (Visitor v, size_t idx, Args &&... args) |
template<typename Visitor , typename... Args> | |
decltype(auto) | towards_oh_ch (Visitor v, size_t idx, count_t offset_hint, count_t, 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_sub_oh (Visitor v, size_t idx, count_t offset_hint, 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_ |
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::full_pos< NodeT >
Definition at line 1050 of file position.hpp.
Member Typedef Documentation
◆ node_t
using immer::detail::rbts::full_pos< NodeT >::node_t = NodeT |
Definition at line 1055 of file position.hpp.
Member Function Documentation
◆ copy_sizes()
|
inline |
Definition at line 1069 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::shift_.
◆ count()
|
inline |
Definition at line 1059 of file position.hpp.
Referenced by immer::detail::rbts::full_pos< NodeT >::nth_sub(), and immer::detail::rbts::full_pos< NodeT >::nth_sub_leaf().
◆ each()
|
inline |
Definition at line 1080 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::B, immer::detail::rbts::full_pos< NodeT >::BL, IMMER_PREFETCH, immer::detail::rbts::make_full_leaf_pos(), immer::detail::rbts::make_full_pos(), immer::detail::rbts::full_pos< NodeT >::node_, and immer::detail::rbts::full_pos< NodeT >::shift_.
Referenced by immer::detail::rbts::full_pos< NodeT >::each_sub().
◆ each_i()
|
inline |
Definition at line 1158 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::B, immer::detail::rbts::full_pos< NodeT >::BL, IMMER_PREFETCH, immer::detail::rbts::make_full_leaf_pos(), immer::detail::rbts::make_full_pos(), immer::detail::rbts::full_pos< NodeT >::node_, and immer::detail::rbts::full_pos< NodeT >::shift_.
Referenced by immer::detail::rbts::full_pos< NodeT >::each_left(), immer::detail::rbts::full_pos< NodeT >::each_left_sub(), immer::detail::rbts::full_pos< NodeT >::each_right(), and immer::detail::rbts::full_pos< NodeT >::each_right_sub().
◆ each_left()
|
inline |
Definition at line 1199 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::each_i().
◆ each_left_sub()
|
inline |
Definition at line 1187 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::each_i().
◆ each_pred()
|
inline |
Definition at line 1097 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::B, immer::detail::rbts::full_pos< NodeT >::BL, IMMER_PREFETCH, immer::detail::rbts::make_full_leaf_pos(), immer::detail::rbts::make_full_pos(), immer::detail::rbts::full_pos< NodeT >::node_, and immer::detail::rbts::full_pos< NodeT >::shift_.
◆ each_pred_i()
|
inline |
Definition at line 1138 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::B, immer::detail::rbts::full_pos< NodeT >::BL, IMMER_PREFETCH, immer::detail::rbts::make_full_leaf_pos(), immer::detail::rbts::make_full_pos(), immer::detail::rbts::full_pos< NodeT >::node_, and immer::detail::rbts::full_pos< NodeT >::shift_.
Referenced by immer::detail::rbts::full_pos< NodeT >::each_pred_left(), and immer::detail::rbts::full_pos< NodeT >::each_pred_right().
◆ each_pred_left()
|
inline |
Definition at line 1179 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::each_pred_i().
◆ each_pred_right()
|
inline |
Definition at line 1175 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::each_pred_i().
◆ each_pred_zip()
|
inline |
Definition at line 1117 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::B, immer::detail::rbts::full_pos< NodeT >::BL, IMMER_PREFETCH, immer::detail::rbts::make_full_leaf_pos(), immer::detail::rbts::make_full_pos(), immer::detail::rbts::full_pos< NodeT >::node_, and immer::detail::rbts::full_pos< NodeT >::shift_.
◆ each_right()
|
inline |
Definition at line 1195 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::each_i().
◆ each_right_sub()
|
inline |
Definition at line 1191 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::each_i().
◆ each_sub()
|
inline |
Definition at line 1183 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::each().
◆ first_sub()
|
inline |
Definition at line 1240 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::B, immer::detail::rbts::full_pos< NodeT >::BL, immer::detail::rbts::make_full_leaf_pos(), immer::detail::rbts::make_full_pos(), immer::detail::rbts::full_pos< NodeT >::node_, and immer::detail::rbts::full_pos< NodeT >::shift_.
◆ first_sub_inner()
|
inline |
◆ first_sub_leaf()
|
inline |
Definition at line 1250 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::BL, immer::detail::rbts::make_full_leaf_pos(), immer::detail::rbts::full_pos< NodeT >::node_, and immer::detail::rbts::full_pos< NodeT >::shift_.
◆ index()
|
inline |
Definition at line 1063 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::shift_.
Referenced by immer::detail::rbts::full_pos< NodeT >::towards(), immer::detail::rbts::full_pos< NodeT >::towards_oh(), and immer::detail::rbts::full_pos< NodeT >::towards_sub_oh().
◆ node()
|
inline |
Definition at line 1060 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::node_.
◆ nth_sub()
|
inline |
Definition at line 1266 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::B, immer::detail::rbts::full_pos< NodeT >::BL, immer::detail::rbts::full_pos< NodeT >::count(), immer::detail::rbts::make_full_leaf_pos(), immer::detail::rbts::make_full_pos(), immer::detail::rbts::full_pos< NodeT >::node_, and immer::detail::rbts::full_pos< NodeT >::shift_.
◆ nth_sub_leaf()
|
inline |
◆ shift()
|
inline |
Definition at line 1062 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::shift_.
◆ size() [1/2]
|
inline |
Definition at line 1061 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::shift_.
◆ size() [2/2]
|
inline |
Definition at line 1065 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::shift_.
◆ size_before()
|
inline |
Definition at line 1067 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::shift_.
◆ size_sbh()
|
inline |
Definition at line 1066 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::shift_.
◆ subindex()
|
inline |
Definition at line 1064 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::shift_.
◆ towards()
|
inline |
Definition at line 1203 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::index(), and immer::detail::rbts::full_pos< NodeT >::towards_oh().
◆ towards_oh()
|
inline |
Definition at line 1213 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::B, immer::detail::rbts::full_pos< NodeT >::BL, immer::detail::rbts::full_pos< NodeT >::index(), immer::detail::rbts::make_full_leaf_pos(), immer::detail::rbts::make_full_pos(), immer::detail::rbts::full_pos< NodeT >::node_, and immer::detail::rbts::full_pos< NodeT >::shift_.
Referenced by immer::detail::rbts::full_pos< NodeT >::towards(), and immer::detail::rbts::full_pos< NodeT >::towards_oh_ch().
◆ towards_oh_ch()
|
inline |
Definition at line 1207 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::towards_oh().
◆ towards_sub_oh()
|
inline |
Definition at line 1226 of file position.hpp.
References immer::detail::rbts::full_pos< NodeT >::B, immer::detail::rbts::full_pos< NodeT >::BL, immer::detail::rbts::full_pos< NodeT >::index(), immer::detail::rbts::make_full_leaf_pos(), immer::detail::rbts::make_full_pos(), immer::detail::rbts::full_pos< NodeT >::node_, and immer::detail::rbts::full_pos< NodeT >::shift_.
◆ visit()
|
inline |
Definition at line 1286 of file position.hpp.
Member Data Documentation
◆ B
|
static |
Definition at line 1052 of file position.hpp.
Referenced by immer::detail::rbts::full_pos< NodeT >::each(), immer::detail::rbts::full_pos< NodeT >::each_i(), immer::detail::rbts::full_pos< NodeT >::each_pred(), immer::detail::rbts::full_pos< NodeT >::each_pred_i(), immer::detail::rbts::full_pos< NodeT >::each_pred_zip(), immer::detail::rbts::full_pos< NodeT >::first_sub(), immer::detail::rbts::full_pos< NodeT >::first_sub_inner(), immer::detail::rbts::full_pos< NodeT >::nth_sub(), immer::detail::rbts::full_pos< NodeT >::towards_oh(), and immer::detail::rbts::full_pos< NodeT >::towards_sub_oh().
◆ BL
|
static |
Definition at line 1053 of file position.hpp.
Referenced by immer::detail::rbts::full_pos< NodeT >::each(), immer::detail::rbts::full_pos< NodeT >::each_i(), immer::detail::rbts::full_pos< NodeT >::each_pred(), immer::detail::rbts::full_pos< NodeT >::each_pred_i(), immer::detail::rbts::full_pos< NodeT >::each_pred_zip(), immer::detail::rbts::full_pos< NodeT >::first_sub(), immer::detail::rbts::full_pos< NodeT >::first_sub_inner(), immer::detail::rbts::full_pos< NodeT >::first_sub_leaf(), immer::detail::rbts::full_pos< NodeT >::nth_sub(), immer::detail::rbts::full_pos< NodeT >::nth_sub_leaf(), immer::detail::rbts::full_pos< NodeT >::towards_oh(), and immer::detail::rbts::full_pos< NodeT >::towards_sub_oh().
◆ node_
node_t* immer::detail::rbts::full_pos< NodeT >::node_ |
Definition at line 1056 of file position.hpp.
Referenced by immer::detail::rbts::full_pos< NodeT >::each(), immer::detail::rbts::full_pos< NodeT >::each_i(), immer::detail::rbts::full_pos< NodeT >::each_pred(), immer::detail::rbts::full_pos< NodeT >::each_pred_i(), immer::detail::rbts::full_pos< NodeT >::each_pred_zip(), immer::detail::rbts::full_pos< NodeT >::first_sub(), immer::detail::rbts::full_pos< NodeT >::first_sub_inner(), immer::detail::rbts::full_pos< NodeT >::first_sub_leaf(), immer::detail::rbts::full_pos< NodeT >::node(), immer::detail::rbts::full_pos< NodeT >::nth_sub(), immer::detail::rbts::full_pos< NodeT >::nth_sub_leaf(), immer::detail::rbts::full_pos< NodeT >::towards_oh(), and immer::detail::rbts::full_pos< NodeT >::towards_sub_oh().
◆ shift_
shift_t immer::detail::rbts::full_pos< NodeT >::shift_ |
Definition at line 1057 of file position.hpp.
Referenced by immer::detail::rbts::full_pos< NodeT >::copy_sizes(), immer::detail::rbts::full_pos< NodeT >::each(), immer::detail::rbts::full_pos< NodeT >::each_i(), immer::detail::rbts::full_pos< NodeT >::each_pred(), immer::detail::rbts::full_pos< NodeT >::each_pred_i(), immer::detail::rbts::full_pos< NodeT >::each_pred_zip(), immer::detail::rbts::full_pos< NodeT >::first_sub(), immer::detail::rbts::full_pos< NodeT >::first_sub_inner(), immer::detail::rbts::full_pos< NodeT >::first_sub_leaf(), immer::detail::rbts::full_pos< NodeT >::index(), immer::detail::rbts::full_pos< NodeT >::nth_sub(), immer::detail::rbts::full_pos< NodeT >::nth_sub_leaf(), immer::detail::rbts::full_pos< NodeT >::shift(), immer::detail::rbts::full_pos< NodeT >::size(), immer::detail::rbts::full_pos< NodeT >::size_before(), immer::detail::rbts::full_pos< NodeT >::size_sbh(), immer::detail::rbts::full_pos< NodeT >::subindex(), immer::detail::rbts::full_pos< NodeT >::towards_oh(), and immer::detail::rbts::full_pos< NodeT >::towards_sub_oh().
The documentation for this struct was generated from the following file:
- src/immer/detail/rbts/position.hpp