Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

immer::detail::rbts::relaxed_pos< NodeT > Struct Template Reference

#include <position.hpp>

Public Types

using node_t = NodeT
 
using relaxed_t = typename NodeT::relaxed_t
 

Public Member Functions

count_t count () const
 
node_tnode () const
 
size_t size () const
 
shift_t shift () const
 
count_t subindex (size_t idx) const
 
relaxed_trelaxed () const
 
size_t size_before (count_t offset) const
 
size_t size (count_t offset) const
 
size_t size_sbh (count_t offset, size_t size_before_hint) const
 
count_t index (size_t idx) 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_i (Visitor v, count_t i, count_t n, Args &&... args)
 
template<typename Visitor , typename... Args>
bool each_pred_left (Visitor v, 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>
void each_i (Visitor v, count_t i, count_t n, 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_left (Visitor v, count_t n, 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>
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_sbh (Visitor v, size_t idx, count_t offset_hint, size_t left_size_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) towards_sub_oh_sbh (Visitor v, size_t idx, count_t offset_hint, size_t left_size_hint, Args &&... args)
 
template<typename Visitor , typename... Args>
decltype(auto) last_oh_csh (Visitor v, count_t offset_hint, size_t child_size_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 offset, Visitor v, Args &&... args)
 
template<typename Visitor , typename... Args>
decltype(auto) nth_sub_leaf (count_t offset, Visitor v, Args &&... args)
 
template<typename Visitor , typename ... Args>
decltype(auto) visit (Visitor v, Args &&...args)
 

Public Attributes

node_tnode_
 
shift_t shift_
 
relaxed_trelaxed_
 

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::relaxed_pos< NodeT >

Definition at line 1301 of file position.hpp.

Member Typedef Documentation

◆ node_t

template<typename NodeT >
using immer::detail::rbts::relaxed_pos< NodeT >::node_t = NodeT

Definition at line 1306 of file position.hpp.

◆ relaxed_t

template<typename NodeT >
using immer::detail::rbts::relaxed_pos< NodeT >::relaxed_t = typename NodeT::relaxed_t

Definition at line 1307 of file position.hpp.

Member Function Documentation

◆ copy_sizes()

template<typename NodeT >
void immer::detail::rbts::relaxed_pos< NodeT >::copy_sizes ( count_t  offset,
count_t  n,
size_t  init,
size_t sizes 
)
inline

◆ count()

◆ each()

template<typename NodeT >
template<typename Visitor , typename... Args>
void immer::detail::rbts::relaxed_pos< NodeT >::each ( Visitor  v,
Args &&...  args 
)
inline

◆ each_i()

◆ each_left()

◆ each_left_sub()

template<typename NodeT >
template<typename Visitor , typename... Args>
void immer::detail::rbts::relaxed_pos< NodeT >::each_left_sub ( Visitor  v,
Args &&...  args 
)
inline

◆ each_pred()

◆ each_pred_i()

◆ each_pred_left()

◆ each_pred_right()

◆ each_right()

◆ each_right_sub()

template<typename NodeT >
template<typename Visitor , typename... Args>
void immer::detail::rbts::relaxed_pos< NodeT >::each_right_sub ( Visitor  v,
Args &&...  args 
)
inline

◆ each_sub()

template<typename NodeT >
template<typename Visitor , typename... Args>
void immer::detail::rbts::relaxed_pos< NodeT >::each_sub ( Visitor  v,
Args &&...  args 
)
inline

◆ first_sub()

◆ first_sub_inner()

◆ first_sub_leaf()

template<typename NodeT >
template<typename Visitor , typename... Args>
decltype(auto) immer::detail::rbts::relaxed_pos< NodeT >::first_sub_leaf ( Visitor  v,
Args &&...  args 
)
inline

◆ index()

◆ last_oh_csh()

◆ last_sub()

◆ node()

template<typename NodeT >
node_t* immer::detail::rbts::relaxed_pos< NodeT >::node ( ) const
inline

Definition at line 1313 of file position.hpp.

References immer::detail::rbts::relaxed_pos< NodeT >::node_.

◆ nth_sub()

◆ nth_sub_leaf()

template<typename NodeT >
template<typename Visitor , typename... Args>
decltype(auto) immer::detail::rbts::relaxed_pos< NodeT >::nth_sub_leaf ( count_t  offset,
Visitor  v,
Args &&...  args 
)
inline

◆ relaxed()

template<typename NodeT >
relaxed_t* immer::detail::rbts::relaxed_pos< NodeT >::relaxed ( ) const
inline

◆ shift()

template<typename NodeT >
shift_t immer::detail::rbts::relaxed_pos< NodeT >::shift ( ) const
inline

Definition at line 1315 of file position.hpp.

References immer::detail::rbts::relaxed_pos< NodeT >::shift_.

◆ size() [1/2]

◆ size() [2/2]

template<typename NodeT >
size_t immer::detail::rbts::relaxed_pos< NodeT >::size ( count_t  offset) const
inline

◆ size_before()

◆ size_sbh()

template<typename NodeT >
size_t immer::detail::rbts::relaxed_pos< NodeT >::size_sbh ( count_t  offset,
size_t  size_before_hint 
) const
inline

◆ subindex()

template<typename NodeT >
count_t immer::detail::rbts::relaxed_pos< NodeT >::subindex ( size_t  idx) const
inline

◆ towards()

template<typename NodeT >
template<typename Visitor , typename... Args>
decltype(auto) immer::detail::rbts::relaxed_pos< NodeT >::towards ( Visitor  v,
size_t  idx,
Args &&...  args 
)
inline

◆ towards_oh()

template<typename NodeT >
template<typename Visitor , typename... Args>
decltype(auto) immer::detail::rbts::relaxed_pos< NodeT >::towards_oh ( Visitor  v,
size_t  idx,
count_t  offset_hint,
Args &&...  args 
)
inline

◆ towards_oh_sbh()

template<typename NodeT >
template<typename Visitor , typename... Args>
decltype(auto) immer::detail::rbts::relaxed_pos< NodeT >::towards_oh_sbh ( Visitor  v,
size_t  idx,
count_t  offset_hint,
size_t  left_size_hint,
Args &&...  args 
)
inline

◆ towards_sub_oh()

template<typename NodeT >
template<typename Visitor , typename... Args>
decltype(auto) immer::detail::rbts::relaxed_pos< NodeT >::towards_sub_oh ( Visitor  v,
size_t  idx,
count_t  offset_hint,
Args &&...  args 
)
inline

◆ towards_sub_oh_sbh()

◆ visit()

template<typename NodeT >
template<typename Visitor , typename ... Args>
decltype(auto) immer::detail::rbts::relaxed_pos< NodeT >::visit ( Visitor  v,
Args &&...  args 
)
inline

Definition at line 1673 of file position.hpp.

Member Data Documentation

◆ B

◆ BL

◆ node_

◆ relaxed_

template<typename NodeT >
relaxed_t* immer::detail::rbts::relaxed_pos< NodeT >::relaxed_

◆ shift_


The documentation for this struct was generated from the following file:
Released under the MIT license