Wire Sysio Wire Sysion 1.0.0
|
#include <undo_index.hpp>
Classes | |
struct | delta |
struct | node |
struct | old_node |
class | removed_nodes_tracker |
class | session |
struct | undo_state |
Public Types | |
using | id_type = std::decay_t<decltype(std::declval<T>().id)> |
using | value_type = T |
using | allocator_type = Allocator |
using | indices_type = std::tuple<set_impl<node, Indices>...> |
using | index0_set_type = std::tuple_element_t<0, indices_type> |
using | alloc_traits = typename std::allocator_traits<Allocator>::template rebind_traits<node> |
using | index0_type = boost::mp11::mp_first<boost::mp11::mp_list<Indices...>> |
using | id_pointer = id_type* |
using | pointer = value_type* |
using | const_iterator = typename index0_set_type::const_iterator |
Public Member Functions | |
undo_index ()=default | |
undo_index (const Allocator &a) | |
~undo_index () | |
void | validate () const |
template<typename Constructor > | |
const value_type & | emplace (Constructor &&c) |
template<typename Modifier > | |
void | modify (const value_type &obj, Modifier &&m) |
auto | track_removed () |
void | remove (const value_type &obj) noexcept |
template<typename CompatibleKey > | |
const value_type * | find (CompatibleKey &&key) const |
template<typename CompatibleKey > | |
const value_type & | get (CompatibleKey &&key) const |
void | remove_object (int64_t id) |
int64_t | revision () const |
session | start_undo_session (bool enabled) |
void | set_revision (uint64_t revision) |
std::pair< int64_t, int64_t > | undo_stack_revision_range () const |
void | commit (int64_t revision) noexcept |
const undo_index & | indices () const |
template<typename Tag > | |
const auto & | get () const |
template<int N> | |
const auto & | get () const |
std::size_t | size () const |
bool | empty () const |
template<typename Tag , typename Iter > | |
auto | project (Iter iter) const |
template<int N, typename Iter > | |
auto | project (Iter iter) const |
bool | has_undo_session () const |
delta | last_undo_session () const |
auto | begin () const |
auto | end () const |
void | undo_all () |
void | undo () noexcept |
void | squash () noexcept |
void | squash_fast () noexcept |
void | squash_and_compress () noexcept |
void | compress_last_undo_session () noexcept |
Static Public Attributes | |
static constexpr int | erased_flag = 2 |
Definition at line 235 of file undo_index.hpp.
using chainbase::undo_index< T, Allocator, Indices >::alloc_traits = typename std::allocator_traits<Allocator>::template rebind_traits<node> |
Definition at line 269 of file undo_index.hpp.
using chainbase::undo_index< T, Allocator, Indices >::allocator_type = Allocator |
Definition at line 239 of file undo_index.hpp.
using chainbase::undo_index< T, Allocator, Indices >::const_iterator = typename index0_set_type::const_iterator |
Definition at line 285 of file undo_index.hpp.
using chainbase::undo_index< T, Allocator, Indices >::id_pointer = id_type* |
Definition at line 283 of file undo_index.hpp.
using chainbase::undo_index< T, Allocator, Indices >::id_type = std::decay_t<decltype(std::declval<T>().id)> |
Definition at line 237 of file undo_index.hpp.
using chainbase::undo_index< T, Allocator, Indices >::index0_set_type = std::tuple_element_t<0, indices_type> |
Definition at line 268 of file undo_index.hpp.
using chainbase::undo_index< T, Allocator, Indices >::index0_type = boost::mp11::mp_first<boost::mp11::mp_list<Indices...>> |
Definition at line 273 of file undo_index.hpp.
using chainbase::undo_index< T, Allocator, Indices >::indices_type = std::tuple<set_impl<node, Indices>...> |
Definition at line 266 of file undo_index.hpp.
using chainbase::undo_index< T, Allocator, Indices >::pointer = value_type* |
Definition at line 284 of file undo_index.hpp.
using chainbase::undo_index< T, Allocator, Indices >::value_type = T |
Definition at line 238 of file undo_index.hpp.
|
default |
|
inlineexplicit |
Definition at line 244 of file undo_index.hpp.
|
inline |
Definition at line 245 of file undo_index.hpp.
|
inline |
Definition at line 600 of file undo_index.hpp.
|
inlinenoexcept |
Discards all undo history prior to revision
Definition at line 540 of file undo_index.hpp.
|
inlinenoexcept |
Definition at line 676 of file undo_index.hpp.
|
inline |
Definition at line 341 of file undo_index.hpp.
|
inline |
Definition at line 563 of file undo_index.hpp.
|
inline |
Definition at line 601 of file undo_index.hpp.
|
inline |
Definition at line 451 of file undo_index.hpp.
|
inline |
Definition at line 554 of file undo_index.hpp.
|
inline |
Definition at line 557 of file undo_index.hpp.
|
inline |
Definition at line 462 of file undo_index.hpp.
|
inline |
Definition at line 579 of file undo_index.hpp.
|
inline |
Definition at line 552 of file undo_index.hpp.
|
inline |
Definition at line 587 of file undo_index.hpp.
|
inline |
Definition at line 365 of file undo_index.hpp.
|
inline |
Definition at line 568 of file undo_index.hpp.
|
inline |
Definition at line 573 of file undo_index.hpp.
|
inlinenoexcept |
Definition at line 430 of file undo_index.hpp.
|
inline |
Definition at line 472 of file undo_index.hpp.
|
inline |
Definition at line 514 of file undo_index.hpp.
|
inline |
Definition at line 520 of file undo_index.hpp.
|
inline |
Definition at line 559 of file undo_index.hpp.
|
inlinenoexcept |
Definition at line 655 of file undo_index.hpp.
|
inlinenoexcept |
Definition at line 669 of file undo_index.hpp.
|
inlinenoexcept |
Definition at line 659 of file undo_index.hpp.
|
inline |
Definition at line 516 of file undo_index.hpp.
|
inline |
Definition at line 426 of file undo_index.hpp.
|
inlinenoexcept |
Definition at line 610 of file undo_index.hpp.
|
inline |
Definition at line 603 of file undo_index.hpp.
|
inline |
Definition at line 533 of file undo_index.hpp.
|
inline |
Definition at line 251 of file undo_index.hpp.
|
staticconstexpr |
Definition at line 264 of file undo_index.hpp.