Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

operations.hpp File Reference
#include <algorithm>
#include <memory>
#include <numeric>
#include <utility>
#include <immer/config.hpp>
#include <immer/heap/tags.hpp>
#include <immer/detail/util.hpp>
#include <immer/detail/rbts/position.hpp>
#include <immer/detail/rbts/visitor.hpp>
+ Include dependency graph for operations.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  immer::detail::rbts::array_for_visitor< T >
 
struct  immer::detail::rbts::region_for_visitor< T >
 
struct  immer::detail::rbts::get_visitor< T >
 
struct  immer::detail::rbts::for_each_chunk_visitor
 
struct  immer::detail::rbts::for_each_chunk_p_visitor
 
struct  immer::detail::rbts::for_each_chunk_left_visitor
 
struct  immer::detail::rbts::for_each_chunk_right_visitor
 
struct  immer::detail::rbts::for_each_chunk_i_visitor
 
struct  immer::detail::rbts::for_each_chunk_p_left_visitor
 
struct  immer::detail::rbts::for_each_chunk_p_right_visitor
 
struct  immer::detail::rbts::for_each_chunk_p_i_visitor
 
struct  immer::detail::rbts::equals_visitor
 
struct  immer::detail::rbts::equals_visitor::this_aux_t
 
struct  immer::detail::rbts::equals_visitor::rrb
 
struct  immer::detail::rbts::update_visitor< NodeT >
 
struct  immer::detail::rbts::dec_visitor
 
struct  immer::detail::rbts::get_mut_visitor< NodeT >
 
struct  immer::detail::rbts::push_tail_mut_visitor< NodeT, Mutating >
 
struct  immer::detail::rbts::push_tail_visitor< NodeT >
 
struct  immer::detail::rbts::dec_right_visitor
 
struct  immer::detail::rbts::slice_right_mut_visitor< NodeT, Collapse, Mutating >
 
struct  immer::detail::rbts::slice_right_visitor< NodeT, Collapse >
 
struct  immer::detail::rbts::dec_left_visitor
 
struct  immer::detail::rbts::slice_left_mut_visitor< NodeT, Collapse, Mutating >
 
struct  immer::detail::rbts::slice_left_visitor< NodeT, Collapse >
 
struct  immer::detail::rbts::concat_center_pos< Node >
 
struct  immer::detail::rbts::concat_merger< Node >
 
struct  immer::detail::rbts::concat_merger_visitor
 
struct  immer::detail::rbts::concat_rebalance_plan_fill_visitor
 
struct  immer::detail::rbts::concat_rebalance_plan< B, BL >
 
struct  immer::detail::rbts::concat_left_visitor< Node >
 
struct  immer::detail::rbts::concat_right_visitor< Node >
 
struct  immer::detail::rbts::concat_both_visitor< Node >
 
struct  immer::detail::rbts::concat_left_visitor< Node >
 
struct  immer::detail::rbts::concat_right_visitor< Node >
 
struct  immer::detail::rbts::concat_both_visitor< Node >
 
struct  immer::detail::rbts::concat_trees_right_visitor< Node >
 
struct  immer::detail::rbts::concat_trees_left_visitor< Node >
 
struct  immer::detail::rbts::concat_merger_mut< Node >
 
struct  immer::detail::rbts::concat_merger_mut_visitor
 
struct  immer::detail::rbts::concat_rebalance_plan_mut< B, BL >
 
struct  immer::detail::rbts::concat_left_mut_visitor< Node >
 
struct  immer::detail::rbts::concat_right_mut_visitor< Node >
 
struct  immer::detail::rbts::concat_both_mut_visitor< Node >
 
struct  immer::detail::rbts::concat_left_mut_visitor< Node >
 
struct  immer::detail::rbts::concat_right_mut_visitor< Node >
 
struct  immer::detail::rbts::concat_both_mut_visitor< Node >
 
struct  immer::detail::rbts::concat_trees_right_mut_visitor< Node >
 
struct  immer::detail::rbts::concat_trees_left_mut_visitor< Node >
 

Namespaces

 immer
 
 immer::detail
 
 immer::detail::rbts
 

Typedefs

template<typename Node >
using immer::detail::rbts::concat_center_mut_pos = concat_center_pos< Node >
 

Functions

template<typename NodeT >
void immer::detail::rbts::dec_leaf (NodeT *node, count_t n)
 
template<typename NodeT >
void immer::detail::rbts::dec_inner (NodeT *node, shift_t shift, size_t size)
 
template<typename NodeT >
void immer::detail::rbts::dec_relaxed (NodeT *node, shift_t shift)
 
template<typename NodeT >
void immer::detail::rbts::dec_regular (NodeT *node, shift_t shift, size_t size)
 
template<typename NodeT >
void immer::detail::rbts::dec_empty_regular (NodeT *node)
 
template<typename Node , typename LPos , typename CPos , typename RPos >
concat_center_pos< Node > immer::detail::rbts::concat_rebalance (LPos &&lpos, CPos &&cpos, RPos &&rpos)
 
template<typename Node , typename LPos , typename TPos , typename RPos >
concat_center_pos< Node > immer::detail::rbts::concat_leafs (LPos &&lpos, TPos &&tpos, RPos &&rpos)
 
template<typename Node , typename LPos , typename TPos , typename RPos >
concat_center_pos< Node > immer::detail::rbts::concat_inners (LPos &&lpos, TPos &&tpos, RPos &&rpos)
 
template<typename Node >
relaxed_pos< Node > immer::detail::rbts::concat_trees (Node *lroot, shift_t lshift, size_t lsize, Node *ltail, count_t ltcount, Node *rroot, shift_t rshift, size_t rsize)
 
template<typename Node >
relaxed_pos< Node > immer::detail::rbts::concat_trees (Node *ltail, count_t ltcount, Node *rroot, shift_t rshift, size_t rsize)
 
template<typename Node , typename LPos , typename CPos , typename RPos >
concat_center_pos< Node > immer::detail::rbts::concat_rebalance_mut (edit_type< Node > ec, edit_type< Node > el, LPos &&lpos, CPos &&cpos, edit_type< Node > er, RPos &&rpos)
 
template<typename Node , typename LPos , typename TPos , typename RPos >
concat_center_mut_pos< Node > immer::detail::rbts::concat_leafs_mut (edit_type< Node > ec, edit_type< Node > el, LPos &&lpos, TPos &&tpos, edit_type< Node > er, RPos &&rpos)
 
template<typename Node , typename LPos , typename TPos , typename RPos >
concat_center_mut_pos< Node > immer::detail::rbts::concat_inners_mut (edit_type< Node > ec, edit_type< Node > el, LPos &&lpos, TPos &&tpos, edit_type< Node > er, RPos &&rpos)
 
template<typename Node >
relaxed_pos< Node > immer::detail::rbts::concat_trees_mut (edit_type< Node > ec, edit_type< Node > el, Node *lroot, shift_t lshift, size_t lsize, Node *ltail, count_t ltcount, edit_type< Node > er, Node *rroot, shift_t rshift, size_t rsize)
 
template<typename Node >
relaxed_pos< Node > immer::detail::rbts::concat_trees_mut (edit_type< Node > ec, edit_type< Node > el, Node *ltail, count_t ltcount, edit_type< Node > er, Node *rroot, shift_t rshift, size_t rsize)
 
Released under the MIT license