Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
undo_index.hpp File Reference
#include <boost/multi_index_container_fwd.hpp>
#include <boost/intrusive/set.hpp>
#include <boost/intrusive/avltree.hpp>
#include <boost/intrusive/slist.hpp>
#include <boost/container/deque.hpp>
#include <boost/throw_exception.hpp>
#include <boost/mpl/fold.hpp>
#include <boost/mp11/list.hpp>
#include <boost/mp11/algorithm.hpp>
#include <boost/iterator/transform_iterator.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/core/demangle.hpp>
#include <boost/interprocess/interprocess_fwd.hpp>
#include <cassert>
#include <memory>
#include <type_traits>
#include <sstream>
Include dependency graph for undo_index.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  chainbase::scope_exit< F >
 
struct  chainbase::get_key< KeyExtractor, T >
 
struct  chainbase::value_holder< T >
 
struct  chainbase::offset_node_base< Tag >
 
struct  chainbase::offset_node_traits< Tag >
 
struct  chainbase::offset_node_value_traits< Node, Tag >
 
struct  chainbase::index_tag_impl< Index >
 
struct  chainbase::index_tag_impl< Index< boost::multi_index::tag< Tag >, T... > >
 
struct  chainbase::set_impl< Node, OrderedIndex >
 
class  chainbase::undo_index< T, Allocator, Indices >
 
struct  chainbase::undo_index< T, Allocator, Indices >::node
 
struct  chainbase::undo_index< T, Allocator, Indices >::old_node
 
struct  chainbase::undo_index< T, Allocator, Indices >::undo_state
 
class  chainbase::undo_index< T, Allocator, Indices >::removed_nodes_tracker
 
class  chainbase::undo_index< T, Allocator, Indices >::session
 
struct  chainbase::undo_index< T, Allocator, Indices >::delta
 
struct  chainbase::mi_to_ui_ii< T, boost::mp11::mp_list< I... >, A >
 
struct  chainbase::to_mp11
 
struct  chainbase::multi_index_to_undo_index_impl< boost::multi_index_container< T, I, A > >
 

Namespaces

namespace  chainbase
 

Typedefs

template<typename Allocator , typename T >
using chainbase::rebind_alloc_t = typename std::allocator_traits<Allocator>::template rebind_alloc<T>
 
template<typename Index >
using chainbase::index_tag = typename index_tag_impl<Index>::type
 
template<typename Tag , typename... Indices>
using chainbase::find_tag = boost::mp11::mp_find<boost::mp11::mp_list<index_tag<Indices>...>, Tag>
 
template<typename K , typename Allocator >
using chainbase::hook = offset_node_base<K>
 
template<typename Node , typename OrderedIndex >
using chainbase::set_base
 
template<typename Node , typename Tag >
using chainbase::list_base
 
template<typename MultiIndexContainer >
using chainbase::multi_index_to_undo_index = typename multi_index_to_undo_index_impl<MultiIndexContainer>::type
 

Functions

template<typename L , typename It , typename Pred , typename Disposer >
void chainbase::remove_if_after_and_dispose (L &l, It it, It end, Pred &&p, Disposer &&d)
 
template<template< typename > class A, typename T >
auto & chainbase::propagate_allocator (A< T > &a)
 
template<typename T , typename S >
auto & chainbase::propagate_allocator (boost::interprocess::allocator< T, S > &a)
 
template<typename T , typename S , std::size_t N>
auto chainbase::propagate_allocator (boost::interprocess::node_allocator< T, S, N > &a)
 
template<typename T , typename S , std::size_t N>
auto chainbase::propagate_allocator (boost::interprocess::private_node_allocator< T, S, N > &a)
 
template<typename T , typename S >
auto chainbase::propagate_allocator (chainbase::chainbase_node_allocator< T, S > &a)
 

Variables

template<typename OrderedIndex >
constexpr bool chainbase::is_valid_index = false