Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
position.hpp
Go to the documentation of this file.
1681 std::decay_t<Pos>>;
decltype(auto) visit(Visitor v, Args &&...args)
Definition: position.hpp:106
node_t * node() const
Definition: position.hpp:683
bool each_pred_regular(Pos &&p, Visitor v, Args &&... args)
Definition: position.hpp:324
bool each_pred_i_regular(Pos &&p, Visitor v, count_t f, count_t l, Args &&... args)
Definition: position.hpp:375
Definition: position.hpp:89
void each_left_regular(Pos &&p, Visitor v, count_t last, Args &&... args)
Definition: position.hpp:530
void each_left(Visitor v, count_t n, Args &&... args)
Definition: position.hpp:1495
count_t index(size_t idx) const
Definition: position.hpp:195
void each_right_regular(Pos &&p, Visitor v, count_t start, Args &&... args)
Definition: position.hpp:552
count_t index(size_t idx) const
Definition: position.hpp:1007
decltype(auto) first_sub_inner(Visitor v, Args &&... args)
Definition: position.hpp:903
size_t size() const
Definition: position.hpp:1776
decltype(auto) last_sub(Visitor v, Args &&... args)
Definition: position.hpp:1612
typename NodeT::relaxed_t relaxed_t
Definition: position.hpp:1307
decltype(auto) nth_sub_leaf(count_t idx, Visitor v, Args &&... args)
Definition: position.hpp:931
count_t subindex(size_t idx) const
Definition: position.hpp:103
void each(Visitor v, Args &&... args)
Definition: position.hpp:1080
size_t this_size() const
Definition: position.hpp:689
bool each_pred(Visitor v, Args &&... args)
Definition: position.hpp:1097
regular_sub_pos< NodeT > make_regular_sub_pos(NodeT *node, shift_t shift, size_t size)
Definition: position.hpp:950
void each(Visitor v, Args &&... args)
Definition: position.hpp:695
void each_sub(Visitor v, Args &&... args)
Definition: position.hpp:1487
decltype(auto) visit(Visitor v, Args &&...args)
Definition: position.hpp:1673
void each_i(Visitor v, count_t i, count_t n, Args &&... args)
Definition: position.hpp:1463
decltype(auto) first_sub_inner(Visitor v, Args &&... args)
Definition: position.hpp:1644
relaxed_pos< NodeT > make_relaxed_pos(NodeT *node, shift_t shift, typename NodeT::relaxed_t *relaxed)
Definition: position.hpp:1687
void each_left_sub(Visitor v, Args &&...args)
Definition: position.hpp:834
typename NodeT::relaxed_t relaxed_t
Definition: position.hpp:1721
decltype(auto) towards_oh(Visitor v, size_t idx, count_t offset_hint, Args &&... args)
Definition: position.hpp:1549
size_t size_before(count_t offset) const
Definition: position.hpp:736
shift_t shift() const
Definition: position.hpp:685
decltype(auto) first_sub_leaf(Visitor v, Args &&... args)
Definition: position.hpp:892
decltype(auto) towards(Visitor v, size_t idx, Args &&... args)
Definition: position.hpp:1545
count_t subindex(size_t idx) const
Definition: position.hpp:196
size_t size(count_t offset) const
Definition: position.hpp:1322
decltype(auto) towards_oh(Visitor v, size_t idx, count_t offset_hint, Args &&... args)
Definition: position.hpp:842
decltype(auto) visit(Visitor v, Args &&...args)
Definition: position.hpp:993
decltype(auto) last_sub(Visitor v, Args &&... args)
Definition: position.hpp:865
decltype(auto) nth_sub(count_t idx, Visitor v, Args &&... args)
Definition: position.hpp:914
void each_right(Visitor v, count_t start, Args &&... args)
Definition: position.hpp:260
decltype(auto) last_oh_regular(Pos &&p, Visitor v, count_t offset_hint, Args &&... args)
Definition: position.hpp:630
decltype(auto) towards_sub_oh(Visitor v, size_t idx, count_t offset_hint, Args &&...args)
Definition: position.hpp:855
decltype(auto) first_sub(Visitor v, Args &&... args)
Definition: position.hpp:1624
decltype(auto) first_sub(Visitor v, Args &&... args)
Definition: position.hpp:1240
void each_left(Visitor v, count_t last, Args &&... args)
Definition: position.hpp:1199
empty_regular_pos< NodeT > make_empty_regular_pos(NodeT *node)
Definition: position.hpp:58
void each_i(Visitor v, count_t i, count_t n, Args &&...args)
Definition: position.hpp:793
decltype(auto) visit(Visitor v, Args &&...args)
Definition: position.hpp:1286
decltype(auto) nth_sub(count_t offset, Visitor v, Args &&... args)
Definition: position.hpp:1653
typename NodeT::relaxed_t relaxed_t
Definition: position.hpp:1769
bool each_pred(Visitor v, Args &&... args)
Definition: position.hpp:236
count_t subindex(size_t idx) const
Definition: position.hpp:1316
decltype(auto) descend(Visitor v, size_t idx)
Definition: position.hpp:1746
void copy_sizes(count_t offset, count_t n, size_t init, size_t *sizes)
Definition: position.hpp:754
size_t size_sbh(count_t offset, size_t) const
Definition: position.hpp:1066
typename std::decay< Pos >::type::node_t node_type
Definition: position.hpp:29
bool each_pred_right(Visitor v, count_t start, Args &&... args)
Definition: position.hpp:248
bool each_pred(Visitor v, Args &&...args)
Definition: position.hpp:773
void each_right(Visitor v, count_t start, Args &&... args)
Definition: position.hpp:1195
full_pos< NodeT > make_full_pos(NodeT *node, shift_t shift)
Definition: position.hpp:1293
void each_right_sub(Visitor, Args &&...)
Definition: position.hpp:662
decltype(auto) visit(Visitor v, Args &&...args)
Definition: position.hpp:51
decltype(auto) nth_sub_leaf(count_t idx, Visitor v, Args &&... args)
Definition: position.hpp:1277
decltype(auto) last_oh(Visitor v, count_t offset_hint, Args &&... args)
Definition: position.hpp:861
decltype(auto) last_oh_csh(Visitor v, count_t offset_hint, size_t child_size_hint, Args &&... args)
Definition: position.hpp:1596
decltype(auto) towards_sub_oh_sbh(Visitor v, size_t idx, count_t offset_hint, size_t left_size_hint, Args &&... args)
Definition: position.hpp:1576
static constexpr auto B
Definition: position.hpp:675
bool each_pred(Visitor v, Args &&... args)
Definition: position.hpp:1358
void each_right_sub(Visitor v, Args &&... args)
Definition: position.hpp:1517
Definition: algorithm.hpp:15
void each_left(Visitor v, count_t n, Args &&... args)
Definition: position.hpp:264
leaf_pos< NodeT > make_leaf_pos(NodeT *node, size_t size)
Definition: position.hpp:113
decltype(auto) towards(Visitor v, size_t idx, Args &&... args)
Definition: position.hpp:838
bool each_pred_left(Visitor v, count_t last, Args &&...args)
Definition: position.hpp:789
decltype(auto) visit_regular_descent(NodeT *node, shift_t shift, Visitor v, size_t idx)
Definition: position.hpp:1025
shift_t shift() const
Definition: position.hpp:1006
decltype(auto) first_sub_leaf(Visitor v, Args &&... args)
Definition: position.hpp:1635
void each_sub(Visitor, Args &&...)
Definition: position.hpp:660
decltype(auto) visit(Visitor v, Args &&...args)
Definition: position.hpp:138
node_t * node_
Definition: position.hpp:1770
relaxed_t * relaxed_
Definition: position.hpp:1771
bool each_pred_i(Visitor v, count_t i, count_t n, Args &&...args)
Definition: position.hpp:781
void each(Visitor, Args &&...)
Definition: position.hpp:46
decltype(auto) visit_maybe_relaxed_descent(NodeT *node, shift_t shift, Visitor v, size_t idx)
Definition: position.hpp:1803
count_t count() const
Definition: position.hpp:1773
decltype(auto) last_oh(Visitor v, count_t offset_hint, Args &&... args)
Definition: position.hpp:291
count_t index(size_t idx) const
Definition: position.hpp:163
bool each_pred_zip_regular(Pos &&p, Visitor v, node_type< Pos > *other, Args &&... args)
Definition: position.hpp:348
bool each_pred_zip(Visitor v, node_t *other, Args &&... args)
Definition: position.hpp:1117
void each_right_sub(Visitor v, Args &&...args)
Definition: position.hpp:830
bool each_pred_left(Visitor v, count_t n, Args &&... args)
Definition: position.hpp:1411
NodeT node_t
Definition: position.hpp:1768
void each_i_regular(Pos &&p, Visitor v, count_t f, count_t l, Args &&... args)
Definition: position.hpp:486
full_leaf_pos< NodeT > make_full_leaf_pos(NodeT *node)
Definition: position.hpp:206
decltype(auto) towards(Visitor v, size_t idx, Args &&... args)
Definition: position.hpp:1203
void copy_sizes(count_t offset, count_t n, size_t init, size_t *sizes)
Definition: position.hpp:1069
bool each_pred_zip(Visitor v, node_t *other, Args &&... args)
Definition: position.hpp:240
node_t * node() const
Definition: position.hpp:1005
count_t subindex(size_t idx) const
Definition: position.hpp:1064
void each_right(Visitor v, count_t start, Args &&... args)
Definition: position.hpp:1521
count_t subindex(size_t idx) const
Definition: position.hpp:687
void each_i(Visitor v, count_t i, count_t n, Args &&... args)
Definition: position.hpp:1158
bool each_pred_right(Visitor v, count_t start, Args &&...args)
Definition: position.hpp:785
bool each_pred_zip(Visitor v, node_t *other, Args &&... args)
Definition: position.hpp:777
count_t index(size_t idx) const
Definition: position.hpp:1730
bool each_pred(Visitor, Args &&...)
Definition: position.hpp:48
size_t size(count_t offset)
Definition: position.hpp:690
void each_regular(Pos &&p, Visitor v, Args &&... args)
Definition: position.hpp:302
count_t index(size_t idx) const
Definition: position.hpp:734
bool each_pred_left_regular(Pos &&p, Visitor v, count_t last, Args &&... args)
Definition: position.hpp:426
regular_pos< NodeT > make_regular_pos(NodeT *node, shift_t shift, size_t size)
Definition: position.hpp:645
static constexpr auto BL
Definition: position.hpp:676
decltype(auto) towards_oh_sbh(Visitor v, size_t idx, count_t offset_hint, size_t left_size_hint, Args &&... args)
Definition: position.hpp:1559
decltype(auto) towards_oh_ch(Visitor v, size_t idx, count_t offset_hint, count_t count_hint, Args &&... args)
Definition: position.hpp:848
decltype(auto) towards_sub_oh(Visitor v, size_t idx, count_t offset_hint, Args &&... args)
Definition: position.hpp:1226
size_t size_before(count_t offset) const
Definition: position.hpp:688
decltype(auto) visit(Visitor v, Args &&...args)
Definition: position.hpp:75
decltype(auto) first_sub_inner(Visitor v, Args &&... args)
Definition: position.hpp:1258
bool each_pred_i(Visitor v, count_t i, count_t n, Args &&... args)
Definition: position.hpp:244
count_t subindex(size_t idx) const
Definition: position.hpp:228
leaf_descent_pos< NodeT > make_leaf_descent_pos(NodeT *node)
Definition: position.hpp:176
void each_i(Visitor v, count_t i, count_t n, Args &&... args)
Definition: position.hpp:256
void each_left_sub(Visitor v, Args &&... args)
Definition: position.hpp:1491
void each_right_sub(Visitor v, Args &&... args)
Definition: position.hpp:1191
decltype(auto) nth_sub(count_t idx, Visitor v, Args &&... args)
Definition: position.hpp:1266
count_t index(size_t idx) const
Definition: position.hpp:973
decltype(auto) first_sub_leaf(Visitor v, Args &&... args)
Definition: position.hpp:1250
void each(Visitor v, Args &&... args)
Definition: position.hpp:232
Definition: node.hpp:35
count_t index(size_t idx) const
Definition: position.hpp:686
decltype(auto) visit(Visitor v, Args &&...args)
Definition: position.hpp:169
bool each_pred_left(Visitor v, count_t n, Args &&... args)
Definition: position.hpp:252
Definition: position.hpp:213
void each_left_sub(Visitor v, Args &&... args)
Definition: position.hpp:1187
typename std::decay< Pos >::type::node_t::edit_t edit_type
Definition: position.hpp:32
bool each_pred_i(Visitor v, count_t i, count_t n, Args &&... args)
Definition: position.hpp:1138
shift_t shift() const
Definition: position.hpp:1775
bool each_pred_left(Visitor v, count_t last, Args &&... args)
Definition: position.hpp:1179
bool each_pred_right_regular(Pos &&p, Visitor v, count_t start, Args &&... args)
Definition: position.hpp:451
node_t * node() const
Definition: position.hpp:1774
decltype(auto) last_sub(Visitor v, Args &&... args)
Definition: position.hpp:698
void each_left_sub(Visitor, Args &&...)
Definition: position.hpp:664
bool each_pred_right(Visitor v, count_t start, Args &&... args)
Definition: position.hpp:1436
count_t subindex(size_t idx) const
Definition: position.hpp:735
decltype(auto) towards_sub_oh(Visitor v, size_t idx, count_t offset_hint, Args &&... args)
Definition: position.hpp:285
void each(Visitor v, Args &&...args)
Definition: position.hpp:769
bool each_pred_i(Visitor v, count_t i, count_t n, Args &&... args)
Definition: position.hpp:1384
count_t subindex(size_t idx) const
Definition: position.hpp:135
count_t count() const
Definition: position.hpp:682
void each_right(Visitor v, count_t start, Args &&...args)
Definition: position.hpp:797
decltype(auto) descend(Args &&...)
Definition: position.hpp:166
decltype(auto) nth_sub_leaf(count_t offset, Visitor v, Args &&... args)
Definition: position.hpp:1664
decltype(auto) visit(Visitor v, Args &&...args)
Definition: position.hpp:295
decltype(auto) visit(Visitor v, Args &&...args)
Definition: position.hpp:1759
decltype(auto) towards_sub_oh(Visitor v, size_t idx, count_t offset_hint, Args &&... args)
Definition: position.hpp:1566
decltype(auto) towards(Visitor v, size_t idx, Args &&... args)
Definition: position.hpp:268
count_t index(size_t idx) const
Definition: position.hpp:1778
empty_leaf_pos< NodeT > make_empty_leaf_pos(NodeT *node)
Definition: position.hpp:82
decltype(auto) visit(Visitor v, Args &&...args)
Definition: position.hpp:943
void each_sub(Visitor v, Args &&...args)
Definition: position.hpp:826
void each_sub(Visitor v, Args &&... args)
Definition: position.hpp:1183
size_t size_before(count_t offset) const
Definition: position.hpp:1067
void each_left_sub(Visitor v, Args &&... args)
Definition: position.hpp:693
node_t * node_
Definition: position.hpp:1003
void each(Visitor v, Args &&... args)
Definition: position.hpp:1354
decltype(auto) towards_oh(Visitor v, size_t idx, count_t offset_hint, Args &&... args)
Definition: position.hpp:1213
void each_right_sub_(Visitor v, count_t i, Args &&...args)
Definition: position.hpp:805
decltype(auto) towards_oh(Visitor v, size_t idx, count_t offset_hint, Args &&... args)
Definition: position.hpp:272
decltype(auto) visit(Visitor v, Args &&...args)
Definition: position.hpp:199
bool each_pred_right(Visitor v, count_t start, Args &&... args)
Definition: position.hpp:1175
decltype(auto) first_sub(Visitor v, Args &&... args)
Definition: position.hpp:877
decltype(auto) visit_maybe_relaxed_sub(NodeT *node, shift_t shift, size_t size, Visitor v, Args &&...args)
Definition: position.hpp:1698
void copy_sizes(count_t offset, count_t n, size_t init, size_t *sizes)
Definition: position.hpp:1338
leaf_sub_pos< NodeT > make_leaf_sub_pos(NodeT *node, count_t count)
Definition: position.hpp:145
void each_left(Visitor v, count_t last, Args &&...args)
Definition: position.hpp:801
size_t size_before(count_t offset) const
Definition: position.hpp:1319
std::is_same< relaxed_pos< typename std::decay_t< Pos >::node_t >, std::decay_t< Pos > > is_relaxed
Definition: position.hpp:1681
decltype(auto) towards_oh_ch(Visitor v, size_t idx, count_t offset_hint, count_t, Args &&... args)
Definition: position.hpp:1207
Definition: position.hpp:1050
decltype(auto) towards_oh_ch_regular(Pos &&p, Visitor v, size_t idx, count_t offset_hint, count_t count_hint, Args &&... args)
Definition: position.hpp:582
size_t size_sbh(count_t offset, size_t size_before_hint) const
Definition: position.hpp:1325
auto size_sbh(count_t offset, size_t size_before_hint)
Definition: position.hpp:746
decltype(auto) descend(Visitor v, size_t idx)
Definition: position.hpp:985
auto make_singleton_regular_sub_pos(NodeT *leaf, count_t count)
Definition: position.hpp:711
decltype(auto) towards_sub_oh_regular(Pos &&p, Visitor v, size_t idx, count_t offset_hint, Args &&... args)
Definition: position.hpp:604
decltype(auto) visit(Visitor v, Args &&...args)
Definition: position.hpp:704
decltype(auto) towards_oh_ch(Visitor v, size_t idx, count_t offset_hint, count_t count_hint, Args &&... args)
Definition: position.hpp:278
NodeT node_t
Definition: position.hpp:1002